mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-29 10:02:14 +00:00
1. reduce size of ByteCodeBlock, CodeBlock classes
2. optimize function calling performance - change local variable binding order (this, function name first) - revise opcode table init method 3. remove OpcodeTable::m_reverseTable 4. use shared thrower JSGetterSetter instance for arguments, function object 5. revise Function.prototype.toString for to print function's source Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
parent
abea619044
commit
b1cc608191
29 changed files with 378 additions and 359 deletions
|
|
@ -5682,8 +5682,9 @@ public:
|
|||
this->scopeContexts.back()->insertName(id->name());
|
||||
|
||||
pushScopeContext(params, id->name());
|
||||
extractNamesFromFunctionParams(params);
|
||||
|
||||
scopeContexts.back()->insertName(id->name());
|
||||
extractNamesFromFunctionParams(params);
|
||||
|
||||
bool previousStrict = this->context->strict;
|
||||
BlockStatementNode* body = this->parseFunctionSourceElements();
|
||||
|
|
@ -5748,11 +5749,13 @@ public:
|
|||
AtomicString fnName;
|
||||
if (id)
|
||||
fnName = id->name();
|
||||
|
||||
pushScopeContext(params, fnName);
|
||||
extractNamesFromFunctionParams(params);
|
||||
|
||||
if (id)
|
||||
scopeContexts.back()->insertName(fnName);
|
||||
|
||||
extractNamesFromFunctionParams(params);
|
||||
bool previousStrict = this->context->strict;
|
||||
BlockStatementNode* body = this->parseFunctionSourceElements();
|
||||
if (this->context->strict && firstRestricted) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue