summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/interpreter/Register.h
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/interpreter/Register.h')
-rw-r--r--JavaScriptCore/interpreter/Register.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/JavaScriptCore/interpreter/Register.h b/JavaScriptCore/interpreter/Register.h
index 723112e..38d1647 100644
--- a/JavaScriptCore/interpreter/Register.h
+++ b/JavaScriptCore/interpreter/Register.h
@@ -39,7 +39,7 @@ namespace JSC {
class CodeBlock;
class ExecState;
class JSActivation;
- class JSFunction;
+ class JSObject;
class JSPropertyNameIterator;
class ScopeChainNode;
@@ -58,7 +58,6 @@ namespace JSC {
Register& operator=(JSActivation*);
Register& operator=(CallFrame*);
Register& operator=(CodeBlock*);
- Register& operator=(JSFunction*);
Register& operator=(JSPropertyNameIterator*);
Register& operator=(ScopeChainNode*);
Register& operator=(Instruction*);
@@ -67,7 +66,7 @@ namespace JSC {
JSActivation* activation() const;
CallFrame* callFrame() const;
CodeBlock* codeBlock() const;
- JSFunction* function() const;
+ JSObject* function() const;
JSPropertyNameIterator* propertyNameIterator() const;
ScopeChainNode* scopeChain() const;
Instruction* vPC() const;
@@ -79,6 +78,13 @@ namespace JSC {
return r;
}
+ static Register withCallee(JSObject* callee)
+ {
+ Register r;
+ r.u.function = callee;
+ return r;
+ }
+
private:
union {
int32_t i;
@@ -87,7 +93,7 @@ namespace JSC {
JSActivation* activation;
CallFrame* callFrame;
CodeBlock* codeBlock;
- JSFunction* function;
+ JSObject* function;
JSPropertyNameIterator* propertyNameIterator;
ScopeChainNode* scopeChain;
Instruction* vPC;
@@ -143,12 +149,6 @@ namespace JSC {
return *this;
}
- ALWAYS_INLINE Register& Register::operator=(JSFunction* function)
- {
- u.function = function;
- return *this;
- }
-
ALWAYS_INLINE Register& Register::operator=(Instruction* vPC)
{
u.vPC = vPC;
@@ -187,7 +187,7 @@ namespace JSC {
return u.codeBlock;
}
- ALWAYS_INLINE JSFunction* Register::function() const
+ ALWAYS_INLINE JSObject* Register::function() const
{
return u.function;
}