| 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "src/compilation-info.h" | 9 #include "src/compilation-info.h" |
| 10 #include "src/compiler/code-generator-impl.h" | 10 #include "src/compiler/code-generator-impl.h" |
| (...skipping 3002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3013 } | 3013 } |
| 3014 case Constant::kInt64: | 3014 case Constant::kInt64: |
| 3015 if (RelocInfo::IsWasmPtrReference(src.rmode())) { | 3015 if (RelocInfo::IsWasmPtrReference(src.rmode())) { |
| 3016 __ movq(dst, src.ToInt64(), src.rmode()); | 3016 __ movq(dst, src.ToInt64(), src.rmode()); |
| 3017 } else { | 3017 } else { |
| 3018 DCHECK(!RelocInfo::IsWasmSizeReference(src.rmode())); | 3018 DCHECK(!RelocInfo::IsWasmSizeReference(src.rmode())); |
| 3019 __ Set(dst, src.ToInt64()); | 3019 __ Set(dst, src.ToInt64()); |
| 3020 } | 3020 } |
| 3021 break; | 3021 break; |
| 3022 case Constant::kFloat32: | 3022 case Constant::kFloat32: |
| 3023 __ Move(dst, | 3023 __ MoveNumber(dst, src.ToFloat32()); |
| 3024 isolate()->factory()->NewNumber(src.ToFloat32(), TENURED)); | |
| 3025 break; | 3024 break; |
| 3026 case Constant::kFloat64: | 3025 case Constant::kFloat64: |
| 3027 __ Move(dst, | 3026 __ MoveNumber(dst, src.ToFloat64()); |
| 3028 isolate()->factory()->NewNumber(src.ToFloat64(), TENURED)); | |
| 3029 break; | 3027 break; |
| 3030 case Constant::kExternalReference: | 3028 case Constant::kExternalReference: |
| 3031 __ Move(dst, src.ToExternalReference()); | 3029 __ Move(dst, src.ToExternalReference()); |
| 3032 break; | 3030 break; |
| 3033 case Constant::kHeapObject: { | 3031 case Constant::kHeapObject: { |
| 3034 Handle<HeapObject> src_object = src.ToHeapObject(); | 3032 Handle<HeapObject> src_object = src.ToHeapObject(); |
| 3035 Heap::RootListIndex index; | 3033 Heap::RootListIndex index; |
| 3036 if (IsMaterializableFromRoot(src_object, &index)) { | 3034 if (IsMaterializableFromRoot(src_object, &index)) { |
| 3037 __ LoadRoot(dst, index); | 3035 __ LoadRoot(dst, index); |
| 3038 } else { | 3036 } else { |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3214 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 3212 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
| 3215 __ Nop(padding_size); | 3213 __ Nop(padding_size); |
| 3216 } | 3214 } |
| 3217 } | 3215 } |
| 3218 | 3216 |
| 3219 #undef __ | 3217 #undef __ |
| 3220 | 3218 |
| 3221 } // namespace compiler | 3219 } // namespace compiler |
| 3222 } // namespace internal | 3220 } // namespace internal |
| 3223 } // namespace v8 | 3221 } // namespace v8 |
| OLD | NEW |