diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp')
-rw-r--r-- | Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp b/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp index 63f4657c9..e4d35471f 100644 --- a/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp +++ b/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp @@ -1387,9 +1387,11 @@ RegisterID* ConstDeclNode::emitCodeSingle(BytecodeGenerator& generator) RefPtr<RegisterID> value = m_init ? generator.emitNode(m_init) : generator.emitLoad(0, jsUndefined()); - if (resolveResult.isStatic()) + if (resolveResult.isStatic()) { + if (generator.codeType() == GlobalCode) + return generator.emitInitGlobalConst(resolveResult, m_ident, value.get()); return generator.emitPutStaticVar(resolveResult, m_ident, value.get()); - + } if (generator.codeType() != EvalCode) return value.get(); |