| Index: runtime/vm/stub_code_x64.cc | 
| diff --git a/runtime/vm/stub_code_x64.cc b/runtime/vm/stub_code_x64.cc | 
| index f5692b7194e3b2155be320e620a413713476a187..9ca6a6e2b27e0ed5a5fe162117d3c8e209cd8f9f 100644 | 
| --- a/runtime/vm/stub_code_x64.cc | 
| +++ b/runtime/vm/stub_code_x64.cc | 
| @@ -23,8 +23,10 @@ | 
| namespace dart { | 
|  | 
| DEFINE_FLAG(bool, inline_alloc, true, "Inline allocation of objects."); | 
| -DEFINE_FLAG(bool, use_slow_path, false, | 
| -    "Set to true for debugging & verifying the slow paths."); | 
| +DEFINE_FLAG(bool, | 
| +            use_slow_path, | 
| +            false, | 
| +            "Set to true for debugging & verifying the slow paths."); | 
| DECLARE_FLAG(bool, trace_optimized_ic_calls); | 
|  | 
| // Input parameters: | 
| @@ -48,7 +50,8 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) { | 
| __ movq(Address(THR, Thread::top_exit_frame_info_offset()), RBP); | 
|  | 
| #if defined(DEBUG) | 
| -  { Label ok; | 
| +  { | 
| +    Label ok; | 
| // Check that we are always entering from Dart code. | 
| __ movq(RAX, Immediate(VMTag::kDartTagId)); | 
| __ cmpq(RAX, Assembler::VMTagAddress()); | 
| @@ -74,8 +77,8 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) { | 
| __ movq(Address(RSP, argc_tag_offset), R10);  // Set argc in NativeArguments. | 
| // Compute argv. | 
| __ leaq(RAX, Address(RBP, R10, TIMES_8, kParamEndSlotFromFp * kWordSize)); | 
| -  __ movq(Address(RSP, argv_offset), RAX);  // Set argv in NativeArguments. | 
| -  __ addq(RAX, Immediate(1 * kWordSize));  // Retval is next to 1st argument. | 
| +  __ movq(Address(RSP, argv_offset), RAX);    // Set argv in NativeArguments. | 
| +  __ addq(RAX, Immediate(1 * kWordSize));     // Retval is next to 1st argument. | 
| __ movq(Address(RSP, retval_offset), RAX);  // Set retval in NativeArguments. | 
| #if defined(_WIN64) | 
| ASSERT(sizeof(NativeArguments) > CallingConventions::kRegisterTransferLimit); | 
| @@ -107,7 +110,7 @@ END_LEAF_RUNTIME_ENTRY | 
| // Must preserve all registers. | 
| void StubCode::GeneratePrintStopMessageStub(Assembler* assembler) { | 
| __ EnterCallRuntimeFrame(0); | 
| -  // Call the runtime leaf function. RDI already contains the parameter. | 
| +// Call the runtime leaf function. RDI already contains the parameter. | 
| #if defined(_WIN64) | 
| __ movq(CallingConventions::kArg1Reg, RDI); | 
| #endif | 
| @@ -141,7 +144,8 @@ void StubCode::GenerateCallNativeCFunctionStub(Assembler* assembler) { | 
| __ movq(Address(THR, Thread::top_exit_frame_info_offset()), RBP); | 
|  | 
| #if defined(DEBUG) | 
| -  { Label ok; | 
| +  { | 
| +    Label ok; | 
| // Check that we are always entering from Dart code. | 
| __ movq(R8, Immediate(VMTag::kDartTagId)); | 
| __ cmpq(R8, Assembler::VMTagAddress()); | 
| @@ -163,10 +167,10 @@ void StubCode::GenerateCallNativeCFunctionStub(Assembler* assembler) { | 
| } | 
|  | 
| // Pass NativeArguments structure by value and call native function. | 
| -  __ movq(Address(RSP, thread_offset), THR);  // Set thread in NativeArgs. | 
| +  __ movq(Address(RSP, thread_offset), THR);    // Set thread in NativeArgs. | 
| __ movq(Address(RSP, argc_tag_offset), R10);  // Set argc in NativeArguments. | 
| -  __ movq(Address(RSP, argv_offset), RAX);  // Set argv in NativeArguments. | 
| -  __ leaq(RAX, Address(RBP, 2 * kWordSize));  // Compute return value addr. | 
| +  __ movq(Address(RSP, argv_offset), RAX);      // Set argv in NativeArguments. | 
| +  __ leaq(RAX, Address(RBP, 2 * kWordSize));    // Compute return value addr. | 
| __ movq(Address(RSP, retval_offset), RAX);  // Set retval in NativeArguments. | 
|  | 
| // Pass the pointer to the NativeArguments. | 
| @@ -212,7 +216,8 @@ void StubCode::GenerateCallBootstrapCFunctionStub(Assembler* assembler) { | 
| __ movq(Address(THR, Thread::top_exit_frame_info_offset()), RBP); | 
|  | 
| #if defined(DEBUG) | 
| -  { Label ok; | 
| +  { | 
| +    Label ok; | 
| // Check that we are always entering from Dart code. | 
| __ movq(R8, Immediate(VMTag::kDartTagId)); | 
| __ cmpq(R8, Assembler::VMTagAddress()); | 
| @@ -234,10 +239,10 @@ void StubCode::GenerateCallBootstrapCFunctionStub(Assembler* assembler) { | 
| } | 
|  | 
| // Pass NativeArguments structure by value and call native function. | 
| -  __ movq(Address(RSP, thread_offset), THR);  // Set thread in NativeArgs. | 
| +  __ movq(Address(RSP, thread_offset), THR);    // Set thread in NativeArgs. | 
| __ movq(Address(RSP, argc_tag_offset), R10);  // Set argc in NativeArguments. | 
| -  __ movq(Address(RSP, argv_offset), RAX);  // Set argv in NativeArguments. | 
| -  __ leaq(RAX, Address(RBP, 2 * kWordSize));  // Compute return value addr. | 
| +  __ movq(Address(RSP, argv_offset), RAX);      // Set argv in NativeArguments. | 
| +  __ leaq(RAX, Address(RBP, 2 * kWordSize));    // Compute return value addr. | 
| __ movq(Address(RSP, retval_offset), RAX);  // Set retval in NativeArguments. | 
|  | 
| // Pass the pointer to the NativeArguments. | 
| @@ -264,7 +269,7 @@ void StubCode::GenerateCallStaticFunctionStub(Assembler* assembler) { | 
| __ pushq(Immediate(0)); | 
| __ CallRuntime(kPatchStaticCallRuntimeEntry, 0); | 
| __ popq(CODE_REG);  // Get Code object result. | 
| -  __ popq(R10);  // Restore arguments descriptor array. | 
| +  __ popq(R10);       // Restore arguments descriptor array. | 
| // Remove the stub frame as we are about to jump to the dart function. | 
| __ LeaveStubFrame(); | 
|  | 
| @@ -287,7 +292,7 @@ void StubCode::GenerateFixCallersTargetStub(Assembler* assembler) { | 
| __ pushq(Immediate(0)); | 
| __ CallRuntime(kFixCallersTargetRuntimeEntry, 0); | 
| __ popq(CODE_REG);  // Get Code object. | 
| -  __ popq(R10);  // Restore arguments descriptor array. | 
| +  __ popq(R10);       // Restore arguments descriptor array. | 
| __ movq(RAX, FieldAddress(CODE_REG, Code::entry_point_offset())); | 
| __ LeaveStubFrame(); | 
| __ jmp(RAX); | 
| @@ -412,8 +417,8 @@ static void GenerateDeoptimizationSequence(Assembler* assembler, | 
|  | 
| // Pass address of saved registers block. | 
| __ movq(CallingConventions::kArg1Reg, RSP); | 
| -  bool is_lazy = (kind == kLazyDeoptFromReturn) || | 
| -                 (kind == kLazyDeoptFromThrow); | 
| +  bool is_lazy = | 
| +      (kind == kLazyDeoptFromReturn) || (kind == kLazyDeoptFromThrow); | 
| __ movq(CallingConventions::kArg2Reg, Immediate(is_lazy ? 1 : 0)); | 
| __ ReserveAlignedFrameSpace(0);  // Ensure stack is aligned before the call. | 
| __ CallRuntime(kDeoptimizeCopyFrameRuntimeEntry, 2); | 
| @@ -432,10 +437,10 @@ static void GenerateDeoptimizationSequence(Assembler* assembler, | 
| __ RestoreCodePointer(); | 
| __ LeaveStubFrame(); | 
|  | 
| -  __ popq(RCX);   // Preserve return address. | 
| +  __ popq(RCX);       // Preserve return address. | 
| __ movq(RSP, RBP);  // Discard optimized frame. | 
| __ subq(RSP, RAX);  // Reserve space for deoptimized frame. | 
| -  __ pushq(RCX);  // Restore return address. | 
| +  __ pushq(RCX);      // Restore return address. | 
|  | 
| // DeoptimizeFillFrame expects a Dart frame, i.e. EnterDartFrame(0), but there | 
| // is no need to set the correct PC marker or load PP, since they get patched. | 
| @@ -490,9 +495,9 @@ static void GenerateDeoptimizationSequence(Assembler* assembler, | 
| } | 
| __ LeaveStubFrame(); | 
|  | 
| -  __ popq(RCX);  // Pop return address. | 
| +  __ popq(RCX);       // Pop return address. | 
| __ addq(RSP, RBX);  // Remove materialization arguments. | 
| -  __ pushq(RCX);  // Push return address. | 
| +  __ pushq(RCX);      // Push return address. | 
| __ ret(); | 
| } | 
|  | 
| @@ -535,12 +540,12 @@ static void GenerateDispatcherCode(Assembler* assembler, | 
| __ EnterStubFrame(); | 
| // Load the receiver. | 
| __ movq(RDI, FieldAddress(R10, ArgumentsDescriptor::count_offset())); | 
| -  __ movq(RAX, Address( | 
| -      RBP, RDI, TIMES_HALF_WORD_SIZE, kParamEndSlotFromFp * kWordSize)); | 
| +  __ movq(RAX, Address(RBP, RDI, TIMES_HALF_WORD_SIZE, | 
| +                       kParamEndSlotFromFp * kWordSize)); | 
| __ pushq(Immediate(0));  // Setup space on stack for result. | 
| -  __ pushq(RAX);  // Receiver. | 
| -  __ pushq(RBX);  // ICData/MegamorphicCache. | 
| -  __ pushq(R10);  // Arguments descriptor array. | 
| +  __ pushq(RAX);           // Receiver. | 
| +  __ pushq(RBX);           // ICData/MegamorphicCache. | 
| +  __ pushq(R10);           // Arguments descriptor array. | 
| __ movq(R10, RDI); | 
| // EDX: Smi-tagged arguments array length. | 
| PushArgumentsArray(assembler); | 
| @@ -560,8 +565,8 @@ void StubCode::GenerateMegamorphicMissStub(Assembler* assembler) { | 
| __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset())); | 
| // Three words (saved pp, saved fp, stub's pc marker) | 
| // in the stack above the return address. | 
| -  __ movq(RAX, Address(RSP, RAX, TIMES_4, | 
| -                       kSavedAboveReturnAddress * kWordSize)); | 
| +  __ movq(RAX, | 
| +          Address(RSP, RAX, TIMES_4, kSavedAboveReturnAddress * kWordSize)); | 
| // Preserve IC data and arguments descriptor. | 
| __ pushq(RBX); | 
| __ pushq(R10); | 
| @@ -620,9 +625,8 @@ void StubCode::GenerateAllocateArrayStub(Assembler* assembler) { | 
| __ j(GREATER, &slow_case); | 
|  | 
| // Check for allocation tracing. | 
| -  NOT_IN_PRODUCT(__ MaybeTraceAllocation(kArrayCid, | 
| -                                         &slow_case, | 
| -                                         Assembler::kFarJump)); | 
| +  NOT_IN_PRODUCT( | 
| +      __ MaybeTraceAllocation(kArrayCid, &slow_case, Assembler::kFarJump)); | 
|  | 
| const intptr_t fixed_size = sizeof(RawArray) + kObjectAlignment - 1; | 
| __ leaq(RDI, Address(RDI, TIMES_4, fixed_size));  // RDI is a Smi. | 
| @@ -674,13 +678,11 @@ void StubCode::GenerateAllocateArrayStub(Assembler* assembler) { | 
| // RAX: new object start as a tagged pointer. | 
| // Store the type argument field. | 
| // No generetional barrier needed, since we store into a new object. | 
| -  __ StoreIntoObjectNoBarrier(RAX, | 
| -                              FieldAddress(RAX, Array::type_arguments_offset()), | 
| -                              RBX); | 
| +  __ StoreIntoObjectNoBarrier( | 
| +      RAX, FieldAddress(RAX, Array::type_arguments_offset()), RBX); | 
|  | 
| // Set the length field. | 
| -  __ StoreIntoObjectNoBarrier(RAX, | 
| -                              FieldAddress(RAX, Array::length_offset()), | 
| +  __ StoreIntoObjectNoBarrier(RAX, FieldAddress(RAX, Array::length_offset()), | 
| R10); | 
|  | 
| // Initialize all array elements to raw_null. | 
| @@ -738,9 +740,9 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { | 
| __ EnterFrame(0); | 
|  | 
| const Register kTargetCodeReg = CallingConventions::kArg1Reg; | 
| -  const Register kArgDescReg    = CallingConventions::kArg2Reg; | 
| -  const Register kArgsReg       = CallingConventions::kArg3Reg; | 
| -  const Register kThreadReg     = CallingConventions::kArg4Reg; | 
| +  const Register kArgDescReg = CallingConventions::kArg2Reg; | 
| +  const Register kArgsReg = CallingConventions::kArg3Reg; | 
| +  const Register kThreadReg = CallingConventions::kArg4Reg; | 
|  | 
| // Push code object to PC marker slot. | 
| __ pushq(Address(kThreadReg, Thread::invoke_dart_code_stub_offset())); | 
| @@ -752,7 +754,7 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { | 
|  | 
| const intptr_t kInitialOffset = 2; | 
| // Save arguments descriptor array. | 
| -  const intptr_t kArgumentsDescOffset = -(kInitialOffset) * kWordSize; | 
| +  const intptr_t kArgumentsDescOffset = -(kInitialOffset)*kWordSize; | 
| __ pushq(kArgDescReg); | 
|  | 
| // Save C++ ABI callee-saved registers. | 
| @@ -778,8 +780,7 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { | 
| // StackFrameIterator reads the top exit frame info saved in this frame. | 
| __ movq(RAX, Address(THR, Thread::top_resource_offset())); | 
| __ pushq(RAX); | 
| -  __ movq(Address(THR, Thread::top_resource_offset()), | 
| -          Immediate(0)); | 
| +  __ movq(Address(THR, Thread::top_resource_offset()), Immediate(0)); | 
| __ movq(RAX, Address(THR, Thread::top_exit_frame_info_offset())); | 
| // The constant kExitLinkSlotFromEntryFp must be kept in sync with the | 
| // code below. | 
| @@ -795,8 +796,7 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) { | 
| } | 
| #endif | 
|  | 
| -  __ movq(Address(THR, Thread::top_exit_frame_info_offset()), | 
| -          Immediate(0)); | 
| +  __ movq(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); | 
|  | 
| // Load arguments descriptor array into R10, which is passed to Dart code. | 
| __ movq(R10, Address(kArgDescReg, VMHandles::kOffsetOfRawPtrInHandle)); | 
| @@ -875,9 +875,8 @@ void StubCode::GenerateAllocateContextStub(Assembler* assembler) { | 
| __ andq(R13, Immediate(-kObjectAlignment)); | 
|  | 
| // Check for allocation tracing. | 
| -    NOT_IN_PRODUCT(__ MaybeTraceAllocation(kContextCid, | 
| -                                           &slow_case, | 
| -                                           Assembler::kFarJump)); | 
| +    NOT_IN_PRODUCT( | 
| +        __ MaybeTraceAllocation(kContextCid, &slow_case, Assembler::kFarJump)); | 
|  | 
| // Now allocate the object. | 
| // R10: number of context variables. | 
| @@ -931,8 +930,7 @@ void StubCode::GenerateAllocateContextStub(Assembler* assembler) { | 
| // RAX: new object. | 
| // R10: number of context variables. | 
| // R13: size and bit tags. | 
| -      __ orq(R13, | 
| -             Immediate(RawObject::ClassIdTag::encode(cid))); | 
| +      __ orq(R13, Immediate(RawObject::ClassIdTag::encode(cid))); | 
| __ movq(FieldAddress(RAX, Context::tags_offset()), R13);  // Tags. | 
| } | 
|  | 
| @@ -945,9 +943,8 @@ void StubCode::GenerateAllocateContextStub(Assembler* assembler) { | 
| // RAX: new object. | 
| // R10: number of context variables. | 
| // No generational barrier needed, since we are storing null. | 
| -    __ StoreIntoObjectNoBarrier(RAX, | 
| -                                FieldAddress(RAX, Context::parent_offset()), | 
| -                                R9); | 
| +    __ StoreIntoObjectNoBarrier( | 
| +        RAX, FieldAddress(RAX, Context::parent_offset()), R9); | 
|  | 
| // Initialize the context variables. | 
| // RAX: new object. | 
| @@ -964,9 +961,7 @@ void StubCode::GenerateAllocateContextStub(Assembler* assembler) { | 
| __ Bind(&loop); | 
| __ decq(R10); | 
| // No generational barrier needed, since we are storing null. | 
| -      __ StoreIntoObjectNoBarrier(RAX, | 
| -                                  Address(R13, R10, TIMES_8, 0), | 
| -                                  R9); | 
| +      __ StoreIntoObjectNoBarrier(RAX, Address(R13, R10, TIMES_8, 0), R9); | 
| __ Bind(&entry); | 
| __ cmpq(R10, Immediate(0)); | 
| __ j(NOT_EQUAL, &loop, Assembler::kNearJump); | 
| @@ -1123,11 +1118,8 @@ void StubCode::GenerateAllocationStubForClass(Assembler* assembler, | 
| // Check if the object contains any non-header fields. | 
| // Small objects are initialized using a consecutive set of writes. | 
| for (intptr_t current_offset = Instance::NextFieldOffset(); | 
| -           current_offset < instance_size; | 
| -           current_offset += kWordSize) { | 
| -        __ StoreIntoObjectNoBarrier(RAX, | 
| -                                    FieldAddress(RAX, current_offset), | 
| -                                    R9); | 
| +           current_offset < instance_size; current_offset += kWordSize) { | 
| +        __ StoreIntoObjectNoBarrier(RAX, FieldAddress(RAX, current_offset), R9); | 
| } | 
| } else { | 
| __ leaq(RCX, FieldAddress(RAX, Instance::NextFieldOffset())); | 
| @@ -1168,8 +1160,8 @@ void StubCode::GenerateAllocationStubForClass(Assembler* assembler, | 
| // RDX: new object type arguments. | 
| // Create a stub frame. | 
| __ EnterStubFrame();  // Uses PP to access class object. | 
| -  __ pushq(R9);  // Setup space on stack for return value. | 
| -  __ PushObject(cls);  // Push class of object to be allocated. | 
| +  __ pushq(R9);         // Setup space on stack for return value. | 
| +  __ PushObject(cls);   // Push class of object to be allocated. | 
| if (is_cls_parameterized) { | 
| __ pushq(RDX);  // Push type arguments of object to be allocated. | 
| } else { | 
| @@ -1201,8 +1193,8 @@ void StubCode::GenerateCallClosureNoSuchMethodStub(Assembler* assembler) { | 
| __ movq(RAX, Address(RBP, R13, TIMES_4, kParamEndSlotFromFp * kWordSize)); | 
|  | 
| __ pushq(Immediate(0));  // Result slot. | 
| -  __ pushq(RAX);  // Receiver. | 
| -  __ pushq(R10);  // Arguments descriptor array. | 
| +  __ pushq(RAX);           // Receiver. | 
| +  __ pushq(R10);           // Arguments descriptor array. | 
|  | 
| __ movq(R10, R13);  // Smi-tagged arguments array length. | 
| PushArgumentsArray(assembler); | 
| @@ -1221,15 +1213,15 @@ void StubCode::GenerateOptimizedUsageCounterIncrement(Assembler* assembler) { | 
| Register func_reg = RDI; | 
| if (FLAG_trace_optimized_ic_calls) { | 
| __ EnterStubFrame(); | 
| -    __ pushq(func_reg);     // Preserve | 
| -    __ pushq(ic_reg);       // Preserve. | 
| -    __ pushq(ic_reg);       // Argument. | 
| -    __ pushq(func_reg);     // Argument. | 
| +    __ pushq(func_reg);  // Preserve | 
| +    __ pushq(ic_reg);    // Preserve. | 
| +    __ pushq(ic_reg);    // Argument. | 
| +    __ pushq(func_reg);  // Argument. | 
| __ CallRuntime(kTraceICCallRuntimeEntry, 2); | 
| -    __ popq(RAX);          // Discard argument; | 
| -    __ popq(RAX);          // Discard argument; | 
| -    __ popq(ic_reg);       // Restore. | 
| -    __ popq(func_reg);     // Restore. | 
| +    __ popq(RAX);       // Discard argument; | 
| +    __ popq(RAX);       // Discard argument; | 
| +    __ popq(ic_reg);    // Restore. | 
| +    __ popq(func_reg);  // Restore. | 
| __ LeaveStubFrame(); | 
| } | 
| __ incl(FieldAddress(func_reg, Function::usage_counter_offset())); | 
| @@ -1260,8 +1252,8 @@ static void EmitFastSmiOp(Assembler* assembler, | 
| Label* not_smi_or_overflow) { | 
| __ Comment("Fast Smi op"); | 
| ASSERT(num_args == 2); | 
| -  __ movq(RCX, Address(RSP, + 1 * kWordSize));  // Right | 
| -  __ movq(RAX, Address(RSP, + 2 * kWordSize));  // Left. | 
| +  __ movq(RCX, Address(RSP, +1 * kWordSize));  // Right | 
| +  __ movq(RAX, Address(RSP, +2 * kWordSize));  // Left. | 
| __ movq(R13, RCX); | 
| __ orq(R13, RAX); | 
| __ testq(R13, Immediate(kSmiTagMask)); | 
| @@ -1288,14 +1280,15 @@ static void EmitFastSmiOp(Assembler* assembler, | 
| __ Bind(&done); | 
| break; | 
| } | 
| -    default: UNIMPLEMENTED(); | 
| +    default: | 
| +      UNIMPLEMENTED(); | 
| } | 
|  | 
| // RBX: IC data object (preserved). | 
| __ movq(R13, FieldAddress(RBX, ICData::ic_data_offset())); | 
| // R13: ic_data_array with check entries: classes and target functions. | 
| __ leaq(R13, FieldAddress(R13, Array::data_offset())); | 
| -  // R13: points directly to the first ic data array element. | 
| +// R13: points directly to the first ic data array element. | 
| #if defined(DEBUG) | 
| // Check that first entry is for Smi/Smi. | 
| Label error, ok; | 
| @@ -1342,7 +1335,8 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( | 
| bool optimized) { | 
| ASSERT(num_args > 0); | 
| #if defined(DEBUG) | 
| -  { Label ok; | 
| +  { | 
| +    Label ok; | 
| // Check that the IC data array has NumArgsTested() == num_args. | 
| // 'NumArgsTested' is stored in the least significant bits of 'state_bits'. | 
| __ movl(RCX, FieldAddress(RBX, ICData::state_bits_offset())); | 
| @@ -1366,11 +1360,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( | 
|  | 
| Label not_smi_or_overflow; | 
| if (kind != Token::kILLEGAL) { | 
| -    EmitFastSmiOp( | 
| -        assembler, | 
| -        kind, | 
| -        num_args, | 
| -        ¬_smi_or_overflow); | 
| +    EmitFastSmiOp(assembler, kind, num_args, ¬_smi_or_overflow); | 
| } | 
| __ Bind(¬_smi_or_overflow); | 
|  | 
| @@ -1400,7 +1390,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( | 
| if (i > 0) { | 
| // If not the first, load the next argument's class ID. | 
| __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset())); | 
| -      __ movq(R9, Address(RSP, RAX, TIMES_4, - i * kWordSize)); | 
| +      __ movq(R9, Address(RSP, RAX, TIMES_4, -i * kWordSize)); | 
| __ LoadTaggedClassIdMayBeSmi(RAX, R9); | 
| // RAX: next argument class ID (smi). | 
| __ movq(R9, Address(R13, i * kWordSize)); | 
| @@ -1424,7 +1414,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( | 
|  | 
| const intptr_t entry_size = ICData::TestEntryLengthFor(num_args) * kWordSize; | 
| __ addq(R13, Immediate(entry_size));  // Next entry. | 
| -  __ movq(R9, Address(R13, 0));  // Next class ID. | 
| +  __ movq(R9, Address(R13, 0));         // Next class ID. | 
|  | 
| __ Bind(&test); | 
| __ cmpq(R9, Immediate(Smi::RawValue(kIllegalCid)));  // Done? | 
| @@ -1436,8 +1426,8 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( | 
| __ movq(RAX, FieldAddress(R10, ArgumentsDescriptor::count_offset())); | 
| __ leaq(RAX, Address(RSP, RAX, TIMES_4, 0));  // RAX is Smi. | 
| __ EnterStubFrame(); | 
| -  __ pushq(R10);  // Preserve arguments descriptor array. | 
| -  __ pushq(RBX);  // Preserve IC data object. | 
| +  __ pushq(R10);           // Preserve arguments descriptor array. | 
| +  __ pushq(RBX);           // Preserve IC data object. | 
| __ pushq(Immediate(0));  // Result slot. | 
| // Push call arguments. | 
| for (intptr_t i = 0; i < num_args; i++) { | 
| @@ -1511,41 +1501,37 @@ void StubCode::GenerateNArgsCheckInlineCacheStub( | 
| //   - 1 target function. | 
| void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| -  GenerateNArgsCheckInlineCacheStub(assembler, 1, | 
| -      kInlineCacheMissHandlerOneArgRuntimeEntry, | 
| -      Token::kILLEGAL); | 
| +  GenerateNArgsCheckInlineCacheStub( | 
| +      assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL); | 
| } | 
|  | 
|  | 
| void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| GenerateNArgsCheckInlineCacheStub(assembler, 2, | 
| -      kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| -      Token::kILLEGAL); | 
| +                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| +                                    Token::kILLEGAL); | 
| } | 
|  | 
|  | 
| void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| -  GenerateNArgsCheckInlineCacheStub(assembler, 2, | 
| -      kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| -      Token::kADD); | 
| +  GenerateNArgsCheckInlineCacheStub( | 
| +      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD); | 
| } | 
|  | 
|  | 
| void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| -  GenerateNArgsCheckInlineCacheStub(assembler, 2, | 
| -      kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| -      Token::kSUB); | 
| +  GenerateNArgsCheckInlineCacheStub( | 
| +      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB); | 
| } | 
|  | 
|  | 
| void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| -  GenerateNArgsCheckInlineCacheStub(assembler, 2, | 
| -      kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| -      Token::kEQ); | 
| +  GenerateNArgsCheckInlineCacheStub( | 
| +      assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ); | 
| } | 
|  | 
|  | 
| @@ -1564,9 +1550,8 @@ void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub( | 
| Assembler* assembler) { | 
| GenerateOptimizedUsageCounterIncrement(assembler); | 
| GenerateNArgsCheckInlineCacheStub(assembler, 1, | 
| -      kInlineCacheMissHandlerOneArgRuntimeEntry, | 
| -      Token::kILLEGAL, | 
| -      true /* optimized */); | 
| +                                    kInlineCacheMissHandlerOneArgRuntimeEntry, | 
| +                                    Token::kILLEGAL, true /* optimized */); | 
| } | 
|  | 
|  | 
| @@ -1574,9 +1559,8 @@ void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub( | 
| Assembler* assembler) { | 
| GenerateOptimizedUsageCounterIncrement(assembler); | 
| GenerateNArgsCheckInlineCacheStub(assembler, 2, | 
| -      kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| -      Token::kILLEGAL, | 
| -      true /* optimized */); | 
| +                                    kInlineCacheMissHandlerTwoArgsRuntimeEntry, | 
| +                                    Token::kILLEGAL, true /* optimized */); | 
| } | 
|  | 
|  | 
| @@ -1586,7 +1570,8 @@ void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub( | 
| void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| #if defined(DEBUG) | 
| -  { Label ok; | 
| +  { | 
| +    Label ok; | 
| // Check that the IC data array has NumArgsTested() == 0. | 
| // 'NumArgsTested' is stored in the least significant bits of 'state_bits'. | 
| __ movl(RCX, FieldAddress(RBX, ICData::state_bits_offset())); | 
| @@ -1606,9 +1591,9 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) { | 
| __ movzxb(RAX, Address(RAX, Isolate::single_step_offset())); | 
| __ cmpq(RAX, Immediate(0)); | 
| #if defined(DEBUG) | 
| -      static const bool kJumpLength = Assembler::kFarJump; | 
| +    static const bool kJumpLength = Assembler::kFarJump; | 
| #else | 
| -      static const bool kJumpLength = Assembler::kNearJump; | 
| +    static const bool kJumpLength = Assembler::kNearJump; | 
| #endif  // DEBUG | 
| __ j(NOT_EQUAL, &stepping, kJumpLength); | 
| __ Bind(&done_stepping); | 
| @@ -1656,19 +1641,14 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) { | 
| void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| GenerateNArgsCheckInlineCacheStub( | 
| -      assembler, | 
| -      1, | 
| -      kStaticCallMissHandlerOneArgRuntimeEntry, | 
| -      Token::kILLEGAL); | 
| +      assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry, Token::kILLEGAL); | 
| } | 
|  | 
|  | 
| void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) { | 
| GenerateUsageCounterIncrement(assembler, RCX); | 
| -  GenerateNArgsCheckInlineCacheStub(assembler, | 
| -      2, | 
| -      kStaticCallMissHandlerTwoArgsRuntimeEntry, | 
| -      Token::kILLEGAL); | 
| +  GenerateNArgsCheckInlineCacheStub( | 
| +      assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL); | 
| } | 
|  | 
|  | 
| @@ -1697,15 +1677,15 @@ void StubCode::GenerateLazyCompileStub(Assembler* assembler) { | 
| // TOS(0): return address (Dart code). | 
| void StubCode::GenerateICCallBreakpointStub(Assembler* assembler) { | 
| __ EnterStubFrame(); | 
| -  __ pushq(RBX);  // Preserve IC data. | 
| +  __ pushq(RBX);           // Preserve IC data. | 
| __ pushq(Immediate(0));  // Result slot. | 
| __ CallRuntime(kBreakpointRuntimeHandlerRuntimeEntry, 0); | 
| __ popq(CODE_REG);  // Original stub. | 
| -  __ popq(RBX);  // Restore IC data. | 
| +  __ popq(RBX);       // Restore IC data. | 
| __ LeaveStubFrame(); | 
|  | 
| __ movq(RAX, FieldAddress(CODE_REG, Code::entry_point_offset())); | 
| -  __ jmp(RAX);   // Jump to original stub. | 
| +  __ jmp(RAX);  // Jump to original stub. | 
| } | 
|  | 
|  | 
| @@ -1718,7 +1698,7 @@ void StubCode::GenerateRuntimeCallBreakpointStub(Assembler* assembler) { | 
| __ LeaveStubFrame(); | 
|  | 
| __ movq(RAX, FieldAddress(CODE_REG, Code::entry_point_offset())); | 
| -  __ jmp(RAX);   // Jump to original stub. | 
| +  __ jmp(RAX);  // Jump to original stub. | 
| } | 
|  | 
|  | 
| @@ -1759,8 +1739,9 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { | 
| // Compute instance type arguments into R13. | 
| Label has_no_type_arguments; | 
| __ movq(R13, R9); | 
| -    __ movl(RDI, FieldAddress(R10, | 
| -        Class::type_arguments_field_offset_in_words_offset())); | 
| +    __ movl(RDI, | 
| +            FieldAddress(R10, | 
| +                         Class::type_arguments_field_offset_in_words_offset())); | 
| __ cmpl(RDI, Immediate(Class::kNoTypeArguments)); | 
| __ j(EQUAL, &has_no_type_arguments, Assembler::kNearJump); | 
| __ movq(R13, FieldAddress(RAX, RDI, TIMES_8, 0)); | 
| @@ -1783,9 +1764,8 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { | 
| __ movq(R10, FieldAddress(RAX, Closure::function_offset())); | 
| // R10: instance class id as Smi or function. | 
| __ Bind(&loop); | 
| -  __ movq(RDI, | 
| -          Address(RDX, | 
| -                  kWordSize * SubtypeTestCache::kInstanceClassIdOrFunction)); | 
| +  __ movq(RDI, Address(RDX, kWordSize * | 
| +                                SubtypeTestCache::kInstanceClassIdOrFunction)); | 
| __ cmpq(RDI, R9); | 
| __ j(EQUAL, ¬_found, Assembler::kNearJump); | 
| __ cmpq(RDI, R10); | 
| @@ -1794,15 +1774,15 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) { | 
| } else { | 
| __ j(NOT_EQUAL, &next_iteration, Assembler::kNearJump); | 
| __ movq(RDI, | 
| -        Address(RDX, kWordSize * SubtypeTestCache::kInstanceTypeArguments)); | 
| +            Address(RDX, kWordSize * SubtypeTestCache::kInstanceTypeArguments)); | 
| __ cmpq(RDI, R13); | 
| if (n == 2) { | 
| __ j(EQUAL, &found, Assembler::kNearJump); | 
| } else { | 
| __ j(NOT_EQUAL, &next_iteration, Assembler::kNearJump); | 
| __ movq(RDI, | 
| -          Address(RDX, | 
| -                  kWordSize * SubtypeTestCache::kInstantiatorTypeArguments)); | 
| +              Address(RDX, kWordSize * | 
| +                               SubtypeTestCache::kInstantiatorTypeArguments)); | 
| __ cmpq(RDI, Address(RSP, kInstantiatorTypeArgumentsInBytes)); | 
| __ j(EQUAL, &found, Assembler::kNearJump); | 
| } | 
| @@ -1895,8 +1875,7 @@ void StubCode::GenerateJumpToExceptionHandlerStub(Assembler* assembler) { | 
| // Set the tag. | 
| __ movq(Assembler::VMTagAddress(), Immediate(VMTag::kDartTagId)); | 
| // Clear top exit frame. | 
| -  __ movq(Address(THR, Thread::top_exit_frame_info_offset()), | 
| -          Immediate(0)); | 
| +  __ movq(Address(THR, Thread::top_exit_frame_info_offset()), Immediate(0)); | 
| // Restore the pool pointer. | 
| __ RestoreCodePointer(); | 
| __ LoadPoolPointer(PP); | 
| @@ -1909,9 +1888,9 @@ void StubCode::GenerateJumpToExceptionHandlerStub(Assembler* assembler) { | 
| // R10: argument descriptor (preserved). | 
| void StubCode::GenerateOptimizeFunctionStub(Assembler* assembler) { | 
| __ EnterStubFrame(); | 
| -  __ pushq(R10);  // Preserve args descriptor. | 
| +  __ pushq(R10);           // Preserve args descriptor. | 
| __ pushq(Immediate(0));  // Result slot. | 
| -  __ pushq(RDI);  // Arg0: function to optimize | 
| +  __ pushq(RDI);           // Arg0: function to optimize | 
| __ CallRuntime(kOptimizeInvokedFunctionRuntimeEntry, 1); | 
| __ popq(RAX);  // Disard argument. | 
| __ popq(RAX);  // Get Code object. | 
|  |