diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-07-09 07:28:56 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-07-09 07:28:56 (GMT) |
commit | f2e0f336183e8001f946da5b7aa45b9367ed68ba (patch) | |
tree | 87cf5ab1b6e33fae823c52e9da11831a04375f47 /src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h | |
parent | a4e0ae8af7b550117d1e9d9dbb90564d50985fe3 (diff) | |
download | Qt-f2e0f336183e8001f946da5b7aa45b9367ed68ba.zip Qt-f2e0f336183e8001f946da5b7aa45b9367ed68ba.tar.gz Qt-f2e0f336183e8001f946da5b7aa45b9367ed68ba.tar.bz2 |
store frame's callee as a normal JSObject
It's possible for any JSObject to be a callee; all it needs to
do is implement getCallData().
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h index b1e6c4d..a8a677e 100644 --- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h +++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h @@ -37,7 +37,7 @@ namespace JSC { // Passed as the first argument to most functions. class ExecState : private Register { public: - InternalFunction* callee() const { return this[RegisterFile::Callee].function(); } + JSObject* callee() const { return this[RegisterFile::Callee].object(); } CodeBlock* codeBlock() const { return this[RegisterFile::CodeBlock].Register::codeBlock(); } ScopeChainNode* scopeChain() const { return this[RegisterFile::ScopeChain].Register::scopeChain(); } int argumentCount() const { return this[RegisterFile::ArgumentCount].i(); } @@ -110,7 +110,7 @@ namespace JSC { void setScopeChain(ScopeChainNode* scopeChain) { this[RegisterFile::ScopeChain] = scopeChain; } ALWAYS_INLINE void init(CodeBlock* codeBlock, Instruction* vPC, ScopeChainNode* scopeChain, - CallFrame* callerFrame, int returnValueRegister, int argc, InternalFunction* function) + CallFrame* callerFrame, int returnValueRegister, int argc, JSObject* callee) { ASSERT(callerFrame); // Use noCaller() rather than 0 for the outer host call frame caller. @@ -120,7 +120,7 @@ namespace JSC { this[RegisterFile::ReturnPC] = vPC; // This is either an Instruction* or a pointer into JIT generated code stored as an Instruction*. this[RegisterFile::ReturnValueRegister] = returnValueRegister; setArgumentCount(argc); // original argument count (for the sake of the "arguments" object) - setCallee(function); + setCallee(callee); setCalleeArguments(0); } @@ -134,7 +134,7 @@ namespace JSC { int returnValueRegister() const { return this[RegisterFile::ReturnValueRegister].i(); } void setArgumentCount(int count) { this[RegisterFile::ArgumentCount] = count; } - void setCallee(InternalFunction* callee) { this[RegisterFile::Callee] = callee; } + void setCallee(JSObject* callee) { this[RegisterFile::Callee] = callee; } void setCodeBlock(CodeBlock* codeBlock) { this[RegisterFile::CodeBlock] = codeBlock; } static const intptr_t HostCallFrameFlag = 1; |