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

Side by Side Diff: test/cctest/compiler/test-machine-operator-reducer.cc

Issue 547233003: [turbofan] Machine operators are globally shared singletons. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Next windows fix. 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-js-typed-lowering.cc ('k') | test/cctest/compiler/test-schedule.cc » ('j') | 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 "test/cctest/cctest.h" 5 #include "test/cctest/cctest.h"
6 6
7 #include "src/base/utils/random-number-generator.h" 7 #include "src/base/utils/random-number-generator.h"
8 #include "src/compiler/graph-inl.h" 8 #include "src/compiler/graph-inl.h"
9 #include "src/compiler/js-graph.h" 9 #include "src/compiler/js-graph.h"
10 #include "src/compiler/machine-operator-reducer.h" 10 #include "src/compiler/machine-operator-reducer.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 return OpParameter<double>(op); 46 return OpParameter<double>(op);
47 } 47 }
48 48
49 49
50 class ReducerTester : public HandleAndZoneScope { 50 class ReducerTester : public HandleAndZoneScope {
51 public: 51 public:
52 explicit ReducerTester(int num_parameters = 0) 52 explicit ReducerTester(int num_parameters = 0)
53 : isolate(main_isolate()), 53 : isolate(main_isolate()),
54 binop(NULL), 54 binop(NULL),
55 unop(NULL), 55 unop(NULL),
56 machine(main_zone()),
57 common(main_zone()), 56 common(main_zone()),
58 graph(main_zone()), 57 graph(main_zone()),
59 typer(main_zone()), 58 typer(main_zone()),
60 jsgraph(&graph, &common, &typer), 59 jsgraph(&graph, &common, &typer),
61 maxuint32(Constant<int32_t>(kMaxUInt32)) { 60 maxuint32(Constant<int32_t>(kMaxUInt32)) {
62 Node* s = graph.NewNode(common.Start(num_parameters)); 61 Node* s = graph.NewNode(common.Start(num_parameters));
63 graph.SetStart(s); 62 graph.SetStart(s);
64 } 63 }
65 64
66 Isolate* isolate; 65 Isolate* isolate;
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 Node* index = R.Constant<int32_t>(4); 659 Node* index = R.Constant<int32_t>(4);
661 Node* load = R.graph.NewNode(R.machine.Load(kMachInt32), base, index); 660 Node* load = R.graph.NewNode(R.machine.Load(kMachInt32), base, index);
662 661
663 { 662 {
664 MachineOperatorReducer reducer(&R.jsgraph); 663 MachineOperatorReducer reducer(&R.jsgraph);
665 Reduction reduction = reducer.Reduce(load); 664 Reduction reduction = reducer.Reduce(load);
666 CHECK(!reduction.Changed()); // loads should not be reduced. 665 CHECK(!reduction.Changed()); // loads should not be reduced.
667 } 666 }
668 667
669 { 668 {
670 Node* store = R.graph.NewNode(R.machine.Store(kMachInt32, kNoWriteBarrier), 669 Node* store = R.graph.NewNode(
671 base, index, load); 670 R.machine.Store(StoreRepresentation(kMachInt32, kNoWriteBarrier)), base,
671 index, load);
672 MachineOperatorReducer reducer(&R.jsgraph); 672 MachineOperatorReducer reducer(&R.jsgraph);
673 Reduction reduction = reducer.Reduce(store); 673 Reduction reduction = reducer.Reduce(store);
674 CHECK(!reduction.Changed()); // stores should not be reduced. 674 CHECK(!reduction.Changed()); // stores should not be reduced.
675 } 675 }
676 } 676 }
677 677
678 678
679 static void CheckNans(ReducerTester* R) { 679 static void CheckNans(ReducerTester* R) {
680 Node* x = R->Parameter(); 680 Node* x = R->Parameter();
681 std::vector<double> nans = ValueHelper::nan_vector(); 681 std::vector<double> nans = ValueHelper::nan_vector();
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
798 // TODO(titzer): test MachineOperatorReducer for Int64Mul 798 // TODO(titzer): test MachineOperatorReducer for Int64Mul
799 // TODO(titzer): test MachineOperatorReducer for Int64UMul 799 // TODO(titzer): test MachineOperatorReducer for Int64UMul
800 // TODO(titzer): test MachineOperatorReducer for Int64Div 800 // TODO(titzer): test MachineOperatorReducer for Int64Div
801 // TODO(titzer): test MachineOperatorReducer for Int64UDiv 801 // TODO(titzer): test MachineOperatorReducer for Int64UDiv
802 // TODO(titzer): test MachineOperatorReducer for Int64Mod 802 // TODO(titzer): test MachineOperatorReducer for Int64Mod
803 // TODO(titzer): test MachineOperatorReducer for Int64UMod 803 // TODO(titzer): test MachineOperatorReducer for Int64UMod
804 // TODO(titzer): test MachineOperatorReducer for Int64Neg 804 // TODO(titzer): test MachineOperatorReducer for Int64Neg
805 // TODO(titzer): test MachineOperatorReducer for ChangeInt32ToFloat64 805 // TODO(titzer): test MachineOperatorReducer for ChangeInt32ToFloat64
806 // TODO(titzer): test MachineOperatorReducer for ChangeFloat64ToInt32 806 // TODO(titzer): test MachineOperatorReducer for ChangeFloat64ToInt32
807 // TODO(titzer): test MachineOperatorReducer for Float64Compare 807 // TODO(titzer): test MachineOperatorReducer for Float64Compare
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-js-typed-lowering.cc ('k') | test/cctest/compiler/test-schedule.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698