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 |