Chromium Code Reviews| Index: src/arm/code-stubs-arm.cc |
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
| index 62e6c80271e30c0cbd09d2f18d7685038a6045ef..2cd305d1025823b28cffd844fdc747dd9e306869 100644 |
| --- a/src/arm/code-stubs-arm.cc |
| +++ b/src/arm/code-stubs-arm.cc |
| @@ -480,7 +480,7 @@ void ConvertToDoubleStub::Generate(MacroAssembler* masm) { |
| __ b(gt, ¬_special); |
| // For 1 or -1 we need to or in the 0 exponent (biased to 1023). |
| - static const uint32_t exponent_word_for_1 = |
| + const uint32_t exponent_word_for_1 = |
| HeapNumber::kExponentBias << HeapNumber::kExponentShift; |
| __ orr(exponent, exponent, Operand(exponent_word_for_1), LeaveCC, eq); |
| // 1, 0 and -1 all have 0 for the second word. |
| @@ -2731,7 +2731,7 @@ void BinaryOpStub::GenerateInt32Stub(MacroAssembler* masm) { |
| DwVfpRegister double_scratch = d0; |
| SwVfpRegister single_scratch = s3; |
| - Register heap_number_result = no_reg; |
| + Register heap_number_result = Register::from_code(kRegisterNoneCode); |
| Register heap_number_map = r6; |
| __ LoadRoot(heap_number_map, Heap::kHeapNumberMapRootIndex); |
| @@ -4132,7 +4132,7 @@ void InstanceofStub::Generate(MacroAssembler* masm) { |
| // We don't need map any more. Use it as a scratch register. |
| Register scratch2 = map; |
| - map = no_reg; |
| + map = Register::from_code(kRegisterNoneCode); |
| // Loop through the prototype chain looking for the function prototype. |
| __ LoadRoot(scratch2, Heap::kNullValueRootIndex); |
| @@ -4237,7 +4237,7 @@ Register InstanceofStub::right() { return r1; } |
| void ArgumentsAccessStub::GenerateReadElement(MacroAssembler* masm) { |
| // The displacement is the offset of the last parameter (if any) |
| // relative to the frame pointer. |
| - static const int kDisplacement = |
| + const int kDisplacement = |
| StandardFrameConstants::kCallerSPOffset - kPointerSize; |
| // Check that the key is a smi. |
| @@ -4622,10 +4622,10 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
| // sp[8]: subject string |
| // sp[12]: JSRegExp object |
| - static const int kLastMatchInfoOffset = 0 * kPointerSize; |
| - static const int kPreviousIndexOffset = 1 * kPointerSize; |
| - static const int kSubjectOffset = 2 * kPointerSize; |
| - static const int kJSRegExpOffset = 3 * kPointerSize; |
| + const int kLastMatchInfoOffset = 0 * kPointerSize; |
| + const int kPreviousIndexOffset = 1 * kPointerSize; |
| + const int kSubjectOffset = 2 * kPointerSize; |
| + const int kJSRegExpOffset = 3 * kPointerSize; |
| Label runtime, invoke_regexp; |
| @@ -4824,8 +4824,8 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
| __ IncrementCounter(isolate->counters()->regexp_entry_native(), 1, r0, r2); |
| // Isolates: note we add an additional parameter here (isolate pointer). |
| - static const int kRegExpExecuteArguments = 8; |
| - static const int kParameterRegisters = 4; |
| + const int kRegExpExecuteArguments = 8; |
| + const int kParameterRegisters = 4; |
| __ EnterExitFrame(false, kRegExpExecuteArguments - kParameterRegisters); |
| // Stack pointer now points to cell where return address is to be written. |
| @@ -4883,7 +4883,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
| DirectCEntryStub stub; |
| stub.GenerateCall(masm, r7); |
| - __ LeaveExitFrame(false, no_reg); |
| + __ LeaveExitFrame(false, Register::from_code(kRegisterNoneCode)); |
| // r0: result |
| // subject: subject string (callee saved) |
| @@ -5714,7 +5714,7 @@ void StringHelper::GenerateTwoCharacterSymbolTableProbe(MacroAssembler* masm, |
| // scratch: - |
| // Perform a number of probes in the symbol table. |
| - static const int kProbes = 4; |
| + const int kProbes = 4; |
| Label found_in_symbol_table; |
| Label next_probe[kProbes]; |
| Register candidate = scratch5; // Scratch register contains candidate. |
| @@ -5839,9 +5839,9 @@ void SubStringStub::Generate(MacroAssembler* masm) { |
| // 0 <= from <= to <= string.length. |
| // If any of these assumptions fail, we call the runtime system. |
| - static const int kToOffset = 0 * kPointerSize; |
| - static const int kFromOffset = 1 * kPointerSize; |
| - static const int kStringOffset = 2 * kPointerSize; |
| + const int kToOffset = 0 * kPointerSize; |
| + const int kFromOffset = 1 * kPointerSize; |
| + const int kStringOffset = 2 * kPointerSize; |
| __ Ldrd(r2, r3, MemOperand(sp, kToOffset)); |
| STATIC_ASSERT(kFromOffset == kToOffset + 4); |
| @@ -7049,43 +7049,45 @@ struct AheadOfTimeWriteBarrierStubList { |
| RememberedSetAction action; |
| }; |
| +#define REG(Name) { kRegister ## Name ## Code } |
| -struct AheadOfTimeWriteBarrierStubList kAheadOfTime[] = { |
| +static const AheadOfTimeWriteBarrierStubList kAheadOfTime[] = { |
| // Used in RegExpExecStub. |
| - { r6, r4, r7, EMIT_REMEMBERED_SET }, |
| - { r6, r2, r7, EMIT_REMEMBERED_SET }, |
| + { REG(R6), REG(R4), REG(R7), EMIT_REMEMBERED_SET }, |
|
fschneider
2012/02/28 16:54:48
It would be nice to use the same names here as wel
Philippe
2012/02/29 10:24:45
I agree with your point.
I am probably missing so
|
| + { REG(R6), REG(R2), REG(R7), EMIT_REMEMBERED_SET }, |
| // Used in CompileArrayPushCall. |
| // Also used in StoreIC::GenerateNormal via GenerateDictionaryStore. |
| // Also used in KeyedStoreIC::GenerateGeneric. |
| - { r3, r4, r5, EMIT_REMEMBERED_SET }, |
| + { REG(R3), REG(R4), REG(R5), EMIT_REMEMBERED_SET }, |
| // Used in CompileStoreGlobal. |
| - { r4, r1, r2, OMIT_REMEMBERED_SET }, |
| + { REG(R4), REG(R1), REG(R2), OMIT_REMEMBERED_SET }, |
| // Used in StoreStubCompiler::CompileStoreField via GenerateStoreField. |
| - { r1, r2, r3, EMIT_REMEMBERED_SET }, |
| - { r3, r2, r1, EMIT_REMEMBERED_SET }, |
| + { REG(R1), REG(R2), REG(R3), EMIT_REMEMBERED_SET }, |
| + { REG(R3), REG(R2), REG(R1), EMIT_REMEMBERED_SET }, |
| // Used in KeyedStoreStubCompiler::CompileStoreField via GenerateStoreField. |
| - { r2, r1, r3, EMIT_REMEMBERED_SET }, |
| - { r3, r1, r2, EMIT_REMEMBERED_SET }, |
| + { REG(R2), REG(R1), REG(R3), EMIT_REMEMBERED_SET }, |
| + { REG(R3), REG(R1), REG(R2), EMIT_REMEMBERED_SET }, |
| // KeyedStoreStubCompiler::GenerateStoreFastElement. |
| - { r3, r2, r4, EMIT_REMEMBERED_SET }, |
| - { r2, r3, r4, EMIT_REMEMBERED_SET }, |
| + { REG(R3), REG(R2), REG(R4), EMIT_REMEMBERED_SET }, |
| + { REG(R2), REG(R3), REG(R4), EMIT_REMEMBERED_SET }, |
| // ElementsTransitionGenerator::GenerateSmiOnlyToObject |
| // and ElementsTransitionGenerator::GenerateSmiOnlyToDouble |
| // and ElementsTransitionGenerator::GenerateDoubleToObject |
| - { r2, r3, r9, EMIT_REMEMBERED_SET }, |
| - { r2, r3, r9, OMIT_REMEMBERED_SET }, |
| + { REG(R2), REG(R3), REG(R9), EMIT_REMEMBERED_SET }, |
| + { REG(R2), REG(R3), REG(R9), OMIT_REMEMBERED_SET }, |
| // ElementsTransitionGenerator::GenerateDoubleToObject |
| - { r6, r2, r0, EMIT_REMEMBERED_SET }, |
| - { r2, r6, r9, EMIT_REMEMBERED_SET }, |
| + { REG(R6), REG(R2), REG(R0), EMIT_REMEMBERED_SET }, |
| + { REG(R2), REG(R6), REG(R9), EMIT_REMEMBERED_SET }, |
| // StoreArrayLiteralElementStub::Generate |
| - { r5, r0, r6, EMIT_REMEMBERED_SET }, |
| + { REG(R5), REG(R0), REG(R6), EMIT_REMEMBERED_SET }, |
| // Null termination. |
| - { no_reg, no_reg, no_reg, EMIT_REMEMBERED_SET} |
| + { REG(None), REG(None), REG(None), EMIT_REMEMBERED_SET} |
| }; |
| +#undef REG |
| bool RecordWriteStub::IsPregenerated() { |
| - for (AheadOfTimeWriteBarrierStubList* entry = kAheadOfTime; |
| + for (const AheadOfTimeWriteBarrierStubList* entry = kAheadOfTime; |
| !entry->object.is(no_reg); |
| entry++) { |
| if (object_.is(entry->object) && |
| @@ -7112,7 +7114,7 @@ void StoreBufferOverflowStub::GenerateFixedRegStubsAheadOfTime() { |
| void RecordWriteStub::GenerateFixedRegStubsAheadOfTime() { |
| - for (AheadOfTimeWriteBarrierStubList* entry = kAheadOfTime; |
| + for (const AheadOfTimeWriteBarrierStubList* entry = kAheadOfTime; |
| !entry->object.is(no_reg); |
| entry++) { |
| RecordWriteStub stub(entry->object, |