| 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_CODEGEN_TESTER_H_ | 5 #ifndef V8_CCTEST_COMPILER_CODEGEN_TESTER_H_ |
| 6 #define V8_CCTEST_COMPILER_CODEGEN_TESTER_H_ | 6 #define V8_CCTEST_COMPILER_CODEGEN_TESTER_H_ |
| 7 | 7 |
| 8 #include "src/compiler/instruction-selector.h" | 8 #include "src/compiler/instruction-selector.h" |
| 9 #include "src/compiler/pipeline.h" | 9 #include "src/compiler/pipeline.h" |
| 10 #include "src/compiler/raw-machine-assembler.h" | 10 #include "src/compiler/raw-machine-assembler.h" |
| (...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 uint32_t call(uint32_t a0, uint32_t a1) { | 394 uint32_t call(uint32_t a0, uint32_t a1) { |
| 395 p0 = a0; | 395 p0 = a0; |
| 396 p1 = a1; | 396 p1 = a1; |
| 397 return static_cast<uint32_t>(T->Call()); | 397 return static_cast<uint32_t>(T->Call()); |
| 398 } | 398 } |
| 399 }; | 399 }; |
| 400 | 400 |
| 401 | 401 |
| 402 // A helper class for testing code sequences that take two float parameters and | 402 // A helper class for testing code sequences that take two float parameters and |
| 403 // return a float value. | 403 // return a float value. |
| 404 // TODO(titzer): figure out how to return floats correctly on ia32. | |
| 405 class Float32BinopTester : public BinopTester<float, USE_RESULT_BUFFER> { | 404 class Float32BinopTester : public BinopTester<float, USE_RESULT_BUFFER> { |
| 406 public: | 405 public: |
| 407 explicit Float32BinopTester(RawMachineAssemblerTester<int32_t>* tester) | 406 explicit Float32BinopTester(RawMachineAssemblerTester<int32_t>* tester) |
| 408 : BinopTester<float, USE_RESULT_BUFFER>(tester, MachineType::Float32()) {} | 407 : BinopTester<float, USE_RESULT_BUFFER>(tester, MachineType::Float32()) {} |
| 409 }; | 408 }; |
| 410 | 409 |
| 411 | 410 |
| 412 // A helper class for testing code sequences that take two double parameters and | 411 // A helper class for testing code sequences that take two double parameters and |
| 413 // return a double value. | 412 // return a double value. |
| 414 // TODO(titzer): figure out how to return doubles correctly on ia32. | |
| 415 class Float64BinopTester : public BinopTester<double, USE_RESULT_BUFFER> { | 413 class Float64BinopTester : public BinopTester<double, USE_RESULT_BUFFER> { |
| 416 public: | 414 public: |
| 417 explicit Float64BinopTester(RawMachineAssemblerTester<int32_t>* tester) | 415 explicit Float64BinopTester(RawMachineAssemblerTester<int32_t>* tester) |
| 418 : BinopTester<double, USE_RESULT_BUFFER>(tester, MachineType::Float64()) { | 416 : BinopTester<double, USE_RESULT_BUFFER>(tester, MachineType::Float64()) { |
| 419 } | 417 } |
| 420 }; | 418 }; |
| 421 | 419 |
| 422 | 420 |
| 423 // A helper class for testing code sequences that take two pointer parameters | 421 // A helper class for testing code sequences that take two pointer parameters |
| 424 // and return a pointer value. | 422 // and return a pointer value. |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 558 } else { | 556 } else { |
| 559 CHECK_EQ(x, y); | 557 CHECK_EQ(x, y); |
| 560 } | 558 } |
| 561 } | 559 } |
| 562 | 560 |
| 563 } // namespace compiler | 561 } // namespace compiler |
| 564 } // namespace internal | 562 } // namespace internal |
| 565 } // namespace v8 | 563 } // namespace v8 |
| 566 | 564 |
| 567 #endif // V8_CCTEST_COMPILER_CODEGEN_TESTER_H_ | 565 #endif // V8_CCTEST_COMPILER_CODEGEN_TESTER_H_ |
| OLD | NEW |