| 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 "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
| 10 #include "src/compiler/node-properties-inl.h" | 10 #include "src/compiler/node-properties-inl.h" |
| (...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 case Constant::kFloat64: | 912 case Constant::kFloat64: |
| 913 __ Move(dst, | 913 __ Move(dst, |
| 914 isolate()->factory()->NewNumber(src.ToFloat64(), TENURED)); | 914 isolate()->factory()->NewNumber(src.ToFloat64(), TENURED)); |
| 915 break; | 915 break; |
| 916 case Constant::kExternalReference: | 916 case Constant::kExternalReference: |
| 917 __ Move(dst, src.ToExternalReference()); | 917 __ Move(dst, src.ToExternalReference()); |
| 918 break; | 918 break; |
| 919 case Constant::kHeapObject: | 919 case Constant::kHeapObject: |
| 920 __ Move(dst, src.ToHeapObject()); | 920 __ Move(dst, src.ToHeapObject()); |
| 921 break; | 921 break; |
| 922 case Constant::kRpoNumber: |
| 923 UNREACHABLE(); // TODO(dcarney): load of labels on x64. |
| 924 break; |
| 922 } | 925 } |
| 923 if (destination->IsStackSlot()) { | 926 if (destination->IsStackSlot()) { |
| 924 __ movq(g.ToOperand(destination), kScratchRegister); | 927 __ movq(g.ToOperand(destination), kScratchRegister); |
| 925 } | 928 } |
| 926 } else if (src.type() == Constant::kFloat32) { | 929 } else if (src.type() == Constant::kFloat32) { |
| 927 // TODO(turbofan): Can we do better here? | 930 // TODO(turbofan): Can we do better here? |
| 928 uint32_t src_const = bit_cast<uint32_t>(src.ToFloat32()); | 931 uint32_t src_const = bit_cast<uint32_t>(src.ToFloat32()); |
| 929 if (destination->IsDoubleRegister()) { | 932 if (destination->IsDoubleRegister()) { |
| 930 __ Move(g.ToDoubleRegister(destination), src_const); | 933 __ Move(g.ToDoubleRegister(destination), src_const); |
| 931 } else { | 934 } else { |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1032 } | 1035 } |
| 1033 } | 1036 } |
| 1034 MarkLazyDeoptSite(); | 1037 MarkLazyDeoptSite(); |
| 1035 } | 1038 } |
| 1036 | 1039 |
| 1037 #undef __ | 1040 #undef __ |
| 1038 | 1041 |
| 1039 } // namespace internal | 1042 } // namespace internal |
| 1040 } // namespace compiler | 1043 } // namespace compiler |
| 1041 } // namespace v8 | 1044 } // namespace v8 |
| OLD | NEW |