Index: vm/code_generator_ia32.cc |
=================================================================== |
--- vm/code_generator_ia32.cc (revision 8816) |
+++ vm/code_generator_ia32.cc (working copy) |
@@ -423,8 +423,9 @@ |
__ Bind(&argc_in_range); |
} |
} else { |
+ int implicit_this_param_pos = is_instance_native_closure ? -1 : 0; |
ASSERT(parsed_function_.first_parameter_index() == |
- ParsedFunction::kFirstLocalSlotIndex); |
+ (ParsedFunction::kFirstLocalSlotIndex + implicit_this_param_pos)); |
// Copy positional arguments. |
// Check that no fewer than num_fixed_params positional arguments are passed |
// in and that no more than num_params arguments are passed in. |
@@ -451,7 +452,6 @@ |
__ leal(EBX, Address(EBP, EBX, TIMES_2, 2 * kWordSize)); |
// Let EDI point to the last copied positional argument, i.e. to |
// fp[ParsedFunction::kFirstLocalSlotIndex - (num_pos_args - 1)]. |
- int implicit_this_param_pos = is_instance_native_closure ? -1 : 0; |
const int index = |
ParsedFunction::kFirstLocalSlotIndex + 1 + implicit_this_param_pos; |
// First copy captured receiver if function is an implicit native closure. |