Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 6af45d54faf08f83ad9295f9f35c5ee2816054dc..23467e9ff1c16f251b58e1bbe1f6b67ca180cfda 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_OBJECT, |
+ NEW_OBJECT_STRICT |
}; |
explicit ArgumentsAccessStub(Type type) : type_(type) { } |
@@ -669,6 +670,20 @@ class ArgumentsAccessStub: public CodeStub { |
void GenerateReadElement(MacroAssembler* masm); |
void GenerateNewObject(MacroAssembler* masm); |
+ int GetArgumentsBoilerplateIndex() const { |
+ return (type_ == NEW_OBJECT_STRICT) |
+ ? Context::ARGUMENTS_BOILERPLATE_STRICT_INDEX |
+ : Context::ARGUMENTS_BOILERPLATE_INDEX; |
+ } |
+ |
+ int GetArgumentsObjectSize() const { |
+ if (type_ == NEW_OBJECT_STRICT) { |
+ return Heap::kArgumentsObjectSizeStrict; |
+ } else { |
+ return Heap::kArgumentsObjectSize; |
+ } |
Martin Maly
2011/03/16 01:21:24
This is tragic. Using ?: results in linker not bei
Kevin Millikin (Chromium)
2011/03/16 09:48:41
It looks like it's declared in heap.h, but there i
Martin Maly
2011/03/16 22:22:25
Done. Thanks for the detailed info!
|
+ } |
+ |
const char* GetName() { return "ArgumentsAccessStub"; } |
#ifdef DEBUG |