Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: test/cctest/compiler/test-simplified-lowering.cc

Issue 562543002: Revert "Switch inlining to use simplified instead of machine loads.", "Fix size_t to int conversion… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « test/cctest/compiler/test-run-inlining.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <limits> 5 #include <limits>
6 6
7 #include "src/compiler/access-builder.h" 7 #include "src/compiler/access-builder.h"
8 #include "src/compiler/control-builders.h" 8 #include "src/compiler/control-builders.h"
9 #include "src/compiler/generic-node-inl.h" 9 #include "src/compiler/generic-node-inl.h"
10 #include "src/compiler/graph-visualizer.h" 10 #include "src/compiler/graph-visualizer.h"
(...skipping 18 matching lines...) Expand all
29 template <typename ReturnType> 29 template <typename ReturnType>
30 class SimplifiedLoweringTester : public GraphBuilderTester<ReturnType> { 30 class SimplifiedLoweringTester : public GraphBuilderTester<ReturnType> {
31 public: 31 public:
32 SimplifiedLoweringTester(MachineType p0 = kMachNone, 32 SimplifiedLoweringTester(MachineType p0 = kMachNone,
33 MachineType p1 = kMachNone, 33 MachineType p1 = kMachNone,
34 MachineType p2 = kMachNone, 34 MachineType p2 = kMachNone,
35 MachineType p3 = kMachNone, 35 MachineType p3 = kMachNone,
36 MachineType p4 = kMachNone) 36 MachineType p4 = kMachNone)
37 : GraphBuilderTester<ReturnType>(p0, p1, p2, p3, p4), 37 : GraphBuilderTester<ReturnType>(p0, p1, p2, p3, p4),
38 typer(this->zone()), 38 typer(this->zone()),
39 javascript(this->zone()), 39 jsgraph(this->graph(), this->common(), &typer),
40 jsgraph(this->graph(), this->common(), &javascript, &typer,
41 this->machine()),
42 lowering(&jsgraph) {} 40 lowering(&jsgraph) {}
43 41
44 Typer typer; 42 Typer typer;
45 JSOperatorBuilder javascript;
46 JSGraph jsgraph; 43 JSGraph jsgraph;
47 SimplifiedLowering lowering; 44 SimplifiedLowering lowering;
48 45
49 void LowerAllNodes() { 46 void LowerAllNodes() {
50 this->End(); 47 this->End();
51 lowering.LowerAllNodes(); 48 lowering.LowerAllNodes();
52 } 49 }
53 50
54 Factory* factory() { return this->isolate()->factory(); } 51 Factory* factory() { return this->isolate()->factory(); }
55 Heap* heap() { return this->isolate()->heap(); } 52 Heap* heap() { return this->isolate()->heap(); }
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 Smi::FromInt(0), Smi::FromInt(666), 619 Smi::FromInt(0), Smi::FromInt(666),
623 Smi::FromInt(77777), Smi::FromInt(Smi::kMaxValue)}; 620 Smi::FromInt(77777), Smi::FromInt(Smi::kMaxValue)};
624 RunAccessTest<Smi*>(kMachAnyTagged, data, arraysize(data)); 621 RunAccessTest<Smi*>(kMachAnyTagged, data, arraysize(data));
625 } 622 }
626 623
627 624
628 // Fills in most of the nodes of the graph in order to make tests shorter. 625 // Fills in most of the nodes of the graph in order to make tests shorter.
629 class TestingGraph : public HandleAndZoneScope, public GraphAndBuilders { 626 class TestingGraph : public HandleAndZoneScope, public GraphAndBuilders {
630 public: 627 public:
631 Typer typer; 628 Typer typer;
632 JSOperatorBuilder javascript;
633 JSGraph jsgraph; 629 JSGraph jsgraph;
634 Node* p0; 630 Node* p0;
635 Node* p1; 631 Node* p1;
636 Node* start; 632 Node* start;
637 Node* end; 633 Node* end;
638 Node* ret; 634 Node* ret;
639 635
640 explicit TestingGraph(Type* p0_type, Type* p1_type = Type::None()) 636 explicit TestingGraph(Type* p0_type, Type* p1_type = Type::None())
641 : GraphAndBuilders(main_zone()), 637 : GraphAndBuilders(main_zone()),
642 typer(main_zone()), 638 typer(main_zone()),
643 javascript(main_zone()), 639 jsgraph(graph(), common(), &typer) {
644 jsgraph(graph(), common(), &javascript, &typer, machine()) {
645 start = graph()->NewNode(common()->Start(2)); 640 start = graph()->NewNode(common()->Start(2));
646 graph()->SetStart(start); 641 graph()->SetStart(start);
647 ret = 642 ret =
648 graph()->NewNode(common()->Return(), jsgraph.Constant(0), start, start); 643 graph()->NewNode(common()->Return(), jsgraph.Constant(0), start, start);
649 end = graph()->NewNode(common()->End(), ret); 644 end = graph()->NewNode(common()->End(), ret);
650 graph()->SetEnd(end); 645 graph()->SetEnd(end);
651 p0 = graph()->NewNode(common()->Parameter(0), start); 646 p0 = graph()->NewNode(common()->Parameter(0), start);
652 p1 = graph()->NewNode(common()->Parameter(1), start); 647 p1 = graph()->NewNode(common()->Parameter(1), start);
653 NodeProperties::SetBounds(p0, Bounds(p0_type)); 648 NodeProperties::SetBounds(p0, Bounds(p0_type));
654 NodeProperties::SetBounds(p1, Bounds(p1_type)); 649 NodeProperties::SetBounds(p1, Bounds(p1_type));
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
1446 Node* phi = t.graph()->NewNode(t.common()->Phi(kMachAnyTagged, 2), load0, 1441 Node* phi = t.graph()->NewNode(t.common()->Phi(kMachAnyTagged, 2), load0,
1447 load1, t.start); 1442 load1, t.start);
1448 t.Return(t.Use(phi, kMachineTypes[i])); 1443 t.Return(t.Use(phi, kMachineTypes[i]));
1449 t.Lower(); 1444 t.Lower();
1450 1445
1451 CHECK_EQ(IrOpcode::kPhi, phi->opcode()); 1446 CHECK_EQ(IrOpcode::kPhi, phi->opcode());
1452 CHECK_EQ(RepresentationOf(kMachineTypes[i]), 1447 CHECK_EQ(RepresentationOf(kMachineTypes[i]),
1453 RepresentationOf(OpParameter<MachineType>(phi))); 1448 RepresentationOf(OpParameter<MachineType>(phi)));
1454 } 1449 }
1455 } 1450 }
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-run-inlining.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698