Index: runtime/vm/parser.cc |
=================================================================== |
--- runtime/vm/parser.cc (revision 20045) |
+++ runtime/vm/parser.cc (working copy) |
@@ -158,10 +158,10 @@ |
// Compute start indices to parameters and locals, and the number of |
// parameters to copy. |
if (num_opt_params == 0) { |
- // Parameter i will be at fp[1 + num_params - i] and local variable |
- // j will be at fp[kFirstLocalSlotIndex - j]. |
+ // Parameter i will be at fp[kLastParamSlotIndex + num_params - 1 - i] and |
+ // local variable j will be at fp[kFirstLocalSlotIndex - j]. |
ASSERT(GetSavedArgumentsDescriptorVar() == NULL); |
- first_parameter_index_ = 1 + num_params; |
+ first_parameter_index_ = kLastParamSlotIndex + num_params - 1; |
zra
2013/03/14 21:14:20
It's a little surprising that the parser has to kn
regis
2013/03/14 21:32:22
Yes, indeed. Allocating variables was moved out of
|
first_stack_local_index_ = kFirstLocalSlotIndex; |
num_copied_params_ = 0; |
} else { |