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_MIPS64 | 9 #if V8_TARGET_ARCH_MIPS64 |
10 | 10 |
(...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1070 // Check that it has indexed interceptor and access checks | 1070 // Check that it has indexed interceptor and access checks |
1071 // are not enabled for this object. | 1071 // are not enabled for this object. |
1072 __ lbu(scratch2, FieldMemOperand(scratch1, Map::kBitFieldOffset)); | 1072 __ lbu(scratch2, FieldMemOperand(scratch1, Map::kBitFieldOffset)); |
1073 __ And(scratch2, scratch2, Operand(kSlowCaseBitFieldMask)); | 1073 __ And(scratch2, scratch2, Operand(kSlowCaseBitFieldMask)); |
1074 __ Branch(&slow, ne, scratch2, Operand(1 << Map::kHasIndexedInterceptor)); | 1074 __ Branch(&slow, ne, scratch2, Operand(1 << Map::kHasIndexedInterceptor)); |
1075 // Everything is fine, call runtime. | 1075 // Everything is fine, call runtime. |
1076 __ Push(receiver, key); // Receiver, key. | 1076 __ Push(receiver, key); // Receiver, key. |
1077 | 1077 |
1078 // Perform tail call to the entry. | 1078 // Perform tail call to the entry. |
1079 __ TailCallExternalReference(ExternalReference( | 1079 __ TailCallExternalReference(ExternalReference( |
1080 IC_Utility(kKeyedLoadPropertyWithInterceptor), masm->isolate()), 2, 1); | 1080 IC_Utility(kLoadElementWithInterceptor), masm->isolate()), 2, 1); |
1081 | 1081 |
1082 __ bind(&slow); | 1082 __ bind(&slow); |
1083 GenerateMiss(masm); | 1083 GenerateMiss(masm); |
1084 } | 1084 } |
1085 | 1085 |
1086 | 1086 |
1087 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { | 1087 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { |
1088 // Push receiver, key and value for runtime call. | 1088 // Push receiver, key and value for runtime call. |
1089 __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); | 1089 __ Push(ReceiverRegister(), NameRegister(), ValueRegister()); |
1090 | 1090 |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 } else { | 1272 } else { |
1273 ASSERT(Assembler::IsBne(branch_instr)); | 1273 ASSERT(Assembler::IsBne(branch_instr)); |
1274 patcher.ChangeBranchCondition(eq); | 1274 patcher.ChangeBranchCondition(eq); |
1275 } | 1275 } |
1276 } | 1276 } |
1277 | 1277 |
1278 | 1278 |
1279 } } // namespace v8::internal | 1279 } } // namespace v8::internal |
1280 | 1280 |
1281 #endif // V8_TARGET_ARCH_MIPS64 | 1281 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |