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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 #include "test/cctest/cctest.h" | 6 #include "test/cctest/cctest.h" |
7 | 7 |
8 #include "src/compiler/code-generator.h" | 8 #include "src/compiler/code-generator.h" |
9 #include "src/compiler/common-operator.h" | 9 #include "src/compiler/common-operator.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 typedef v8::internal::compiler::Instruction TestInstr; | 23 typedef v8::internal::compiler::Instruction TestInstr; |
24 typedef v8::internal::compiler::InstructionSequence TestInstrSeq; | 24 typedef v8::internal::compiler::InstructionSequence TestInstrSeq; |
25 | 25 |
26 // A testing helper for the register code abstraction. | 26 // A testing helper for the register code abstraction. |
27 class InstructionTester : public HandleAndZoneScope { | 27 class InstructionTester : public HandleAndZoneScope { |
28 public: // We're all friends here. | 28 public: // We're all friends here. |
29 InstructionTester() | 29 InstructionTester() |
30 : isolate(main_isolate()), | 30 : isolate(main_isolate()), |
31 graph(zone()), | 31 graph(zone()), |
32 schedule(zone()), | 32 schedule(zone()), |
33 info(static_cast<HydrogenCodeStub*>(NULL), main_isolate()), | 33 fake_stub(main_isolate()), |
34 linkage(Linkage::ComputeIncoming(zone(), &info)), | 34 info(&fake_stub, main_isolate()), |
35 common(zone()), | 35 common(zone()), |
36 machine(zone()), | 36 machine(zone()), |
37 code(NULL) {} | 37 code(NULL) {} |
38 | 38 |
39 Isolate* isolate; | 39 Isolate* isolate; |
40 Graph graph; | 40 Graph graph; |
41 Schedule schedule; | 41 Schedule schedule; |
| 42 FakeStubForTesting fake_stub; |
42 CompilationInfoWithZone info; | 43 CompilationInfoWithZone info; |
43 Linkage linkage; | |
44 CommonOperatorBuilder common; | 44 CommonOperatorBuilder common; |
45 MachineOperatorBuilder machine; | 45 MachineOperatorBuilder machine; |
46 TestInstrSeq* code; | 46 TestInstrSeq* code; |
47 | 47 |
48 Zone* zone() { return main_zone(); } | 48 Zone* zone() { return main_zone(); } |
49 | 49 |
50 void allocCode() { | 50 void allocCode() { |
51 if (schedule.rpo_order()->size() == 0) { | 51 if (schedule.rpo_order()->size() == 0) { |
52 // Compute the RPO order. | 52 // Compute the RPO order. |
53 Scheduler::ComputeSpecialRPO(main_zone(), &schedule); | 53 Scheduler::ComputeSpecialRPO(main_zone(), &schedule); |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 CHECK(inputs[z].Equals(m->InputAt(z))); | 331 CHECK(inputs[z].Equals(m->InputAt(z))); |
332 } | 332 } |
333 | 333 |
334 for (size_t z = 0; z < k; z++) { | 334 for (size_t z = 0; z < k; z++) { |
335 CHECK(temps[z].Equals(m->TempAt(z))); | 335 CHECK(temps[z].Equals(m->TempAt(z))); |
336 } | 336 } |
337 } | 337 } |
338 } | 338 } |
339 } | 339 } |
340 } | 340 } |
OLD | NEW |