| Index: runtime/vm/stub_code_arm64.cc
|
| diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc
|
| index 30d38de94c5a9eb3eef432ea1b4b84b89d4b3b67..53ee64b428a35ef0a1fd81535dac8d070f8b758c 100644
|
| --- a/runtime/vm/stub_code_arm64.cc
|
| +++ b/runtime/vm/stub_code_arm64.cc
|
| @@ -87,7 +87,7 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) {
|
| __ add(R2, ZR, Operand(R4, LSL, 3));
|
| __ add(R2, FP, Operand(R2)); // Compute argv.
|
| // Set argv in NativeArguments.
|
| - __ AddImmediate(R2, R2, kParamEndSlotFromFp * kWordSize);
|
| + __ AddImmediate(R2, kParamEndSlotFromFp * kWordSize);
|
|
|
| ASSERT(retval_offset == 3 * kWordSize);
|
| __ AddImmediate(R3, R2, kWordSize);
|
| @@ -417,7 +417,7 @@ static void PushArgumentsArray(Assembler* assembler) {
|
| // R2: smi-tagged argument count, may be zero (was preserved by the stub).
|
| __ Push(R0); // Array is in R0 and on top of stack.
|
| __ add(R1, FP, Operand(R2, LSL, 2));
|
| - __ AddImmediate(R1, R1, kParamEndSlotFromFp * kWordSize);
|
| + __ AddImmediate(R1, kParamEndSlotFromFp * kWordSize);
|
| __ AddImmediate(R3, R0, Array::data_offset() - kHeapObjectTag);
|
| // R1: address of first argument on stack.
|
| // R3: address of first argument in array.
|
| @@ -427,8 +427,8 @@ static void PushArgumentsArray(Assembler* assembler) {
|
| __ b(&loop_exit, LE);
|
| __ Bind(&loop);
|
| __ ldr(R7, Address(R1));
|
| - __ AddImmediate(R1, R1, -kWordSize);
|
| - __ AddImmediate(R3, R3, kWordSize);
|
| + __ AddImmediate(R1, -kWordSize);
|
| + __ AddImmediate(R3, kWordSize);
|
| __ AddImmediateSetFlags(R2, R2, -Smi::RawValue(1));
|
| __ str(R7, Address(R3, -kWordSize));
|
| __ b(&loop, GE);
|
| @@ -797,7 +797,7 @@ void StubCode::GenerateAllocateArrayStub(Assembler* assembler) {
|
| __ CompareRegisters(R1, R7);
|
| __ b(&done, CS);
|
| __ str(TMP, Address(R1)); // Store if unsigned lower.
|
| - __ AddImmediate(R1, R1, kWordSize);
|
| + __ AddImmediate(R1, kWordSize);
|
| __ b(&loop); // Loop until R1 == R7.
|
| __ Bind(&done);
|
|
|
| @@ -894,7 +894,7 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) {
|
|
|
| // Compute address of 'arguments array' data area into R2.
|
| __ LoadFromOffset(R2, R2, VMHandles::kOffsetOfRawPtrInHandle);
|
| - __ AddImmediate(R2, R2, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R2, Array::data_offset() - kHeapObjectTag);
|
|
|
| // Set up arguments for the Dart call.
|
| Label push_arguments;
|
| @@ -1222,7 +1222,7 @@ void StubCode::GenerateAllocationStubForClass(Assembler* assembler,
|
| __ CompareRegisters(R4, R3);
|
| __ b(&done, CS);
|
| __ str(R0, Address(R4));
|
| - __ AddImmediate(R4, R4, kWordSize);
|
| + __ AddImmediate(R4, kWordSize);
|
| __ b(&init_loop);
|
| __ Bind(&done);
|
| }
|
| @@ -1331,7 +1331,7 @@ void StubCode::GenerateUsageCounterIncrement(Assembler* assembler,
|
| __ LoadFieldFromOffset(func_reg, ic_reg, ICData::owner_offset());
|
| __ LoadFieldFromOffset(R7, func_reg, Function::usage_counter_offset(),
|
| kWord);
|
| - __ AddImmediate(R7, R7, 1);
|
| + __ AddImmediate(R7, 1);
|
| __ StoreFieldToOffset(R7, func_reg, Function::usage_counter_offset(),
|
| kWord);
|
| }
|
| @@ -1377,7 +1377,7 @@ static void EmitFastSmiOp(Assembler* assembler,
|
| // R5: IC data object (preserved).
|
| __ LoadFieldFromOffset(R6, R5, ICData::ic_data_offset());
|
| // R6: ic_data_array with check entries: classes and target functions.
|
| - __ AddImmediate(R6, R6, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R6, Array::data_offset() - kHeapObjectTag);
|
| // R6: points directly to the first ic data array element.
|
| #if defined(DEBUG)
|
| // Check that first entry is for Smi/Smi.
|
| @@ -1462,7 +1462,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
| // R5: IC data object (preserved).
|
| __ LoadFieldFromOffset(R6, R5, ICData::ic_data_offset());
|
| // R6: ic_data_array with check entries: classes and target functions.
|
| - __ AddImmediate(R6, R6, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R6, Array::data_offset() - kHeapObjectTag);
|
| // R6: points directly to the first ic data array element.
|
|
|
| // Get the receiver's class ID (first read number of arguments from
|
| @@ -1503,7 +1503,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
|
|
|
| const intptr_t entry_size =
|
| ICData::TestEntryLengthFor(num_args) * kWordSize;
|
| - __ AddImmediate(R6, R6, entry_size); // Next entry.
|
| + __ AddImmediate(R6, entry_size); // Next entry.
|
|
|
| __ CompareImmediate(R2, Smi::RawValue(kIllegalCid)); // Done?
|
| if (unroll == 0) {
|
| @@ -1682,7 +1682,7 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
|
| // R5: IC data object (preserved).
|
| __ LoadFieldFromOffset(R6, R5, ICData::ic_data_offset());
|
| // R6: ic_data_array with entries: target functions and count.
|
| - __ AddImmediate(R6, R6, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R6, Array::data_offset() - kHeapObjectTag);
|
| // R6: points directly to the first ic data array element.
|
| const intptr_t target_offset = ICData::TargetIndexFor(0) * kWordSize;
|
| const intptr_t count_offset = ICData::CountIndexFor(0) * kWordSize;
|
| @@ -1826,7 +1826,7 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) {
|
| // R6: instance class id.
|
| // R4: instance type arguments (null if none), used only if n > 1.
|
| __ LoadFieldFromOffset(R3, R3, SubtypeTestCache::cache_offset());
|
| - __ AddImmediate(R3, R3, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R3, Array::data_offset() - kHeapObjectTag);
|
|
|
| Label loop, found, not_found, next_iteration;
|
| // R3: entry start.
|
| @@ -1869,7 +1869,7 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) {
|
| }
|
| }
|
| __ Bind(&next_iteration);
|
| - __ AddImmediate(R3, R3, kWordSize * SubtypeTestCache::kTestEntryLength);
|
| + __ AddImmediate(R3, kWordSize * SubtypeTestCache::kTestEntryLength);
|
| __ b(&loop);
|
| // Fall through to not found.
|
| __ Bind(¬_found);
|
| @@ -2184,7 +2184,7 @@ void StubCode::GenerateMegamorphicCallStub(Assembler* assembler) {
|
| __ b(&load_target, EQ); // branch if miss.
|
|
|
| // Try next extry in the table.
|
| - __ AddImmediate(R3, R3, Smi::RawValue(1));
|
| + __ AddImmediate(R3, Smi::RawValue(1));
|
| __ b(&loop);
|
|
|
| // Load cid for the Smi case.
|
| @@ -2204,7 +2204,7 @@ void StubCode::GenerateICCallThroughFunctionStub(Assembler* assembler) {
|
| Label loop, found, miss;
|
| __ ldr(R4, FieldAddress(R5, ICData::arguments_descriptor_offset()));
|
| __ ldr(R8, FieldAddress(R5, ICData::ic_data_offset()));
|
| - __ AddImmediate(R8, R8, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R8, Array::data_offset() - kHeapObjectTag);
|
| // R8: first IC entry
|
| __ LoadTaggedClassIdMayBeSmi(R1, R0);
|
| // R1: receiver cid as Smi
|
| @@ -2217,7 +2217,7 @@ void StubCode::GenerateICCallThroughFunctionStub(Assembler* assembler) {
|
| __ b(&miss, EQ);
|
|
|
| const intptr_t entry_length = ICData::TestEntryLengthFor(1) * kWordSize;
|
| - __ AddImmediate(R8, R8, entry_length); // Next entry.
|
| + __ AddImmediate(R8, entry_length); // Next entry.
|
| __ b(&loop);
|
|
|
| __ Bind(&found);
|
| @@ -2239,7 +2239,7 @@ void StubCode::GenerateICCallThroughCodeStub(Assembler* assembler) {
|
| Label loop, found, miss;
|
| __ ldr(R4, FieldAddress(R5, ICData::arguments_descriptor_offset()));
|
| __ ldr(R8, FieldAddress(R5, ICData::ic_data_offset()));
|
| - __ AddImmediate(R8, R8, Array::data_offset() - kHeapObjectTag);
|
| + __ AddImmediate(R8, Array::data_offset() - kHeapObjectTag);
|
| // R8: first IC entry
|
| __ LoadTaggedClassIdMayBeSmi(R1, R0);
|
| // R1: receiver cid as Smi
|
| @@ -2252,7 +2252,7 @@ void StubCode::GenerateICCallThroughCodeStub(Assembler* assembler) {
|
| __ b(&miss, EQ);
|
|
|
| const intptr_t entry_length = ICData::TestEntryLengthFor(1) * kWordSize;
|
| - __ AddImmediate(R8, R8, entry_length); // Next entry.
|
| + __ AddImmediate(R8, entry_length); // Next entry.
|
| __ b(&loop);
|
|
|
| __ Bind(&found);
|
|
|