| Index: src/frames.cc
|
| ===================================================================
|
| --- src/frames.cc (revision 2164)
|
| +++ src/frames.cc (working copy)
|
| @@ -457,6 +457,13 @@
|
| }
|
|
|
|
|
| +void JavaScriptFrame::SetParameter(int index, Object* value) {
|
| + ASSERT(index >= 0 && index < ComputeParametersCount());
|
| + const int offset = JavaScriptFrameConstants::kParam0Offset;
|
| + Memory::Object_at(caller_sp() + offset - (index * kPointerSize)) = value;
|
| +}
|
| +
|
| +
|
| int JavaScriptFrame::ComputeParametersCount() const {
|
| Address base = caller_sp() + JavaScriptFrameConstants::kReceiverOffset;
|
| Address limit = fp() + JavaScriptFrameConstants::kSavedRegistersOffset;
|
| @@ -480,6 +487,13 @@
|
| }
|
|
|
|
|
| +Address JavaScriptFrame::GetParameterAddress(int n) const {
|
| + ASSERT(n >= 0 && n < ComputeParametersCount());
|
| + const int offset = JavaScriptFrameConstants::kParam0Offset;
|
| + return caller_sp() + offset - (n * kPointerSize);
|
| +}
|
| +
|
| +
|
| Code* ArgumentsAdaptorFrame::code() const {
|
| return Builtins::builtin(Builtins::ArgumentsAdaptorTrampoline);
|
| }
|
|
|