Changeset 52231 in webkit for trunk/JavaScriptCore/bytecode


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
Note: See TracChangeset for help on using the changeset viewer.