Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 6af45d54faf08f83ad9295f9f35c5ee2816054dc..10b98eca959715158c24c97769354907b66467d1 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -654,7 +654,8 @@ class ArgumentsAccessStub: public CodeStub { |
public: |
enum Type { |
READ_ELEMENT, |
- NEW_OBJECT |
+ NEW_NON_STRICT, |
+ NEW_STRICT |
}; |
explicit ArgumentsAccessStub(Type type) : type_(type) { } |
@@ -669,6 +670,18 @@ class ArgumentsAccessStub: public CodeStub { |
void GenerateReadElement(MacroAssembler* masm); |
void GenerateNewObject(MacroAssembler* masm); |
+ int GetArgumentsBoilerplateIndex() const { |
+ return (type_ == NEW_STRICT) |
+ ? Context::STRICT_MODE_ARGUMENTS_BOILERPLATE_INDEX |
+ : Context::ARGUMENTS_BOILERPLATE_INDEX; |
+ } |
+ |
+ int GetArgumentsObjectSize() const { |
+ return (type_ == NEW_STRICT) |
+ ? Heap::kArgumentsObjectSizeStrict |
+ : Heap::kArgumentsObjectSize; |
+ } |
+ |
const char* GetName() { return "ArgumentsAccessStub"; } |
#ifdef DEBUG |