mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-22 10:01:50 +00:00
1. reduce ByteCode size with remove loc
2. store ByteCodeLOC in ByteCodeBlock & lazy store loc 3. optimize builtin Array.prototype.splice 4. optimize Value::toNumberSlowCase 5. optimize arguments object Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
parent
30969cc0a3
commit
ef9e0ed699
11 changed files with 108 additions and 38 deletions
|
|
@ -19,7 +19,7 @@ Value Script::execute(ExecutionState& state, bool isEvalMode, bool needNewEnv, b
|
|||
ASSERT(programNode && programNode->type() == ASTNodeType::Program);
|
||||
|
||||
ByteCodeGenerator g;
|
||||
g.generateByteCode(state.context(), m_topCodeBlock, programNode, isEvalMode, isOnGlobal);
|
||||
m_topCodeBlock->m_byteCodeBlock = g.generateByteCode(state.context(), m_topCodeBlock, programNode, isEvalMode, isOnGlobal);
|
||||
|
||||
delete m_topCodeBlock->m_cachedASTNode;
|
||||
m_topCodeBlock->m_cachedASTNode = nullptr;
|
||||
|
|
@ -82,7 +82,7 @@ Value Script::executeLocal(ExecutionState& state, bool isEvalMode, bool needNewR
|
|||
ASSERT(programNode && programNode->type() == ASTNodeType::Program);
|
||||
|
||||
ByteCodeGenerator g;
|
||||
g.generateByteCode(state.context(), m_topCodeBlock, programNode, isEvalMode);
|
||||
m_topCodeBlock->m_byteCodeBlock = g.generateByteCode(state.context(), m_topCodeBlock, programNode, isEvalMode);
|
||||
|
||||
delete m_topCodeBlock->m_cachedASTNode;
|
||||
m_topCodeBlock->m_cachedASTNode = nullptr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue