diff options
Diffstat (limited to 'Source/JavaScriptCore/interpreter/CallFrameClosure.h')
-rw-r--r-- | Source/JavaScriptCore/interpreter/CallFrameClosure.h | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/Source/JavaScriptCore/interpreter/CallFrameClosure.h b/Source/JavaScriptCore/interpreter/CallFrameClosure.h index 7ae1e6fdf..2c03b7452 100644 --- a/Source/JavaScriptCore/interpreter/CallFrameClosure.h +++ b/Source/JavaScriptCore/interpreter/CallFrameClosure.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Apple Inc. All rights reserved. + * Copyright (C) 2009, 2013 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -26,11 +26,13 @@ #ifndef CallFrameClosure_h #define CallFrameClosure_h +#include "ProtoCallFrame.h" + namespace JSC { struct CallFrameClosure { CallFrame* oldCallFrame; - CallFrame* newCallFrame; + ProtoCallFrame* protoCallFrame; JSFunction* function; FunctionExecutable* functionExecutable; VM* vm; @@ -40,23 +42,12 @@ struct CallFrameClosure { void setThis(JSValue value) { - newCallFrame->setThisValue(value); + protoCallFrame->setThisValue(value); } void setArgument(int argument, JSValue value) { - newCallFrame->setArgument(argument, value); - } - - void resetCallFrame() - { - newCallFrame->setScope(scope); - // setArgument() takes an arg index that starts from 0 for the first - // argument after the 'this' value. Since both argumentCountIncludingThis - // and parameterCountIncludingThis includes the 'this' value, we need to - // subtract 1 from them to make i a valid argument index for setArgument(). - for (int i = argumentCountIncludingThis-1; i < parameterCountIncludingThis-1; ++i) - newCallFrame->setArgument(i, jsUndefined()); + protoCallFrame->setArgument(argument, value); } }; |