| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index a2bc186d61a622b1f2f32aff6072c638360131b1..34423515e1e788ebe3abc77582d759a60b796831 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -8049,23 +8049,22 @@ static SmartArrayPointer<Handle<Object> > GetCallerArguments(
|
| if (functions.length() > 1) {
|
| int inlined_jsframe_index = functions.length() - 1;
|
| JSFunction* inlined_function = functions[inlined_jsframe_index];
|
| - Vector<SlotRef> args_slots =
|
| - SlotRef::ComputeSlotMappingForArguments(
|
| - frame,
|
| - inlined_jsframe_index,
|
| - inlined_function->shared()->formal_parameter_count());
|
| + SlotRefValueBuilder slot_refs(
|
| + frame,
|
| + inlined_jsframe_index,
|
| + inlined_function->shared()->formal_parameter_count());
|
|
|
| - int args_count = args_slots.length();
|
| + int args_count = slot_refs.args_length();
|
|
|
| *total_argc = prefix_argc + args_count;
|
| SmartArrayPointer<Handle<Object> > param_data(
|
| NewArray<Handle<Object> >(*total_argc));
|
| + slot_refs.Prepare(isolate);
|
| for (int i = 0; i < args_count; i++) {
|
| - Handle<Object> val = args_slots[i].GetValue(isolate);
|
| + Handle<Object> val = slot_refs.GetNext(isolate, 0);
|
| param_data[prefix_argc + i] = val;
|
| }
|
| -
|
| - args_slots.Dispose();
|
| + slot_refs.Finish(isolate);
|
|
|
| return param_data;
|
| } else {
|
|
|