Ignore:
Timestamp:
Dec 16, 2009, 7:50:37 PM (15 years ago)
Author:
[email protected]
Message:

Fixed <rdar://problem/7355025> Interpreter::privateExecute macro generates
bloated code

Reviewed by Oliver Hunt.

This patch cuts Interpreter stack use by about a third.

  • bytecode/Opcode.h: Changed Opcode to const void* to work with the

const static initiliazation we want to do in Interpreter::privateExecute.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::Interpreter): Moved hashtable initialization here to
avoid polluting Interpreter::privateExecute's stack, and changed it from a
series of add() calls to one add() call in a loop, to cut down on code size.

(JSC::Interpreter::privateExecute): Changed a series of label computations
to a copy of a compile-time constant array to cut down on code size.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r52222 r52231  
    25672567                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
    25682568                        buildSettings = {
    2569                                 BUILD_VARIANTS = (
    2570                                         normal,
    2571                                 );
     2569                                BUILD_VARIANTS = normal;
    25722570                        };
    25732571                        name = Production;
Note: See TracChangeset for help on using the changeset viewer.