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 #ifndef V8_X64_LITHIUM_X64_H_ | 5 #ifndef V8_X64_LITHIUM_X64_H_ |
6 #define V8_X64_LITHIUM_X64_H_ | 6 #define V8_X64_LITHIUM_X64_H_ |
7 | 7 |
8 #include "src/hydrogen.h" | 8 #include "src/hydrogen.h" |
9 #include "src/lithium.h" | 9 #include "src/lithium.h" |
10 #include "src/lithium-allocator.h" | 10 #include "src/lithium-allocator.h" |
(...skipping 1301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1312 | 1312 |
1313 class LConstantS FINAL : public LTemplateInstruction<1, 0, 0> { | 1313 class LConstantS FINAL : public LTemplateInstruction<1, 0, 0> { |
1314 public: | 1314 public: |
1315 DECLARE_CONCRETE_INSTRUCTION(ConstantS, "constant-s") | 1315 DECLARE_CONCRETE_INSTRUCTION(ConstantS, "constant-s") |
1316 DECLARE_HYDROGEN_ACCESSOR(Constant) | 1316 DECLARE_HYDROGEN_ACCESSOR(Constant) |
1317 | 1317 |
1318 Smi* value() const { return Smi::FromInt(hydrogen()->Integer32Value()); } | 1318 Smi* value() const { return Smi::FromInt(hydrogen()->Integer32Value()); } |
1319 }; | 1319 }; |
1320 | 1320 |
1321 | 1321 |
1322 class LConstantD FINAL : public LTemplateInstruction<1, 0, 1> { | 1322 class LConstantD FINAL : public LTemplateInstruction<1, 0, 0> { |
1323 public: | 1323 public: |
1324 explicit LConstantD(LOperand* temp) { | |
1325 temps_[0] = temp; | |
1326 } | |
1327 | |
1328 LOperand* temp() { return temps_[0]; } | |
1329 | |
1330 DECLARE_CONCRETE_INSTRUCTION(ConstantD, "constant-d") | 1324 DECLARE_CONCRETE_INSTRUCTION(ConstantD, "constant-d") |
1331 DECLARE_HYDROGEN_ACCESSOR(Constant) | 1325 DECLARE_HYDROGEN_ACCESSOR(Constant) |
1332 | 1326 |
1333 double value() const { return hydrogen()->DoubleValue(); } | 1327 uint64_t bits() const { return hydrogen()->DoubleValueAsBits(); } |
1334 }; | 1328 }; |
1335 | 1329 |
1336 | 1330 |
1337 class LConstantE FINAL : public LTemplateInstruction<1, 0, 0> { | 1331 class LConstantE FINAL : public LTemplateInstruction<1, 0, 0> { |
1338 public: | 1332 public: |
1339 DECLARE_CONCRETE_INSTRUCTION(ConstantE, "constant-e") | 1333 DECLARE_CONCRETE_INSTRUCTION(ConstantE, "constant-e") |
1340 DECLARE_HYDROGEN_ACCESSOR(Constant) | 1334 DECLARE_HYDROGEN_ACCESSOR(Constant) |
1341 | 1335 |
1342 ExternalReference value() const { | 1336 ExternalReference value() const { |
1343 return hydrogen()->ExternalReferenceValue(); | 1337 return hydrogen()->ExternalReferenceValue(); |
(...skipping 1522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2866 | 2860 |
2867 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2861 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
2868 }; | 2862 }; |
2869 | 2863 |
2870 #undef DECLARE_HYDROGEN_ACCESSOR | 2864 #undef DECLARE_HYDROGEN_ACCESSOR |
2871 #undef DECLARE_CONCRETE_INSTRUCTION | 2865 #undef DECLARE_CONCRETE_INSTRUCTION |
2872 | 2866 |
2873 } } // namespace v8::int | 2867 } } // namespace v8::int |
2874 | 2868 |
2875 #endif // V8_X64_LITHIUM_X64_H_ | 2869 #endif // V8_X64_LITHIUM_X64_H_ |
OLD | NEW |