diff --git a/src/runtime/FunctionObjectInlines.h b/src/runtime/FunctionObjectInlines.h index 0a06bfe1a..46b595b4e 100644 --- a/src/runtime/FunctionObjectInlines.h +++ b/src/runtime/FunctionObjectInlines.h @@ -102,6 +102,7 @@ class FunctionObjectProcessCallGenerator { } ByteCodeBlock* blk = codeBlock->byteCodeBlock(); + volatile ByteCodeBlock* rootedBlk = blk; Context* ctx = codeBlock->context(); bool isStrict = codeBlock->isStrict(); const size_t registerFileSize = blk->m_requiredTotalRegisterNumber; diff --git a/src/runtime/ScriptSimpleFunctionObject.h b/src/runtime/ScriptSimpleFunctionObject.h index 443d2580d..125bad171 100644 --- a/src/runtime/ScriptSimpleFunctionObject.h +++ b/src/runtime/ScriptSimpleFunctionObject.h @@ -60,6 +60,7 @@ class ScriptSimpleFunctionObject : public ScriptFunctionObject { } ByteCodeBlock* blk = codeBlock->byteCodeBlock(); + volatile ByteCodeBlock* rootedBlk = blk; Context* ctx = codeBlock->context(); const size_t registerSize = blk->m_requiredOperandRegisterNumber; const size_t programStart = reinterpret_cast(blk->m_code.data()); @@ -132,6 +133,7 @@ class ScriptSimpleFunctionObject : public ScriptFunctionObject { } ByteCodeBlock* blk = codeBlock->byteCodeBlock(); + volatile ByteCodeBlock* rootedBlk = blk; Context* ctx = codeBlock->context(); const size_t registerSize = blk->m_requiredOperandRegisterNumber;