OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_X64 | 5 #if V8_TARGET_ARCH_X64 |
6 | 6 |
7 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/ic/handler-compiler.h" | 10 #include "src/ic/handler-compiler.h" |
(...skipping 4483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4494 __ j(not_equal, ¬_array); | 4494 __ j(not_equal, ¬_array); |
4495 HandleArrayCases(masm, receiver, name, vector, slot, feedback, receiver_map, | 4495 HandleArrayCases(masm, receiver, name, vector, slot, feedback, receiver_map, |
4496 integer_slot, r11, r15, true, &miss); | 4496 integer_slot, r11, r15, true, &miss); |
4497 | 4497 |
4498 __ bind(¬_array); | 4498 __ bind(¬_array); |
4499 __ CompareRoot(feedback, Heap::kmegamorphic_symbolRootIndex); | 4499 __ CompareRoot(feedback, Heap::kmegamorphic_symbolRootIndex); |
4500 __ j(not_equal, &miss); | 4500 __ j(not_equal, &miss); |
4501 Code::Flags code_flags = Code::RemoveTypeAndHolderFromFlags( | 4501 Code::Flags code_flags = Code::RemoveTypeAndHolderFromFlags( |
4502 Code::ComputeHandlerFlags(Code::LOAD_IC)); | 4502 Code::ComputeHandlerFlags(Code::LOAD_IC)); |
4503 masm->isolate()->stub_cache()->GenerateProbe( | 4503 masm->isolate()->stub_cache()->GenerateProbe( |
4504 masm, Code::LOAD_IC, code_flags, false, receiver, name, feedback, no_reg); | 4504 masm, Code::LOAD_IC, code_flags, receiver, name, feedback, no_reg); |
4505 | 4505 |
4506 __ bind(&miss); | 4506 __ bind(&miss); |
4507 LoadIC::GenerateMiss(masm); | 4507 LoadIC::GenerateMiss(masm); |
4508 | 4508 |
4509 __ bind(&load_smi_map); | 4509 __ bind(&load_smi_map); |
4510 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); | 4510 __ LoadRoot(receiver_map, Heap::kHeapNumberMapRootIndex); |
4511 __ jmp(&compare_map); | 4511 __ jmp(&compare_map); |
4512 } | 4512 } |
4513 | 4513 |
4514 | 4514 |
(...skipping 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5586 kStackSpace, nullptr, return_value_operand, NULL); | 5586 kStackSpace, nullptr, return_value_operand, NULL); |
5587 } | 5587 } |
5588 | 5588 |
5589 | 5589 |
5590 #undef __ | 5590 #undef __ |
5591 | 5591 |
5592 } // namespace internal | 5592 } // namespace internal |
5593 } // namespace v8 | 5593 } // namespace v8 |
5594 | 5594 |
5595 #endif // V8_TARGET_ARCH_X64 | 5595 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |