Index: src/ic/arm/ic-arm.cc |
diff --git a/src/arm/ic-arm.cc b/src/ic/arm/ic-arm.cc |
similarity index 83% |
rename from src/arm/ic-arm.cc |
rename to src/ic/arm/ic-arm.cc |
index d1add6d2ff2a8431cca02c823e3b5957b8553fcb..68b49c7fdb71d54e98f2d35dbe1a401afc2ba6dd 100644 |
--- a/src/arm/ic-arm.cc |
+++ b/src/ic/arm/ic-arm.cc |
@@ -6,13 +6,9 @@ |
#if V8_TARGET_ARCH_ARM |
-#include "src/arm/assembler-arm.h" |
-#include "src/code-stubs.h" |
#include "src/codegen.h" |
-#include "src/disasm.h" |
-#include "src/ic-inl.h" |
-#include "src/runtime.h" |
-#include "src/stub-cache.h" |
+#include "src/ic/ic.h" |
+#include "src/ic/stub-cache.h" |
namespace v8 { |
namespace internal { |
@@ -25,8 +21,7 @@ namespace internal { |
#define __ ACCESS_MASM(masm) |
-static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm, |
- Register type, |
+static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm, Register type, |
Label* global_object) { |
// Register usage: |
// type: holds the receiver instance type on entry. |
@@ -52,12 +47,9 @@ static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm, |
// result. |
// The generated code assumes that the receiver has slow properties, |
// is not a global object and does not have interceptors. |
-static void GenerateDictionaryLoad(MacroAssembler* masm, |
- Label* miss, |
- Register elements, |
- Register name, |
- Register result, |
- Register scratch1, |
+static void GenerateDictionaryLoad(MacroAssembler* masm, Label* miss, |
+ Register elements, Register name, |
+ Register result, Register scratch1, |
Register scratch2) { |
// Main use of the scratch registers. |
// scratch1: Used as temporary and to hold the capacity of the property |
@@ -66,18 +58,14 @@ static void GenerateDictionaryLoad(MacroAssembler* masm, |
Label done; |
// Probe the dictionary. |
- NameDictionaryLookupStub::GeneratePositiveLookup(masm, |
- miss, |
- &done, |
- elements, |
- name, |
- scratch1, |
- scratch2); |
+ NameDictionaryLookupStub::GeneratePositiveLookup(masm, miss, &done, elements, |
+ name, scratch1, scratch2); |
// If probing finds an entry check that the value is a normal |
// property. |
__ bind(&done); // scratch2 == elements + 4 * index |
- const int kElementsStartOffset = NameDictionary::kHeaderSize + |
+ const int kElementsStartOffset = |
+ NameDictionary::kHeaderSize + |
NameDictionary::kElementsStartIndex * kPointerSize; |
const int kDetailsOffset = kElementsStartOffset + 2 * kPointerSize; |
__ ldr(scratch1, FieldMemOperand(scratch2, kDetailsOffset)); |
@@ -101,12 +89,9 @@ static void GenerateDictionaryLoad(MacroAssembler* masm, |
// result. |
// The generated code assumes that the receiver has slow properties, |
// is not a global object and does not have interceptors. |
-static void GenerateDictionaryStore(MacroAssembler* masm, |
- Label* miss, |
- Register elements, |
- Register name, |
- Register value, |
- Register scratch1, |
+static void GenerateDictionaryStore(MacroAssembler* masm, Label* miss, |
+ Register elements, Register name, |
+ Register value, Register scratch1, |
Register scratch2) { |
// Main use of the scratch registers. |
// scratch1: Used as temporary and to hold the capacity of the property |
@@ -115,23 +100,20 @@ static void GenerateDictionaryStore(MacroAssembler* masm, |
Label done; |
// Probe the dictionary. |
- NameDictionaryLookupStub::GeneratePositiveLookup(masm, |
- miss, |
- &done, |
- elements, |
- name, |
- scratch1, |
- scratch2); |
+ NameDictionaryLookupStub::GeneratePositiveLookup(masm, miss, &done, elements, |
+ name, scratch1, scratch2); |
// If probing finds an entry in the dictionary check that the value |
// is a normal property that is not read only. |
__ bind(&done); // scratch2 == elements + 4 * index |
- const int kElementsStartOffset = NameDictionary::kHeaderSize + |
+ const int kElementsStartOffset = |
+ NameDictionary::kHeaderSize + |
NameDictionary::kElementsStartIndex * kPointerSize; |
const int kDetailsOffset = kElementsStartOffset + 2 * kPointerSize; |
const int kTypeAndReadOnlyMask = |
(PropertyDetails::TypeField::kMask | |
- PropertyDetails::AttributesField::encode(READ_ONLY)) << kSmiTagSize; |
+ PropertyDetails::AttributesField::encode(READ_ONLY)) |
+ << kSmiTagSize; |
__ ldr(scratch1, FieldMemOperand(scratch2, kDetailsOffset)); |
__ tst(scratch1, Operand(kTypeAndReadOnlyMask)); |
__ b(ne, miss); |
@@ -143,19 +125,17 @@ static void GenerateDictionaryStore(MacroAssembler* masm, |
// Update the write barrier. Make sure not to clobber the value. |
__ mov(scratch1, value); |
- __ RecordWrite( |
- elements, scratch2, scratch1, kLRHasNotBeenSaved, kDontSaveFPRegs); |
+ __ RecordWrite(elements, scratch2, scratch1, kLRHasNotBeenSaved, |
+ kDontSaveFPRegs); |
} |
// Checks the receiver for special cases (value type, slow case bits). |
// Falls through for regular JS object. |
static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm, |
- Register receiver, |
- Register map, |
+ Register receiver, Register map, |
Register scratch, |
- int interceptor_bit, |
- Label* slow) { |
+ int interceptor_bit, Label* slow) { |
// Check that the object isn't a smi. |
__ JumpIfSmi(receiver, slow); |
// Get the map of the receiver. |
@@ -178,14 +158,10 @@ static void GenerateKeyedLoadReceiverCheck(MacroAssembler* masm, |
// Loads an indexed element from a fast case array. |
// If not_fast_array is NULL, doesn't perform the elements map check. |
-static void GenerateFastArrayLoad(MacroAssembler* masm, |
- Register receiver, |
- Register key, |
- Register elements, |
- Register scratch1, |
- Register scratch2, |
- Register result, |
- Label* not_fast_array, |
+static void GenerateFastArrayLoad(MacroAssembler* masm, Register receiver, |
+ Register key, Register elements, |
+ Register scratch1, Register scratch2, |
+ Register result, Label* not_fast_array, |
Label* out_of_range) { |
// Register use: |
// |
@@ -237,12 +213,9 @@ static void GenerateFastArrayLoad(MacroAssembler* masm, |
// Checks whether a key is an array index string or a unique name. |
// Falls through if a key is a unique name. |
-static void GenerateKeyNameCheck(MacroAssembler* masm, |
- Register key, |
- Register map, |
- Register hash, |
- Label* index_string, |
- Label* not_unique) { |
+static void GenerateKeyNameCheck(MacroAssembler* masm, Register key, |
+ Register map, Register hash, |
+ Label* index_string, Label* not_unique) { |
// The key is not a smi. |
Label unique; |
// Is it a name? |
@@ -278,8 +251,8 @@ void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { |
// Probe the stub cache. |
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( |
Code::ComputeHandlerFlags(Code::LOAD_IC)); |
- masm->isolate()->stub_cache()->GenerateProbe( |
- masm, flags, receiver, name, r3, r4, r5, r6); |
+ masm->isolate()->stub_cache()->GenerateProbe(masm, flags, receiver, name, r3, |
+ r4, r5, r6); |
// Cache miss: Jump to runtime. |
GenerateMiss(masm); |
@@ -318,8 +291,7 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) { |
__ Push(LoadIC_TempRegister(), NameRegister()); |
// Perform tail call to the entry. |
- ExternalReference ref = |
- ExternalReference(IC_Utility(kLoadIC_Miss), isolate); |
+ ExternalReference ref = ExternalReference(IC_Utility(kLoadIC_Miss), isolate); |
__ TailCallExternalReference(ref, 2, 1); |
} |
@@ -334,14 +306,10 @@ void LoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { |
} |
-static MemOperand GenerateMappedArgumentsLookup(MacroAssembler* masm, |
- Register object, |
- Register key, |
- Register scratch1, |
- Register scratch2, |
- Register scratch3, |
- Label* unmapped_case, |
- Label* slow_case) { |
+static MemOperand GenerateMappedArgumentsLookup( |
+ MacroAssembler* masm, Register object, Register key, Register scratch1, |
+ Register scratch2, Register scratch3, Label* unmapped_case, |
+ Label* slow_case) { |
Heap* heap = masm->isolate()->heap(); |
// Check that the receiver is a JSObject. Because of the map check |
@@ -412,9 +380,7 @@ static MemOperand GenerateUnmappedArgumentsLookup(MacroAssembler* masm, |
__ b(cs, slow_case); |
__ mov(scratch, Operand(kPointerSize >> 1)); |
__ mul(scratch, key, scratch); |
- __ add(scratch, |
- scratch, |
- Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
+ __ add(scratch, scratch, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
return MemOperand(backing_store, scratch); |
} |
@@ -427,9 +393,8 @@ void KeyedLoadIC::GenerateSloppyArguments(MacroAssembler* masm) { |
DCHECK(key.is(r2)); |
Label slow, notin; |
- MemOperand mapped_location = |
- GenerateMappedArgumentsLookup( |
- masm, receiver, key, r0, r3, r4, ¬in, &slow); |
+ MemOperand mapped_location = GenerateMappedArgumentsLookup( |
+ masm, receiver, key, r0, r3, r4, ¬in, &slow); |
__ ldr(r0, mapped_location); |
__ Ret(); |
__ bind(¬in); |
@@ -514,9 +479,7 @@ const Register StoreIC::NameRegister() { return r2; } |
const Register StoreIC::ValueRegister() { return r0; } |
-const Register KeyedStoreIC::MapRegister() { |
- return r3; |
-} |
+const Register KeyedStoreIC::MapRegister() { return r3; } |
void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { |
@@ -546,14 +509,13 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// Now the key is known to be a smi. This place is also jumped to from below |
// where a numeric string is converted to a smi. |
- GenerateKeyedLoadReceiverCheck( |
- masm, receiver, r0, r3, Map::kHasIndexedInterceptor, &slow); |
+ GenerateKeyedLoadReceiverCheck(masm, receiver, r0, r3, |
+ Map::kHasIndexedInterceptor, &slow); |
// Check the receiver's map to see if it has fast elements. |
__ CheckFastElements(r0, r3, &check_number_dictionary); |
- GenerateFastArrayLoad( |
- masm, receiver, key, r0, r3, r4, r0, NULL, &slow); |
+ GenerateFastArrayLoad(masm, receiver, key, r0, r3, r4, r0, NULL, &slow); |
__ IncrementCounter(isolate->counters()->keyed_load_generic_smi(), 1, r4, r3); |
__ Ret(); |
@@ -573,15 +535,15 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
// Slow case, key and receiver still in r2 and r1. |
__ bind(&slow); |
- __ IncrementCounter(isolate->counters()->keyed_load_generic_slow(), |
- 1, r4, r3); |
+ __ IncrementCounter(isolate->counters()->keyed_load_generic_slow(), 1, r4, |
+ r3); |
GenerateRuntimeGetProperty(masm); |
__ bind(&check_name); |
GenerateKeyNameCheck(masm, key, r0, r3, &index_name, &slow); |
- GenerateKeyedLoadReceiverCheck( |
- masm, receiver, r0, r3, Map::kHasNamedInterceptor, &slow); |
+ GenerateKeyedLoadReceiverCheck(masm, receiver, r0, r3, |
+ Map::kHasNamedInterceptor, &slow); |
// If the receiver is a fast-case object, check the keyed lookup |
// cache. Otherwise probe the dictionary. |
@@ -659,8 +621,8 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
__ add(r6, r6, r5); // Index from start of object. |
__ sub(receiver, receiver, Operand(kHeapObjectTag)); // Remove the heap tag. |
__ ldr(r0, MemOperand(receiver, r6, LSL, kPointerSizeLog2)); |
- __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), |
- 1, r4, r3); |
+ __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), 1, |
+ r4, r3); |
__ Ret(); |
// Load property array property. |
@@ -668,8 +630,8 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
__ ldr(receiver, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); |
__ add(receiver, receiver, Operand(FixedArray::kHeaderSize - kHeapObjectTag)); |
__ ldr(r0, MemOperand(receiver, r5, LSL, kPointerSizeLog2)); |
- __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), |
- 1, r4, r3); |
+ __ IncrementCounter(isolate->counters()->keyed_load_generic_lookup_cache(), 1, |
+ r4, r3); |
__ Ret(); |
// Do a quick inline probe of the receiver's dictionary, if it |
@@ -681,8 +643,8 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) { |
GenerateGlobalInstanceTypeCheck(masm, r0, &slow); |
// Load the property to r0. |
GenerateDictionaryLoad(masm, &slow, r3, key, r0, r5, r4); |
- __ IncrementCounter( |
- isolate->counters()->keyed_load_generic_symbol(), 1, r4, r3); |
+ __ IncrementCounter(isolate->counters()->keyed_load_generic_symbol(), 1, r4, |
+ r3); |
__ Ret(); |
__ bind(&index_name); |
@@ -702,10 +664,7 @@ void KeyedLoadIC::GenerateString(MacroAssembler* masm) { |
Register result = r0; |
DCHECK(!scratch.is(receiver) && !scratch.is(index)); |
- StringCharAtGenerator char_at_generator(receiver, |
- index, |
- scratch, |
- result, |
+ StringCharAtGenerator char_at_generator(receiver, index, scratch, result, |
&miss, // When not a string. |
&miss, // When not a number. |
&miss, // When index out of range. |
@@ -802,7 +761,7 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, |
// Push receiver, key and value for runtime call. |
__ Push(ReceiverRegister(), NameRegister(), ValueRegister()); |
- __ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode. |
+ __ mov(r0, Operand(Smi::FromInt(strict_mode))); // Strict mode. |
__ Push(r0); |
__ TailCallRuntime(Runtime::kSetProperty, 4, 1); |
@@ -810,18 +769,10 @@ void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm, |
static void KeyedStoreGenerateGenericHelper( |
- MacroAssembler* masm, |
- Label* fast_object, |
- Label* fast_double, |
- Label* slow, |
- KeyedStoreCheckMap check_map, |
- KeyedStoreIncrementLength increment_length, |
- Register value, |
- Register key, |
- Register receiver, |
- Register receiver_map, |
- Register elements_map, |
- Register elements) { |
+ MacroAssembler* masm, Label* fast_object, Label* fast_double, Label* slow, |
+ KeyedStoreCheckMap check_map, KeyedStoreIncrementLength increment_length, |
+ Register value, Register key, Register receiver, Register receiver_map, |
+ Register elements_map, Register elements) { |
Label transition_smi_elements; |
Label finish_object_store, non_double_value, transition_double_elements; |
Label fast_double_without_map_check; |
@@ -882,13 +833,8 @@ static void KeyedStoreGenerateGenericHelper( |
__ str(value, MemOperand(address)); |
// Update write barrier for the elements array address. |
__ mov(scratch_value, value); // Preserve the value which is returned. |
- __ RecordWrite(elements, |
- address, |
- scratch_value, |
- kLRHasNotBeenSaved, |
- kDontSaveFPRegs, |
- EMIT_REMEMBERED_SET, |
- OMIT_SMI_CHECK); |
+ __ RecordWrite(elements, address, scratch_value, kLRHasNotBeenSaved, |
+ kDontSaveFPRegs, EMIT_REMEMBERED_SET, OMIT_SMI_CHECK); |
__ Ret(); |
__ bind(fast_double); |
@@ -903,8 +849,8 @@ static void KeyedStoreGenerateGenericHelper( |
// We have to see if the double version of the hole is present. If so |
// go to the runtime. |
__ add(address, elements, |
- Operand((FixedDoubleArray::kHeaderSize + sizeof(kHoleNanLower32)) |
- - kHeapObjectTag)); |
+ Operand((FixedDoubleArray::kHeaderSize + sizeof(kHoleNanLower32)) - |
+ kHeapObjectTag)); |
__ ldr(scratch_value, |
MemOperand(address, key, LSL, kPointerSizeLog2, PreIndex)); |
__ cmp(scratch_value, Operand(kHoleNanUpper32)); |
@@ -930,25 +876,19 @@ static void KeyedStoreGenerateGenericHelper( |
// Value is a double. Transition FAST_SMI_ELEMENTS -> |
// FAST_DOUBLE_ELEMENTS and complete the store. |
- __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, |
- FAST_DOUBLE_ELEMENTS, |
- receiver_map, |
- r4, |
- slow); |
- AllocationSiteMode mode = AllocationSite::GetMode(FAST_SMI_ELEMENTS, |
- FAST_DOUBLE_ELEMENTS); |
- ElementsTransitionGenerator::GenerateSmiToDouble( |
- masm, receiver, key, value, receiver_map, mode, slow); |
+ __ LoadTransitionedArrayMapConditional( |
+ FAST_SMI_ELEMENTS, FAST_DOUBLE_ELEMENTS, receiver_map, r4, slow); |
+ AllocationSiteMode mode = |
+ AllocationSite::GetMode(FAST_SMI_ELEMENTS, FAST_DOUBLE_ELEMENTS); |
+ ElementsTransitionGenerator::GenerateSmiToDouble(masm, receiver, key, value, |
+ receiver_map, mode, slow); |
__ ldr(elements, FieldMemOperand(receiver, JSObject::kElementsOffset)); |
__ jmp(&fast_double_without_map_check); |
__ bind(&non_double_value); |
// Value is not a double, FAST_SMI_ELEMENTS -> FAST_ELEMENTS |
- __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, |
- FAST_ELEMENTS, |
- receiver_map, |
- r4, |
- slow); |
+ __ LoadTransitionedArrayMapConditional(FAST_SMI_ELEMENTS, FAST_ELEMENTS, |
+ receiver_map, r4, slow); |
mode = AllocationSite::GetMode(FAST_SMI_ELEMENTS, FAST_ELEMENTS); |
ElementsTransitionGenerator::GenerateMapChangeElementsTransition( |
masm, receiver, key, value, receiver_map, mode, slow); |
@@ -959,11 +899,8 @@ static void KeyedStoreGenerateGenericHelper( |
// Elements are FAST_DOUBLE_ELEMENTS, but value is an Object that's not a |
// HeapNumber. Make sure that the receiver is a Array with FAST_ELEMENTS and |
// transition array from FAST_DOUBLE_ELEMENTS to FAST_ELEMENTS |
- __ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, |
- FAST_ELEMENTS, |
- receiver_map, |
- r4, |
- slow); |
+ __ LoadTransitionedArrayMapConditional(FAST_DOUBLE_ELEMENTS, FAST_ELEMENTS, |
+ receiver_map, r4, slow); |
mode = AllocationSite::GetMode(FAST_DOUBLE_ELEMENTS, FAST_ELEMENTS); |
ElementsTransitionGenerator::GenerateDoubleToObject( |
masm, receiver, key, value, receiver_map, mode, slow); |
@@ -1042,8 +979,7 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
__ cmp(key, Operand(ip)); |
__ b(hs, &slow); |
__ ldr(elements_map, FieldMemOperand(elements, HeapObject::kMapOffset)); |
- __ cmp(elements_map, |
- Operand(masm->isolate()->factory()->fixed_array_map())); |
+ __ cmp(elements_map, Operand(masm->isolate()->factory()->fixed_array_map())); |
__ b(ne, &check_if_double_array); |
__ jmp(&fast_object_grow); |
@@ -1064,14 +1000,13 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
__ cmp(key, Operand(ip)); |
__ b(hs, &extra); |
- KeyedStoreGenerateGenericHelper(masm, &fast_object, &fast_double, |
- &slow, kCheckMap, kDontIncrementLength, |
- value, key, receiver, receiver_map, |
- elements_map, elements); |
+ KeyedStoreGenerateGenericHelper( |
+ masm, &fast_object, &fast_double, &slow, kCheckMap, kDontIncrementLength, |
+ value, key, receiver, receiver_map, elements_map, elements); |
KeyedStoreGenerateGenericHelper(masm, &fast_object_grow, &fast_double_grow, |
- &slow, kDontCheckMap, kIncrementLength, |
- value, key, receiver, receiver_map, |
- elements_map, elements); |
+ &slow, kDontCheckMap, kIncrementLength, value, |
+ key, receiver, receiver_map, elements_map, |
+ elements); |
} |
@@ -1086,8 +1021,8 @@ void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { |
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( |
Code::ComputeHandlerFlags(Code::STORE_IC)); |
- masm->isolate()->stub_cache()->GenerateProbe( |
- masm, flags, receiver, name, r3, r4, r5, r6); |
+ masm->isolate()->stub_cache()->GenerateProbe(masm, flags, receiver, name, r3, |
+ r4, r5, r6); |
// Cache miss: Jump to runtime. |
GenerateMiss(masm); |
@@ -1118,8 +1053,7 @@ void StoreIC::GenerateNormal(MacroAssembler* masm) { |
GenerateDictionaryStore(masm, &miss, dictionary, name, value, r4, r5); |
Counters* counters = masm->isolate()->counters(); |
- __ IncrementCounter(counters->store_normal_hit(), |
- 1, r4, r5); |
+ __ IncrementCounter(counters->store_normal_hit(), 1, r4, r5); |
__ Ret(); |
__ bind(&miss); |
@@ -1189,8 +1123,7 @@ void PatchInlinedSmiCode(Address address, InlinedSmiCheck check) { |
// The delta to the start of the map check instruction and the |
// condition code uses at the patched jump. |
int delta = Assembler::GetCmpImmediateRawImmediate(instr); |
- delta += |
- Assembler::GetCmpImmediateRegister(instr).code() * kOff12Mask; |
+ delta += Assembler::GetCmpImmediateRegister(instr).code() * kOff12Mask; |
// If the delta is 0 the instruction is cmp r0, #0 which also signals that |
// nothing was inlined. |
if (delta == 0) { |
@@ -1198,8 +1131,8 @@ void PatchInlinedSmiCode(Address address, InlinedSmiCheck check) { |
} |
if (FLAG_trace_ic) { |
- PrintF("[ patching ic at %p, cmp=%p, delta=%d\n", |
- address, cmp_instruction_address, delta); |
+ PrintF("[ patching ic at %p, cmp=%p, delta=%d\n", address, |
+ cmp_instruction_address, delta); |
} |
Address patch_address = |
@@ -1235,8 +1168,7 @@ void PatchInlinedSmiCode(Address address, InlinedSmiCheck check) { |
patcher.EmitCondition(eq); |
} |
} |
- |
- |
-} } // namespace v8::internal |
+} |
+} // namespace v8::internal |
#endif // V8_TARGET_ARCH_ARM |