diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
commit | 284837daa07b29d6a63a748544a90b1f5842ac5c (patch) | |
tree | ecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/JavaScriptCore/interpreter/CallFrame.h | |
parent | 2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff) | |
download | qtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz |
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/JavaScriptCore/interpreter/CallFrame.h')
-rw-r--r-- | Source/JavaScriptCore/interpreter/CallFrame.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/Source/JavaScriptCore/interpreter/CallFrame.h b/Source/JavaScriptCore/interpreter/CallFrame.h index ea98f6652..0db485214 100644 --- a/Source/JavaScriptCore/interpreter/CallFrame.h +++ b/Source/JavaScriptCore/interpreter/CallFrame.h @@ -33,7 +33,7 @@ namespace JSC { class Arguments; class JSActivation; class Interpreter; - class ScopeChainNode; + class JSScope; // Represents the current state of script execution. // Passed as the first argument to most functions. @@ -42,10 +42,10 @@ namespace JSC { JSValue calleeAsValue() const { return this[RegisterFile::Callee].jsValue(); } JSObject* callee() const { return this[RegisterFile::Callee].function(); } CodeBlock* codeBlock() const { return this[RegisterFile::CodeBlock].Register::codeBlock(); } - ScopeChainNode* scopeChain() const + JSScope* scope() const { - ASSERT(this[RegisterFile::ScopeChain].Register::scopeChain()); - return this[RegisterFile::ScopeChain].Register::scopeChain(); + ASSERT(this[RegisterFile::ScopeChain].Register::scope()); + return this[RegisterFile::ScopeChain].Register::scope(); } // Global object in which execution began. @@ -53,13 +53,13 @@ namespace JSC { // Global object in which the currently executing code was defined. // Differs from dynamicGlobalObject() during function calls across web browser frames. - inline JSGlobalObject* lexicalGlobalObject() const; + JSGlobalObject* lexicalGlobalObject() const; // Differs from lexicalGlobalObject because this will have DOM window shell rather than // the actual DOM window, which can't be "this" for security reasons. - inline JSObject* globalThisValue() const; + JSObject* globalThisValue() const; - inline JSGlobalData& globalData() const; + JSGlobalData& globalData() const; // Convenience functions for access to global data. // It takes a few memory references to get from a call frame to the global data @@ -103,7 +103,7 @@ namespace JSC { CallFrame& operator=(const Register& r) { *static_cast<Register*>(this) = r; return *this; } CallFrame* callerFrame() const { return this[RegisterFile::CallerFrame].callFrame(); } -#if ENABLE(JIT) +#if ENABLE(JIT) || ENABLE(LLINT) ReturnAddressPtr returnPC() const { return ReturnAddressPtr(this[RegisterFile::ReturnPC].vPC()); } bool hasReturnPC() const { return !!this[RegisterFile::ReturnPC].vPC(); } void clearReturnPC() { registers()[RegisterFile::ReturnPC] = static_cast<Instruction*>(0); } @@ -166,16 +166,16 @@ namespace JSC { #endif void setCallerFrame(CallFrame* callerFrame) { static_cast<Register*>(this)[RegisterFile::CallerFrame] = callerFrame; } - void setScopeChain(ScopeChainNode* scopeChain) { static_cast<Register*>(this)[RegisterFile::ScopeChain] = scopeChain; } + void setScope(JSScope* scope) { static_cast<Register*>(this)[RegisterFile::ScopeChain] = scope; } - ALWAYS_INLINE void init(CodeBlock* codeBlock, Instruction* vPC, ScopeChainNode* scopeChain, + ALWAYS_INLINE void init(CodeBlock* codeBlock, Instruction* vPC, JSScope* scope, CallFrame* callerFrame, int argc, JSObject* callee) { ASSERT(callerFrame); // Use noCaller() rather than 0 for the outer host call frame caller. ASSERT(callerFrame == noCaller() || callerFrame->removeHostCallFrameFlag()->registerFile()->end() >= this); setCodeBlock(codeBlock); - setScopeChain(scopeChain); + setScope(scope); setCallerFrame(callerFrame); setReturnPC(vPC); // This is either an Instruction* or a pointer into JIT generated code stored as an Instruction*. setArgumentCountIncludingThis(argc); // original argument count (for the sake of the "arguments" object) @@ -183,9 +183,9 @@ namespace JSC { } // Read a register from the codeframe (or constant from the CodeBlock). - inline Register& r(int); + Register& r(int); // Read a register for a non-constant - inline Register& uncheckedR(int); + Register& uncheckedR(int); // Access to arguments. size_t argumentCount() const { return argumentCountIncludingThis() - 1; } |