summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-07-14 15:49:56 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-07-14 15:49:56 (GMT)
commit8fd9cbc859346d758bb730e85c679635f00940df (patch)
treebc3b10d79a458933b1f481bd7e88d1a633e7bc1e /src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
parent65b788014759fa06d65d1677b3dbd5cc4b596f6b (diff)
parent06af27069497a693f5b1a867b29d96297f68eb75 (diff)
downloadQt-8fd9cbc859346d758bb730e85c679635f00940df.zip
Qt-8fd9cbc859346d758bb730e85c679635f00940df.tar.gz
Qt-8fd9cbc859346d758bb730e85c679635f00940df.tar.bz2
Merge branch 'qtwebkit-4.6-staging' into qtscript-jsc-backend
Conflicts: src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp src/script/qscriptecmafunction.cpp src/script/qscriptecmaglobal.cpp src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptenginefwd_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h tests/auto/qscriptqobject/tst_qscriptqobject.cpp
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
index a8a677e..75de082 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
@@ -124,26 +124,23 @@ namespace JSC {
setCalleeArguments(0);
}
- private:
- friend class Arguments;
- friend class JSActivation;
- friend class JSGlobalObject;
- friend class Interpreter;
- friend struct CallFrameClosure;
+ // Read a register from the codeframe (or constant from the CodeBlock).
+ inline Register& r(int);
+ static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
int returnValueRegister() const { return this[RegisterFile::ReturnValueRegister].i(); }
+ bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
+ CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
+ CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
+
+ private:
void setArgumentCount(int count) { this[RegisterFile::ArgumentCount] = count; }
void setCallee(JSObject* callee) { this[RegisterFile::Callee] = callee; }
void setCodeBlock(CodeBlock* codeBlock) { this[RegisterFile::CodeBlock] = codeBlock; }
static const intptr_t HostCallFrameFlag = 1;
- static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
- bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
- CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
- CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
-
ExecState();
~ExecState();
};