Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index 25563ed025557ec64cedb326539c62009d4abe5c..fe044afc576b8b2611a6a0b6fbdb017779e201c8 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); |
fschneider
2012/03/07 12:01:34
Why do you need to replace no_reg here?
Philippe
2012/03/07 13:14:17
I don't need this change indeed. I fixed this plac
|
// 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)); |
fschneider
2012/03/07 12:01:34
Why do you need to replace no_reg here?
Philippe
2012/03/07 13:14:17
Done.
|
// 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); |
@@ -7058,43 +7058,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 }, |
+ { 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) && |
@@ -7121,7 +7123,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, |