| 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 #if V8_TARGET_ARCH_IA32 | 5 #if V8_TARGET_ARCH_IA32 |
| 6 | 6 |
| 7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
| 8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 2195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2206 __ Move(eax, Immediate(Smi::FromInt(0))); | 2206 __ Move(eax, Immediate(Smi::FromInt(0))); |
| 2207 __ StoreRoot(eax, scratch, Heap::kInstanceofCacheFunctionRootIndex); | 2207 __ StoreRoot(eax, scratch, Heap::kInstanceofCacheFunctionRootIndex); |
| 2208 __ TailCallRuntime(Runtime::kHasInPrototypeChain); | 2208 __ TailCallRuntime(Runtime::kHasInPrototypeChain); |
| 2209 | 2209 |
| 2210 // Slow-case: Call the %InstanceOf runtime function. | 2210 // Slow-case: Call the %InstanceOf runtime function. |
| 2211 __ bind(&slow_case); | 2211 __ bind(&slow_case); |
| 2212 __ PopReturnAddressTo(scratch); | 2212 __ PopReturnAddressTo(scratch); |
| 2213 __ Push(object); | 2213 __ Push(object); |
| 2214 __ Push(function); | 2214 __ Push(function); |
| 2215 __ PushReturnAddressFrom(scratch); | 2215 __ PushReturnAddressFrom(scratch); |
| 2216 __ TailCallRuntime(Runtime::kInstanceOf); | 2216 __ TailCallRuntime(is_es6_instanceof() ? Runtime::kOrdinaryHasInstance |
| 2217 : Runtime::kInstanceOf); |
| 2217 } | 2218 } |
| 2218 | 2219 |
| 2219 | 2220 |
| 2220 // ------------------------------------------------------------------------- | 2221 // ------------------------------------------------------------------------- |
| 2221 // StringCharCodeAtGenerator | 2222 // StringCharCodeAtGenerator |
| 2222 | 2223 |
| 2223 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) { | 2224 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) { |
| 2224 // If the receiver is a smi trigger the non-string case. | 2225 // If the receiver is a smi trigger the non-string case. |
| 2225 STATIC_ASSERT(kSmiTag == 0); | 2226 STATIC_ASSERT(kSmiTag == 0); |
| 2226 if (check_mode_ == RECEIVER_IS_UNKNOWN) { | 2227 if (check_mode_ == RECEIVER_IS_UNKNOWN) { |
| (...skipping 3653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5880 return_value_operand, NULL); | 5881 return_value_operand, NULL); |
| 5881 } | 5882 } |
| 5882 | 5883 |
| 5883 | 5884 |
| 5884 #undef __ | 5885 #undef __ |
| 5885 | 5886 |
| 5886 } // namespace internal | 5887 } // namespace internal |
| 5887 } // namespace v8 | 5888 } // namespace v8 |
| 5888 | 5889 |
| 5889 #endif // V8_TARGET_ARCH_IA32 | 5890 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |