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 | 6 |
7 #include "src/assembler.h" | 7 #include "src/assembler.h" |
8 #include "src/compiler/js-graph.h" | 8 #include "src/compiler/js-graph.h" |
9 #include "src/compiler/node-properties.h" | 9 #include "src/compiler/node-properties.h" |
10 #include "src/compiler/typer.h" | 10 #include "src/compiler/typer.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 // TODO(dcarney): JSConstantCacheTester inherits from JSGraph??? | 34 // TODO(dcarney): JSConstantCacheTester inherits from JSGraph??? |
35 class JSConstantCacheTester : public HandleAndZoneScope, | 35 class JSConstantCacheTester : public HandleAndZoneScope, |
36 public JSCacheTesterHelper, | 36 public JSCacheTesterHelper, |
37 public JSGraph { | 37 public JSGraph { |
38 public: | 38 public: |
39 JSConstantCacheTester() | 39 JSConstantCacheTester() |
40 : JSCacheTesterHelper(main_isolate(), main_zone()), | 40 : JSCacheTesterHelper(main_isolate(), main_zone()), |
41 JSGraph(main_isolate(), &main_graph_, &main_common_, &main_javascript_, | 41 JSGraph(main_isolate(), &main_graph_, &main_common_, &main_javascript_, |
42 &main_machine_) { | 42 &main_machine_) { |
43 main_graph_.SetStart(main_graph_.NewNode(common()->Start(0))); | 43 main_graph_.SetStart(main_graph_.NewNode(common()->Start(0))); |
44 main_graph_.SetEnd( | 44 main_graph_.SetEnd(main_graph_.NewNode(common()->End(1))); |
45 main_graph_.NewNode(common()->End(1), main_graph_.start())); | |
46 main_typer_.Run(); | 45 main_typer_.Run(); |
47 } | 46 } |
48 | 47 |
49 Type* TypeOf(Node* node) { return NodeProperties::GetType(node); } | 48 Type* TypeOf(Node* node) { return NodeProperties::GetType(node); } |
50 | 49 |
51 Handle<HeapObject> handle(Node* node) { | 50 Handle<HeapObject> handle(Node* node) { |
52 CHECK_EQ(IrOpcode::kHeapConstant, node->opcode()); | 51 CHECK_EQ(IrOpcode::kHeapConstant, node->opcode()); |
53 return OpParameter<Handle<HeapObject>>(node); | 52 return OpParameter<Handle<HeapObject>>(node); |
54 } | 53 } |
55 | 54 |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 T.Constant(1.11), | 465 T.Constant(1.11), |
467 T.ExternalConstant(ExternalReference::address_of_one_half())}; | 466 T.ExternalConstant(ExternalReference::address_of_one_half())}; |
468 | 467 |
469 NodeVector nodes(T.main_zone()); | 468 NodeVector nodes(T.main_zone()); |
470 T.GetCachedNodes(&nodes); | 469 T.GetCachedNodes(&nodes); |
471 | 470 |
472 for (size_t i = 0; i < arraysize(constants); i++) { | 471 for (size_t i = 0; i < arraysize(constants); i++) { |
473 CHECK(Contains(&nodes, constants[i])); | 472 CHECK(Contains(&nodes, constants[i])); |
474 } | 473 } |
475 } | 474 } |
OLD | NEW |