|
Lines 1-5
a/Source/JavaScriptCore/ChangeLog_sec1
|
| 1 |
2011-12-16 Andy Wingo <wingo@igalia.com> |
1 |
2011-12-16 Andy Wingo <wingo@igalia.com> |
| 2 |
|
2 |
|
|
|
3 |
Remove the `value' argument to op_push_new_scope |
| 4 |
https://bugs.webkit.org/show_bug.cgi?id=74718 |
| 5 |
|
| 6 |
For exception scopes, instead of pushing a scope with a value |
| 7 |
already set in it, push a fresh scope and use op_put_scoped_var to |
| 8 |
bind the var. This will allow op_push_new_scope to be used for |
| 9 |
multi-variable scopes, like ES6 block scopes. |
| 10 |
|
| 11 |
Reviewed by NOBODY (OOPS!). |
| 12 |
|
| 13 |
* bytecode/CodeBlock.cpp (JSC::CodeBlock::dump): Update dump. |
| 14 |
* bytecode/Opcode.h: |
| 15 |
* bytecompiler/BytecodeGenerator.cpp: |
| 16 |
(JSC::BytecodeGenerator::emitPushBlockScope): Use the variant of |
| 17 |
JSStaticScope::clone that doesn't bind a variable. (The other one |
| 18 |
is used by named function expressions.) |
| 19 |
(JSC::BytecodeGenerator::emitInitializeBlockScopedLocal): New |
| 20 |
helper to initialize a variable known to be at the last-pushed |
| 21 |
block scope. |
| 22 |
* bytecompiler/BytecodeGenerator.h: Update declarations. |
| 23 |
* bytecompiler/NodesCodegen.cpp: |
| 24 |
(JSC::TryNode::emitBytecode): Use emitInitializeBlockScopedLocal |
| 25 |
to initialize exception var. |
| 26 |
* interpreter/Interpreter.cpp: |
| 27 |
(JSC::Interpreter::createExceptionScope): Simplify. |
| 28 |
(JSC::Interpreter::privateExecute): |
| 29 |
* jit/JITOpcodes.cpp: |
| 30 |
(JSC::JIT::emit_op_push_new_scope): |
| 31 |
* jit/JITOpcodes32_64.cpp: |
| 32 |
(JSC::JIT::emit_op_push_new_scope): |
| 33 |
* jit/JITStubs.cpp: |
| 34 |
(JSC::DEFINE_STUB_FUNCTION): Adapt to op_push_new_scope change. |
| 35 |
|
| 36 |
2011-12-16 Andy Wingo <wingo@igalia.com> |
| 37 |
|
| 3 |
Optimize access to block-scoped local variables |
38 |
Optimize access to block-scoped local variables |
| 4 |
https://bugs.webkit.org/show_bug.cgi?id=74708 |
39 |
https://bugs.webkit.org/show_bug.cgi?id=74708 |
| 5 |
|
40 |
|