| OLD | NEW | 
|     1 // Copyright 2013 the V8 project authors. All rights reserved. |     1 // Copyright 2013 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 #include "src/v8.h" |     5 #include "src/v8.h" | 
|     6  |     6  | 
|     7 #if V8_TARGET_ARCH_ARM64 |     7 #if V8_TARGET_ARCH_ARM64 | 
|     8  |     8  | 
|     9 #include "src/arm64/assembler-arm64.h" |     9 #include "src/arm64/assembler-arm64.h" | 
|    10 #include "src/code-stubs.h" |    10 #include "src/code-stubs.h" | 
| (...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   362  |   362  | 
|   363  |   363  | 
|   364 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { |   364 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { | 
|   365   // The return address is in lr. |   365   // The return address is in lr. | 
|   366   Register receiver = ReceiverRegister(); |   366   Register receiver = ReceiverRegister(); | 
|   367   Register name = NameRegister(); |   367   Register name = NameRegister(); | 
|   368   ASSERT(receiver.is(x1)); |   368   ASSERT(receiver.is(x1)); | 
|   369   ASSERT(name.is(x2)); |   369   ASSERT(name.is(x2)); | 
|   370  |   370  | 
|   371   // Probe the stub cache. |   371   // Probe the stub cache. | 
|   372   Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC); |   372   Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( | 
 |   373       Code::ComputeHandlerFlags(Code::LOAD_IC)); | 
|   373   masm->isolate()->stub_cache()->GenerateProbe( |   374   masm->isolate()->stub_cache()->GenerateProbe( | 
|   374       masm, flags, receiver, name, x3, x4, x5, x6); |   375       masm, flags, receiver, name, x3, x4, x5, x6); | 
|   375  |   376  | 
|   376   // Cache miss: Jump to runtime. |   377   // Cache miss: Jump to runtime. | 
|   377   GenerateMiss(masm); |   378   GenerateMiss(masm); | 
|   378 } |   379 } | 
|   379  |   380  | 
|   380  |   381  | 
|   381 void LoadIC::GenerateNormal(MacroAssembler* masm) { |   382 void LoadIC::GenerateNormal(MacroAssembler* masm) { | 
|   382   Register dictionary = x0; |   383   Register dictionary = x0; | 
| (...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1115                                   elements_map, elements); |  1116                                   elements_map, elements); | 
|  1116 } |  1117 } | 
|  1117  |  1118  | 
|  1118  |  1119  | 
|  1119 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { |  1120 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { | 
|  1120   Register receiver = ReceiverRegister(); |  1121   Register receiver = ReceiverRegister(); | 
|  1121   Register name = NameRegister(); |  1122   Register name = NameRegister(); | 
|  1122   ASSERT(!AreAliased(receiver, name, ValueRegister(), x3, x4, x5, x6)); |  1123   ASSERT(!AreAliased(receiver, name, ValueRegister(), x3, x4, x5, x6)); | 
|  1123  |  1124  | 
|  1124   // Probe the stub cache. |  1125   // Probe the stub cache. | 
|  1125   Code::Flags flags = Code::ComputeHandlerFlags(Code::STORE_IC); |  1126   Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( | 
 |  1127       Code::ComputeHandlerFlags(Code::STORE_IC)); | 
|  1126   masm->isolate()->stub_cache()->GenerateProbe( |  1128   masm->isolate()->stub_cache()->GenerateProbe( | 
|  1127       masm, flags, receiver, name, x3, x4, x5, x6); |  1129       masm, flags, receiver, name, x3, x4, x5, x6); | 
|  1128  |  1130  | 
|  1129   // Cache miss: Jump to runtime. |  1131   // Cache miss: Jump to runtime. | 
|  1130   GenerateMiss(masm); |  1132   GenerateMiss(masm); | 
|  1131 } |  1133 } | 
|  1132  |  1134  | 
|  1133  |  1135  | 
|  1134 void StoreIC::GenerateMiss(MacroAssembler* masm) { |  1136 void StoreIC::GenerateMiss(MacroAssembler* masm) { | 
|  1135   __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); |  1137   __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); | 
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1281     ASSERT(to_patch->Mask(TestBranchMask) == TBNZ); |  1283     ASSERT(to_patch->Mask(TestBranchMask) == TBNZ); | 
|  1282     // This is JumpIfSmi(smi_reg, branch_imm). |  1284     // This is JumpIfSmi(smi_reg, branch_imm). | 
|  1283     patcher.tbz(smi_reg, 0, branch_imm); |  1285     patcher.tbz(smi_reg, 0, branch_imm); | 
|  1284   } |  1286   } | 
|  1285 } |  1287 } | 
|  1286  |  1288  | 
|  1287  |  1289  | 
|  1288 } }  // namespace v8::internal |  1290 } }  // namespace v8::internal | 
|  1289  |  1291  | 
|  1290 #endif  // V8_TARGET_ARCH_ARM64 |  1292 #endif  // V8_TARGET_ARCH_ARM64 | 
| OLD | NEW |