mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-22 10:01:50 +00:00
use indexed load/store for catch block partially
Signed-off-by: seonghyun kim <sh8281.kim@samsung.com>
This commit is contained in:
parent
08c380c01b
commit
389e767ae8
11 changed files with 113 additions and 25 deletions
|
|
@ -104,7 +104,7 @@ void ByteCodeInterpreter::interpret(ExecutionState& state, CodeBlock* codeBlock,
|
|||
upperEnv = upperEnv->outerEnvironment();
|
||||
}
|
||||
FunctionEnvironmentRecord* record = upperEnv->record()->asDeclarativeEnvironmentRecord()->asFunctionEnvironmentRecord();
|
||||
ASSERT(record->isFunctionEnvironmentRecordOnHeap());
|
||||
ASSERT(record->isFunctionEnvironmentRecordOnHeap() || record->isFunctionEnvironmentRecordNotIndexed());
|
||||
registerFile[code->m_registerIndex] = ((FunctionEnvironmentRecordOnHeap*)record)->m_heapStorage[code->m_index];
|
||||
ADD_PROGRAM_COUNTER(LoadByHeapIndex);
|
||||
NEXT_INSTRUCTION();
|
||||
|
|
@ -117,7 +117,7 @@ void ByteCodeInterpreter::interpret(ExecutionState& state, CodeBlock* codeBlock,
|
|||
upperEnv = upperEnv->outerEnvironment();
|
||||
}
|
||||
FunctionEnvironmentRecord* record = upperEnv->record()->asDeclarativeEnvironmentRecord()->asFunctionEnvironmentRecord();
|
||||
ASSERT(record->isFunctionEnvironmentRecordOnHeap());
|
||||
ASSERT(record->isFunctionEnvironmentRecordOnHeap() || record->isFunctionEnvironmentRecordNotIndexed());
|
||||
((FunctionEnvironmentRecordOnHeap*)record)->m_heapStorage[code->m_index] = registerFile[code->m_registerIndex];
|
||||
ADD_PROGRAM_COUNTER(StoreByHeapIndex);
|
||||
NEXT_INSTRUCTION();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue