OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_CCTEST_COMPILER_CALL_TESTER_H_ | 5 #ifndef V8_CCTEST_COMPILER_CALL_TESTER_H_ |
6 #define V8_CCTEST_COMPILER_CALL_TESTER_H_ | 6 #define V8_CCTEST_COMPILER_CALL_TESTER_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/simulator.h" | 10 #include "src/simulator.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 static MachineType Representation() { return kMachUint64; } | 79 static MachineType Representation() { return kMachUint64; } |
80 }; | 80 }; |
81 | 81 |
82 template <> | 82 template <> |
83 struct ReturnValueTraits<int16_t> { | 83 struct ReturnValueTraits<int16_t> { |
84 static int16_t Cast(uintptr_t r) { return static_cast<int16_t>(r); } | 84 static int16_t Cast(uintptr_t r) { return static_cast<int16_t>(r); } |
85 static MachineType Representation() { return kMachInt16; } | 85 static MachineType Representation() { return kMachInt16; } |
86 }; | 86 }; |
87 | 87 |
88 template <> | 88 template <> |
| 89 struct ReturnValueTraits<uint16_t> { |
| 90 static uint16_t Cast(uintptr_t r) { return static_cast<uint16_t>(r); } |
| 91 static MachineType Representation() { return kMachUint16; } |
| 92 }; |
| 93 |
| 94 template <> |
89 struct ReturnValueTraits<int8_t> { | 95 struct ReturnValueTraits<int8_t> { |
90 static int8_t Cast(uintptr_t r) { return static_cast<int8_t>(r); } | 96 static int8_t Cast(uintptr_t r) { return static_cast<int8_t>(r); } |
91 static MachineType Representation() { return kMachInt8; } | 97 static MachineType Representation() { return kMachInt8; } |
92 }; | 98 }; |
93 | 99 |
94 template <> | 100 template <> |
| 101 struct ReturnValueTraits<uint8_t> { |
| 102 static uint8_t Cast(uintptr_t r) { return static_cast<uint8_t>(r); } |
| 103 static MachineType Representation() { return kMachUint8; } |
| 104 }; |
| 105 |
| 106 template <> |
95 struct ReturnValueTraits<double> { | 107 struct ReturnValueTraits<double> { |
96 static double Cast(uintptr_t r) { | 108 static double Cast(uintptr_t r) { |
97 UNREACHABLE(); | 109 UNREACHABLE(); |
98 return 0.0; | 110 return 0.0; |
99 } | 111 } |
100 static MachineType Representation() { return kMachFloat64; } | 112 static MachineType Representation() { return kMachFloat64; } |
101 }; | 113 }; |
102 | 114 |
103 | 115 |
104 template <typename R> | 116 template <typename R> |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 | 378 |
367 private: | 379 private: |
368 CallHelper* helper() { return static_cast<C*>(this); } | 380 CallHelper* helper() { return static_cast<C*>(this); } |
369 }; | 381 }; |
370 | 382 |
371 } // namespace compiler | 383 } // namespace compiler |
372 } // namespace internal | 384 } // namespace internal |
373 } // namespace v8 | 385 } // namespace v8 |
374 | 386 |
375 #endif // V8_CCTEST_COMPILER_CALL_TESTER_H_ | 387 #endif // V8_CCTEST_COMPILER_CALL_TESTER_H_ |
OLD | NEW |