mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-22 10:01:50 +00:00
Divide CodeBlock into NativeCodeBlock and InterpretedCodeBlock
* NativeCodeBlock is newly added for NativeFunctionObject * all interpreter-related info is moved into InterpretedCodeBlock Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
This commit is contained in:
parent
cd09ccbb07
commit
2fe9333814
45 changed files with 842 additions and 814 deletions
|
|
@ -37,7 +37,7 @@ namespace Escargot {
|
|||
|
||||
bool Script::isExecuted()
|
||||
{
|
||||
return m_topCodeBlock->m_byteCodeBlock == nullptr;
|
||||
return m_topCodeBlock->byteCodeBlock() == nullptr;
|
||||
}
|
||||
|
||||
Context* Script::context()
|
||||
|
|
@ -515,7 +515,7 @@ Value Script::executeLocal(ExecutionState& state, Value thisValue, InterpretedCo
|
|||
FunctionObject* callee = state.resolveCallee();
|
||||
if (fnRecord->hasBinding(newState, arguments).m_index == SIZE_MAX && callee->isScriptFunctionObject()) {
|
||||
// FIXME check if formal parameters does not contain a rest parameter, any binding patterns, or any initializers.
|
||||
bool isMapped = !callee->codeBlock()->hasParameterOtherThanIdentifier() && !inStrict;
|
||||
bool isMapped = !callee->codeBlock()->asInterpretedCodeBlock()->hasParameterOtherThanIdentifier() && !inStrict;
|
||||
callee->asScriptFunctionObject()->generateArgumentsObject(newState, state.argc(), state.argv(), fnRecord, nullptr, isMapped);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue