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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/arm64/lithium-codegen-arm64.h" | 7 #include "src/arm64/lithium-codegen-arm64.h" |
8 #include "src/arm64/lithium-gap-resolver-arm64.h" | 8 #include "src/arm64/lithium-gap-resolver-arm64.h" |
9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/stub-cache.h" | 10 #include "src/stub-cache.h" |
(...skipping 5878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5889 | 5889 |
5890 __ JumpIfSmi(value, false_label); | 5890 __ JumpIfSmi(value, false_label); |
5891 if (!FLAG_harmony_typeof) { | 5891 if (!FLAG_harmony_typeof) { |
5892 __ JumpIfRoot(value, Heap::kNullValueRootIndex, true_label); | 5892 __ JumpIfRoot(value, Heap::kNullValueRootIndex, true_label); |
5893 } | 5893 } |
5894 __ JumpIfObjectType(value, map, scratch, | 5894 __ JumpIfObjectType(value, map, scratch, |
5895 FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, false_label, lt); | 5895 FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, false_label, lt); |
5896 __ CompareInstanceType(map, scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); | 5896 __ CompareInstanceType(map, scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); |
5897 __ B(gt, false_label); | 5897 __ B(gt, false_label); |
5898 // Check for undetectable objects => false. | 5898 // Check for undetectable objects => false. |
5899 __ Ldrb(scratch, FieldMemOperand(value, Map::kBitFieldOffset)); | 5899 __ Ldrb(scratch, FieldMemOperand(map, Map::kBitFieldOffset)); |
5900 EmitTestAndBranch(instr, eq, scratch, 1 << Map::kIsUndetectable); | 5900 EmitTestAndBranch(instr, eq, scratch, 1 << Map::kIsUndetectable); |
5901 | 5901 |
5902 } else { | 5902 } else { |
5903 __ B(false_label); | 5903 __ B(false_label); |
5904 } | 5904 } |
5905 } | 5905 } |
5906 | 5906 |
5907 | 5907 |
5908 void LCodeGen::DoUint32ToDouble(LUint32ToDouble* instr) { | 5908 void LCodeGen::DoUint32ToDouble(LUint32ToDouble* instr) { |
5909 __ Ucvtf(ToDoubleRegister(instr->result()), ToRegister32(instr->value())); | 5909 __ Ucvtf(ToDoubleRegister(instr->result()), ToRegister32(instr->value())); |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6052 Handle<ScopeInfo> scope_info = instr->scope_info(); | 6052 Handle<ScopeInfo> scope_info = instr->scope_info(); |
6053 __ Push(scope_info); | 6053 __ Push(scope_info); |
6054 __ Push(ToRegister(instr->function())); | 6054 __ Push(ToRegister(instr->function())); |
6055 CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr); | 6055 CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr); |
6056 RecordSafepoint(Safepoint::kNoLazyDeopt); | 6056 RecordSafepoint(Safepoint::kNoLazyDeopt); |
6057 } | 6057 } |
6058 | 6058 |
6059 | 6059 |
6060 | 6060 |
6061 } } // namespace v8::internal | 6061 } } // namespace v8::internal |
OLD | NEW |