mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-22 10:01:50 +00:00
Fix a bug in virtual stack access
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
This commit is contained in:
parent
3dfdcb3afc
commit
4c5a226df4
2 changed files with 19 additions and 16 deletions
|
|
@ -179,6 +179,7 @@ ByteCodeBreakpointContext::ByteCodeBreakpointContext(Debugger* debugger, Interpr
|
|||
} else { \
|
||||
registerIndex = stackBaseWillBe + (registerIndex - stackBase); \
|
||||
} \
|
||||
ASSERT(registerIndex < block->m_requiredTotalRegisterNumber); \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
|
@ -228,11 +229,7 @@ ByteCodeBlock* ByteCodeGenerator::generateByteCode(Context* context, Interpreted
|
|||
block->m_code.shrinkToFit();
|
||||
}
|
||||
|
||||
if (ast->type() == ASTNodeType::Program) {
|
||||
block->m_requiredTotalRegisterNumber = block->m_requiredOperandRegisterNumber + 1 + codeBlock->lexicalBlockStackAllocatedIdentifierMaximumDepth() + block->m_numeralLiteralData.size();
|
||||
} else {
|
||||
block->m_requiredTotalRegisterNumber = block->m_requiredOperandRegisterNumber + codeBlock->totalStackAllocatedVariableSize() + block->m_numeralLiteralData.size();
|
||||
}
|
||||
block->m_requiredTotalRegisterNumber = block->m_requiredOperandRegisterNumber + codeBlock->totalStackAllocatedVariableSize() + block->m_numeralLiteralData.size();
|
||||
|
||||
#if defined(ENABLE_CODE_CACHE)
|
||||
// cache bytecode right before relocation
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue