| 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_IA32 | 7 #if V8_TARGET_ARCH_IA32 |
| 8 | 8 |
| 9 #include "ic-inl.h" | 9 #include "ic-inl.h" |
| 10 #include "codegen.h" | 10 #include "codegen.h" |
| (...skipping 1159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1170 __ push(scratch2()); // restore old return address | 1170 __ push(scratch2()); // restore old return address |
| 1171 | 1171 |
| 1172 ExternalReference ref = | 1172 ExternalReference ref = |
| 1173 ExternalReference(IC_Utility(IC::kLoadPropertyWithInterceptorForLoad), | 1173 ExternalReference(IC_Utility(IC::kLoadPropertyWithInterceptorForLoad), |
| 1174 isolate()); | 1174 isolate()); |
| 1175 __ TailCallExternalReference(ref, StubCache::kInterceptorArgsLength, 1); | 1175 __ TailCallExternalReference(ref, StubCache::kInterceptorArgsLength, 1); |
| 1176 } | 1176 } |
| 1177 } | 1177 } |
| 1178 | 1178 |
| 1179 | 1179 |
| 1180 void StubCompiler::GenerateBooleanCheck(Register object, Label* miss) { | |
| 1181 Label success; | |
| 1182 // Check that the object is a boolean. | |
| 1183 __ cmp(object, factory()->true_value()); | |
| 1184 __ j(equal, &success); | |
| 1185 __ cmp(object, factory()->false_value()); | |
| 1186 __ j(not_equal, miss); | |
| 1187 __ bind(&success); | |
| 1188 } | |
| 1189 | |
| 1190 | |
| 1191 Handle<Code> StoreStubCompiler::CompileStoreCallback( | 1180 Handle<Code> StoreStubCompiler::CompileStoreCallback( |
| 1192 Handle<JSObject> object, | 1181 Handle<JSObject> object, |
| 1193 Handle<JSObject> holder, | 1182 Handle<JSObject> holder, |
| 1194 Handle<Name> name, | 1183 Handle<Name> name, |
| 1195 Handle<ExecutableAccessorInfo> callback) { | 1184 Handle<ExecutableAccessorInfo> callback) { |
| 1196 Register holder_reg = HandlerFrontend( | 1185 Register holder_reg = HandlerFrontend( |
| 1197 IC::CurrentTypeOf(object, isolate()), receiver(), holder, name); | 1186 IC::CurrentTypeOf(object, isolate()), receiver(), holder, name); |
| 1198 | 1187 |
| 1199 __ pop(scratch1()); // remove the return address | 1188 __ pop(scratch1()); // remove the return address |
| 1200 __ push(receiver()); | 1189 __ push(receiver()); |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1545 // ----------------------------------- | 1534 // ----------------------------------- |
| 1546 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1535 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
| 1547 } | 1536 } |
| 1548 | 1537 |
| 1549 | 1538 |
| 1550 #undef __ | 1539 #undef __ |
| 1551 | 1540 |
| 1552 } } // namespace v8::internal | 1541 } } // namespace v8::internal |
| 1553 | 1542 |
| 1554 #endif // V8_TARGET_ARCH_IA32 | 1543 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |