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 #include "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_MIPS | 7 #if V8_TARGET_ARCH_MIPS |
8 | 8 |
9 #include "ic-inl.h" | 9 #include "ic-inl.h" |
10 #include "codegen.h" | 10 #include "codegen.h" |
(...skipping 1140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1151 PushInterceptorArguments(masm(), receiver(), holder_reg, | 1151 PushInterceptorArguments(masm(), receiver(), holder_reg, |
1152 this->name(), interceptor_holder); | 1152 this->name(), interceptor_holder); |
1153 | 1153 |
1154 ExternalReference ref = ExternalReference( | 1154 ExternalReference ref = ExternalReference( |
1155 IC_Utility(IC::kLoadPropertyWithInterceptorForLoad), isolate()); | 1155 IC_Utility(IC::kLoadPropertyWithInterceptorForLoad), isolate()); |
1156 __ TailCallExternalReference(ref, StubCache::kInterceptorArgsLength, 1); | 1156 __ TailCallExternalReference(ref, StubCache::kInterceptorArgsLength, 1); |
1157 } | 1157 } |
1158 } | 1158 } |
1159 | 1159 |
1160 | 1160 |
1161 void StubCompiler::GenerateBooleanCheck(Register object, Label* miss) { | |
1162 Label success; | |
1163 // Check that the object is a boolean. | |
1164 __ LoadRoot(at, Heap::kTrueValueRootIndex); | |
1165 __ Branch(&success, eq, object, Operand(at)); | |
1166 __ LoadRoot(at, Heap::kFalseValueRootIndex); | |
1167 __ Branch(miss, ne, object, Operand(at)); | |
1168 __ bind(&success); | |
1169 } | |
1170 | |
1171 | |
1172 Handle<Code> StoreStubCompiler::CompileStoreCallback( | 1161 Handle<Code> StoreStubCompiler::CompileStoreCallback( |
1173 Handle<JSObject> object, | 1162 Handle<JSObject> object, |
1174 Handle<JSObject> holder, | 1163 Handle<JSObject> holder, |
1175 Handle<Name> name, | 1164 Handle<Name> name, |
1176 Handle<ExecutableAccessorInfo> callback) { | 1165 Handle<ExecutableAccessorInfo> callback) { |
1177 Register holder_reg = HandlerFrontend( | 1166 Register holder_reg = HandlerFrontend( |
1178 IC::CurrentTypeOf(object, isolate()), receiver(), holder, name); | 1167 IC::CurrentTypeOf(object, isolate()), receiver(), holder, name); |
1179 | 1168 |
1180 // Stub never generated for non-global objects that require access | 1169 // Stub never generated for non-global objects that require access |
1181 // checks. | 1170 // checks. |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1526 // ----------------------------------- | 1515 // ----------------------------------- |
1527 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1516 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1528 } | 1517 } |
1529 | 1518 |
1530 | 1519 |
1531 #undef __ | 1520 #undef __ |
1532 | 1521 |
1533 } } // namespace v8::internal | 1522 } } // namespace v8::internal |
1534 | 1523 |
1535 #endif // V8_TARGET_ARCH_MIPS | 1524 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |