| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #if V8_TARGET_ARCH_ARM | 5 #if V8_TARGET_ARCH_ARM | 
| 6 | 6 | 
| 7 #include "src/codegen.h" | 7 #include "src/codegen.h" | 
| 8 #include "src/ic/ic.h" | 8 #include "src/ic/ic.h" | 
| 9 #include "src/ic/stub-cache.h" | 9 #include "src/ic/stub-cache.h" | 
| 10 #include "src/interface-descriptors.h" | 10 #include "src/interface-descriptors.h" | 
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 109   DCHECK(!extra2.is(no_reg)); | 109   DCHECK(!extra2.is(no_reg)); | 
| 110   DCHECK(!extra3.is(no_reg)); | 110   DCHECK(!extra3.is(no_reg)); | 
| 111 | 111 | 
| 112 #ifdef DEBUG | 112 #ifdef DEBUG | 
| 113   // If vector-based ics are in use, ensure that scratch, extra, extra2 and | 113   // If vector-based ics are in use, ensure that scratch, extra, extra2 and | 
| 114   // extra3 don't conflict with the vector and slot registers, which need | 114   // extra3 don't conflict with the vector and slot registers, which need | 
| 115   // to be preserved for a handler call or miss. | 115   // to be preserved for a handler call or miss. | 
| 116   if (IC::ICUseVector(ic_kind_)) { | 116   if (IC::ICUseVector(ic_kind_)) { | 
| 117     Register vector, slot; | 117     Register vector, slot; | 
| 118     if (ic_kind_ == Code::STORE_IC || ic_kind_ == Code::KEYED_STORE_IC) { | 118     if (ic_kind_ == Code::STORE_IC || ic_kind_ == Code::KEYED_STORE_IC) { | 
| 119       vector = VectorStoreICDescriptor::VectorRegister(); | 119       vector = StoreWithVectorDescriptor::VectorRegister(); | 
| 120       slot = VectorStoreICDescriptor::SlotRegister(); | 120       slot = StoreWithVectorDescriptor::SlotRegister(); | 
| 121     } else { | 121     } else { | 
| 122       DCHECK(ic_kind_ == Code::LOAD_IC || ic_kind_ == Code::KEYED_LOAD_IC); | 122       DCHECK(ic_kind_ == Code::LOAD_IC || ic_kind_ == Code::KEYED_LOAD_IC); | 
| 123       vector = LoadWithVectorDescriptor::VectorRegister(); | 123       vector = LoadWithVectorDescriptor::VectorRegister(); | 
| 124       slot = LoadWithVectorDescriptor::SlotRegister(); | 124       slot = LoadWithVectorDescriptor::SlotRegister(); | 
| 125     } | 125     } | 
| 126     DCHECK(!AreAliased(vector, slot, scratch, extra, extra2, extra3)); | 126     DCHECK(!AreAliased(vector, slot, scratch, extra, extra2, extra3)); | 
| 127   } | 127   } | 
| 128 #endif | 128 #endif | 
| 129 | 129 | 
| 130   Counters* counters = masm->isolate()->counters(); | 130   Counters* counters = masm->isolate()->counters(); | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 164   __ IncrementCounter(counters->megamorphic_stub_cache_misses(), 1, extra2, | 164   __ IncrementCounter(counters->megamorphic_stub_cache_misses(), 1, extra2, | 
| 165                       extra3); | 165                       extra3); | 
| 166 } | 166 } | 
| 167 | 167 | 
| 168 | 168 | 
| 169 #undef __ | 169 #undef __ | 
| 170 }  // namespace internal | 170 }  // namespace internal | 
| 171 }  // namespace v8 | 171 }  // namespace v8 | 
| 172 | 172 | 
| 173 #endif  // V8_TARGET_ARCH_ARM | 173 #endif  // V8_TARGET_ARCH_ARM | 
| OLD | NEW | 
|---|