diff options
Diffstat (limited to 'Source/JavaScriptCore/runtime/ScopeChain.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/ScopeChain.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/Source/JavaScriptCore/runtime/ScopeChain.h b/Source/JavaScriptCore/runtime/ScopeChain.h index fbecd11..cb70a34 100644 --- a/Source/JavaScriptCore/runtime/ScopeChain.h +++ b/Source/JavaScriptCore/runtime/ScopeChain.h @@ -64,7 +64,7 @@ namespace JSC { void print(); #endif - static PassRefPtr<Structure> createStructure(JSValue proto) { return Structure::create(proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, 0); } + static PassRefPtr<Structure> createStructure(JSGlobalData& globalData, JSValue proto) { return Structure::create(globalData, proto, TypeInfo(CompoundType, StructureFlags), AnonymousSlotCount, 0); } virtual void markChildren(MarkStack&); private: static const unsigned StructureFlags = OverridesMarkChildren; @@ -100,7 +100,7 @@ namespace JSC { bool operator!=(const ScopeChainIterator& other) const { return m_node != other.m_node; } private: - DeprecatedPtr<ScopeChainNode> m_node; + ScopeChainNode* m_node; }; inline ScopeChainIterator ScopeChainNode::begin() @@ -128,6 +128,17 @@ namespace JSC { { return scopeChain()->globalThis.get(); } + + ALWAYS_INLINE ScopeChainNode* Register::scopeChain() const + { + return static_cast<ScopeChainNode*>(jsValue().asCell()); + } + + ALWAYS_INLINE Register& Register::operator=(ScopeChainNode* scopeChain) + { + *this = JSValue(scopeChain); + return *this; + } } // namespace JSC |