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 1049 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1060 // Check that it has indexed interceptor and access checks | 1060 // Check that it has indexed interceptor and access checks |
1061 // are not enabled for this object. | 1061 // are not enabled for this object. |
1062 __ lbu(scratch2, FieldMemOperand(scratch1, Map::kBitFieldOffset)); | 1062 __ lbu(scratch2, FieldMemOperand(scratch1, Map::kBitFieldOffset)); |
1063 __ And(scratch2, scratch2, Operand(kSlowCaseBitFieldMask)); | 1063 __ And(scratch2, scratch2, Operand(kSlowCaseBitFieldMask)); |
1064 __ Branch(&slow, ne, scratch2, Operand(1 << Map::kHasIndexedInterceptor)); | 1064 __ Branch(&slow, ne, scratch2, Operand(1 << Map::kHasIndexedInterceptor)); |
1065 // Everything is fine, call runtime. | 1065 // Everything is fine, call runtime. |
1066 __ Push(receiver, key); // Receiver, key. | 1066 __ Push(receiver, key); // Receiver, key. |
1067 | 1067 |
1068 // Perform tail call to the entry. | 1068 // Perform tail call to the entry. |
1069 __ TailCallExternalReference(ExternalReference( | 1069 __ TailCallExternalReference(ExternalReference( |
1070 IC_Utility(kKeyedLoadPropertyWithInterceptor), masm->isolate()), 2, 1); | 1070 IC_Utility(kLoadElementWithInterceptor), masm->isolate()), 2, 1); |
1071 | 1071 |
1072 __ bind(&slow); | 1072 __ bind(&slow); |
1073 GenerateMiss(masm); | 1073 GenerateMiss(masm); |
1074 } | 1074 } |
1075 | 1075 |
1076 | 1076 |
1077 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { | 1077 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { |
1078 // Push receiver, key and value for runtime call. | 1078 // Push receiver, key and value for runtime call. |
1079 __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); | 1079 __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); |
1080 | 1080 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1265 } else { | 1265 } else { |
1266 ASSERT(Assembler::IsBne(branch_instr)); | 1266 ASSERT(Assembler::IsBne(branch_instr)); |
1267 patcher.ChangeBranchCondition(eq); | 1267 patcher.ChangeBranchCondition(eq); |
1268 } | 1268 } |
1269 } | 1269 } |
1270 | 1270 |
1271 | 1271 |
1272 } } // namespace v8::internal | 1272 } } // namespace v8::internal |
1273 | 1273 |
1274 #endif // V8_TARGET_ARCH_MIPS | 1274 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |