| 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 | 5 |
| 6 | 6 |
| 7 #include "src/v8.h" | 7 #include "src/v8.h" |
| 8 | 8 |
| 9 #if V8_TARGET_ARCH_MIPS | 9 #if V8_TARGET_ARCH_MIPS |
| 10 | 10 |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 | 276 |
| 277 | 277 |
| 278 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { | 278 void LoadIC::GenerateMegamorphic(MacroAssembler* masm) { |
| 279 // The return address is in lr. | 279 // The return address is in lr. |
| 280 Register receiver = ReceiverRegister(); | 280 Register receiver = ReceiverRegister(); |
| 281 Register name = NameRegister(); | 281 Register name = NameRegister(); |
| 282 ASSERT(receiver.is(a1)); | 282 ASSERT(receiver.is(a1)); |
| 283 ASSERT(name.is(a2)); | 283 ASSERT(name.is(a2)); |
| 284 | 284 |
| 285 // Probe the stub cache. | 285 // Probe the stub cache. |
| 286 Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC); | 286 Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( |
| 287 Code::ComputeHandlerFlags(Code::LOAD_IC)); |
| 287 masm->isolate()->stub_cache()->GenerateProbe( | 288 masm->isolate()->stub_cache()->GenerateProbe( |
| 288 masm, flags, receiver, name, a3, t0, t1, t2); | 289 masm, flags, receiver, name, a3, t0, t1, t2); |
| 289 | 290 |
| 290 // Cache miss: Jump to runtime. | 291 // Cache miss: Jump to runtime. |
| 291 GenerateMiss(masm); | 292 GenerateMiss(masm); |
| 292 } | 293 } |
| 293 | 294 |
| 294 | 295 |
| 295 void LoadIC::GenerateNormal(MacroAssembler* masm) { | 296 void LoadIC::GenerateNormal(MacroAssembler* masm) { |
| 296 Register dictionary = a0; | 297 Register dictionary = a0; |
| (...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1098 | 1099 |
| 1099 | 1100 |
| 1100 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { | 1101 void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { |
| 1101 Register receiver = ReceiverRegister(); | 1102 Register receiver = ReceiverRegister(); |
| 1102 Register name = NameRegister(); | 1103 Register name = NameRegister(); |
| 1103 ASSERT(receiver.is(a1)); | 1104 ASSERT(receiver.is(a1)); |
| 1104 ASSERT(name.is(a2)); | 1105 ASSERT(name.is(a2)); |
| 1105 ASSERT(ValueRegister().is(a0)); | 1106 ASSERT(ValueRegister().is(a0)); |
| 1106 | 1107 |
| 1107 // Get the receiver from the stack and probe the stub cache. | 1108 // Get the receiver from the stack and probe the stub cache. |
| 1108 Code::Flags flags = Code::ComputeHandlerFlags(Code::STORE_IC); | 1109 Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( |
| 1110 Code::ComputeHandlerFlags(Code::STORE_IC)); |
| 1109 masm->isolate()->stub_cache()->GenerateProbe( | 1111 masm->isolate()->stub_cache()->GenerateProbe( |
| 1110 masm, flags, receiver, name, a3, t0, t1, t2); | 1112 masm, flags, receiver, name, a3, t0, t1, t2); |
| 1111 | 1113 |
| 1112 // Cache miss: Jump to runtime. | 1114 // Cache miss: Jump to runtime. |
| 1113 GenerateMiss(masm); | 1115 GenerateMiss(masm); |
| 1114 } | 1116 } |
| 1115 | 1117 |
| 1116 | 1118 |
| 1117 void StoreIC::GenerateMiss(MacroAssembler* masm) { | 1119 void StoreIC::GenerateMiss(MacroAssembler* masm) { |
| 1118 __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); | 1120 __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1251 } else { | 1253 } else { |
| 1252 ASSERT(Assembler::IsBne(branch_instr)); | 1254 ASSERT(Assembler::IsBne(branch_instr)); |
| 1253 patcher.ChangeBranchCondition(eq); | 1255 patcher.ChangeBranchCondition(eq); |
| 1254 } | 1256 } |
| 1255 } | 1257 } |
| 1256 | 1258 |
| 1257 | 1259 |
| 1258 } } // namespace v8::internal | 1260 } } // namespace v8::internal |
| 1259 | 1261 |
| 1260 #endif // V8_TARGET_ARCH_MIPS | 1262 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |