| Index: src/frames.h
|
| diff --git a/src/frames.h b/src/frames.h
|
| index d6307f09975db7e0ddc973173e98dbc8a74702ec..da9009be3020e6448e87733928660cf115e43fe6 100644
|
| --- a/src/frames.h
|
| +++ b/src/frames.h
|
| @@ -463,8 +463,11 @@ class JavaScriptFrame: public StandardFrame {
|
| inline void set_receiver(Object* value);
|
|
|
| // Access the parameters.
|
| - Object* GetParameter(int index) const;
|
| - int ComputeParametersCount() const;
|
| + inline Address GetParameterSlot(int index) const;
|
| + inline Object* GetParameter(int index) const;
|
| + inline int ComputeParametersCount() const {
|
| + return GetNumberOfIncomingArguments();
|
| + }
|
|
|
| // Check if this frame is a constructor frame invoked through 'new'.
|
| bool IsConstructor() const;
|
| @@ -502,6 +505,8 @@ class JavaScriptFrame: public StandardFrame {
|
|
|
| virtual Address GetCallerStackPointer() const;
|
|
|
| + virtual int GetNumberOfIncomingArguments() const;
|
| +
|
| // Garbage collection support. Iterates over incoming arguments,
|
| // receiver, and any callee-saved registers.
|
| void IterateArguments(ObjectVisitor* v) const;
|
| @@ -562,6 +567,10 @@ class ArgumentsAdaptorFrame: public JavaScriptFrame {
|
| explicit ArgumentsAdaptorFrame(StackFrameIterator* iterator)
|
| : JavaScriptFrame(iterator) { }
|
|
|
| + virtual int GetNumberOfIncomingArguments() const {
|
| + return Smi::cast(GetExpression(0))->value();
|
| + }
|
| +
|
| virtual Address GetCallerStackPointer() const;
|
|
|
| private:
|
|
|