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_X87 | 5 #if V8_TARGET_ARCH_X87 |
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 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1903 __ Move(eax, Immediate(Smi::FromInt(0))); | 1903 __ Move(eax, Immediate(Smi::FromInt(0))); |
1904 __ StoreRoot(eax, scratch, Heap::kInstanceofCacheFunctionRootIndex); | 1904 __ StoreRoot(eax, scratch, Heap::kInstanceofCacheFunctionRootIndex); |
1905 __ TailCallRuntime(Runtime::kHasInPrototypeChain); | 1905 __ TailCallRuntime(Runtime::kHasInPrototypeChain); |
1906 | 1906 |
1907 // Slow-case: Call the %InstanceOf runtime function. | 1907 // Slow-case: Call the %InstanceOf runtime function. |
1908 __ bind(&slow_case); | 1908 __ bind(&slow_case); |
1909 __ PopReturnAddressTo(scratch); | 1909 __ PopReturnAddressTo(scratch); |
1910 __ Push(object); | 1910 __ Push(object); |
1911 __ Push(function); | 1911 __ Push(function); |
1912 __ PushReturnAddressFrom(scratch); | 1912 __ PushReturnAddressFrom(scratch); |
1913 __ TailCallRuntime(Runtime::kInstanceOf); | 1913 __ TailCallRuntime(is_es6_instanceof() ? Runtime::kOrdinaryHasInstance |
| 1914 : Runtime::kInstanceOf); |
1914 } | 1915 } |
1915 | 1916 |
1916 | 1917 |
1917 // ------------------------------------------------------------------------- | 1918 // ------------------------------------------------------------------------- |
1918 // StringCharCodeAtGenerator | 1919 // StringCharCodeAtGenerator |
1919 | 1920 |
1920 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) { | 1921 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) { |
1921 // If the receiver is a smi trigger the non-string case. | 1922 // If the receiver is a smi trigger the non-string case. |
1922 if (check_mode_ == RECEIVER_IS_UNKNOWN) { | 1923 if (check_mode_ == RECEIVER_IS_UNKNOWN) { |
1923 __ JumpIfSmi(object_, receiver_not_string_); | 1924 __ JumpIfSmi(object_, receiver_not_string_); |
(...skipping 3597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5521 return_value_operand, NULL); | 5522 return_value_operand, NULL); |
5522 } | 5523 } |
5523 | 5524 |
5524 | 5525 |
5525 #undef __ | 5526 #undef __ |
5526 | 5527 |
5527 } // namespace internal | 5528 } // namespace internal |
5528 } // namespace v8 | 5529 } // namespace v8 |
5529 | 5530 |
5530 #endif // V8_TARGET_ARCH_X87 | 5531 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |