Revision: 23816
Author: [email protected]
Date: Wed Sep 10 06:39:25 2014 UTC
Log: Revert "Switch inlining to use simplified instead of machine
loads.", "Fix size_t to int conversion compile error." and "Add copy
support in inliner.".
This reverts commits r23813, r23805 and r23804 for Windows breakage.
[email protected],[email protected]
Review URL: https://codereview.chromium.org/562543002
https://code.google.com/p/v8/source/detail?r=23816
Modified:
/branches/bleeding_edge/src/compiler/access-builder.cc
/branches/bleeding_edge/src/compiler/access-builder.h
/branches/bleeding_edge/src/compiler/change-lowering-unittest.cc
/branches/bleeding_edge/src/compiler/generic-graph.h
/branches/bleeding_edge/src/compiler/js-graph.h
/branches/bleeding_edge/src/compiler/js-inlining.cc
/branches/bleeding_edge/src/compiler/machine-operator-reducer-unittest.cc
/branches/bleeding_edge/src/compiler/pipeline.cc
/branches/bleeding_edge/src/compiler/simplified-operator-reducer-unittest.cc
/branches/bleeding_edge/test/cctest/cctest.status
/branches/bleeding_edge/test/cctest/compiler/test-changes-lowering.cc
/branches/bleeding_edge/test/cctest/compiler/test-js-constant-cache.cc
/branches/bleeding_edge/test/cctest/compiler/test-js-context-specialization.cc
/branches/bleeding_edge/test/cctest/compiler/test-js-typed-lowering.cc
/branches/bleeding_edge/test/cctest/compiler/test-machine-operator-reducer.cc
/branches/bleeding_edge/test/cctest/compiler/test-representation-change.cc
/branches/bleeding_edge/test/cctest/compiler/test-run-inlining.cc
/branches/bleeding_edge/test/cctest/compiler/test-simplified-lowering.cc
=======================================
--- /branches/bleeding_edge/src/compiler/access-builder.cc Tue Sep 9
15:55:47 2014 UTC
+++ /branches/bleeding_edge/src/compiler/access-builder.cc Wed Sep 10
06:39:25 2014 UTC
@@ -28,13 +28,6 @@
return {kTaggedBase, JSObject::kElementsOffset, Handle<Name>(),
Type::Internal(), kMachAnyTagged};
}
-
-
-// static
-FieldAccess AccessBuilder::ForJSFunctionContext() {
- return {kTaggedBase, JSFunction::kContextOffset, Handle<Name>(),
- Type::Internal(), kMachAnyTagged};
-}
// static
=======================================
--- /branches/bleeding_edge/src/compiler/access-builder.h Tue Sep 9
15:55:47 2014 UTC
+++ /branches/bleeding_edge/src/compiler/access-builder.h Wed Sep 10
06:39:25 2014 UTC
@@ -25,9 +25,6 @@
// Provides access to JSObject::elements() field.
static FieldAccess ForJSObjectElements();
- // Provides access to JSFunction::context() field.
- static FieldAccess ForJSFunctionContext();
-
// Provides access to JSArrayBuffer::backing_store() field.
static FieldAccess ForJSArrayBufferBackingStore();
=======================================
--- /branches/bleeding_edge/src/compiler/change-lowering-unittest.cc Tue
Sep 9 13:20:09 2014 UTC
+++ /branches/bleeding_edge/src/compiler/change-lowering-unittest.cc Wed
Sep 10 06:39:25 2014 UTC
@@ -74,12 +74,10 @@
Reduction Reduce(Node* node) {
Typer typer(zone());
- MachineOperatorBuilder machine(zone(), WordRepresentation());
- JSOperatorBuilder javascript(zone());
- JSGraph jsgraph(graph(), common(), &javascript, &typer, &machine);
+ JSGraph jsgraph(graph(), common(), &typer);
CompilationInfo info(isolate(), zone());
Linkage linkage(&info);
-
+ MachineOperatorBuilder machine(zone(), WordRepresentation());
ChangeLowering reducer(&jsgraph, &linkage, &machine);
return reducer.Reduce(node);
}
=======================================
--- /branches/bleeding_edge/src/compiler/generic-graph.h Tue Sep 9
13:20:09 2014 UTC
+++ /branches/bleeding_edge/src/compiler/generic-graph.h Wed Sep 10
06:39:25 2014 UTC
@@ -22,6 +22,7 @@
NodeId NextNodeID() { return next_node_id_++; }
NodeId NodeCount() const { return next_node_id_; }
+ void SetNextNodeId(NodeId next) { next_node_id_ = next; }
private:
Zone* zone_;
=======================================
--- /branches/bleeding_edge/src/compiler/js-graph.h Tue Sep 9 13:20:09
2014 UTC
+++ /branches/bleeding_edge/src/compiler/js-graph.h Wed Sep 10 06:39:25
2014 UTC
@@ -9,7 +9,6 @@
#include "src/compiler/common-operator.h"
#include "src/compiler/graph.h"
#include "src/compiler/js-operator.h"
-#include "src/compiler/machine-operator.h"
#include "src/compiler/node-properties.h"
namespace v8 {
@@ -23,14 +22,11 @@
// constants, and various helper methods.
class JSGraph : public ZoneObject {
public:
- JSGraph(Graph* graph, CommonOperatorBuilder* common,
- JSOperatorBuilder* javascript, Typer* typer,
- MachineOperatorBuilder* machine)
+ JSGraph(Graph* graph, CommonOperatorBuilder* common, Typer* typer)
: graph_(graph),
common_(common),
- javascript_(javascript),
+ javascript_(zone()),
typer_(typer),
- machine_(machine),
cache_(zone()) {}
// Canonicalized global constants.
@@ -77,9 +73,8 @@
return Constant(immediate);
}
- JSOperatorBuilder* javascript() { return javascript_; }
+ JSOperatorBuilder* javascript() { return &javascript_; }
CommonOperatorBuilder* common() { return common_; }
- MachineOperatorBuilder* machine() { return machine_; }
Graph* graph() { return graph_; }
Zone* zone() { return graph()->zone(); }
Isolate* isolate() { return zone()->isolate(); }
@@ -87,9 +82,8 @@
private:
Graph* graph_;
CommonOperatorBuilder* common_;
- JSOperatorBuilder* javascript_;
+ JSOperatorBuilder javascript_;
Typer* typer_;
- MachineOperatorBuilder* machine_;
SetOncePointer<Node> c_entry_stub_constant_;
SetOncePointer<Node> undefined_constant_;
=======================================
--- /branches/bleeding_edge/src/compiler/js-inlining.cc Tue Sep 9 15:55:47
2014 UTC
+++ /branches/bleeding_edge/src/compiler/js-inlining.cc Wed Sep 10 06:39:25
2014 UTC
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "src/compiler/access-builder.h"
#include "src/compiler/ast-graph-builder.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/generic-node-inl.h"
@@ -68,9 +67,14 @@
// A facade on a JSFunction's graph to facilitate inlining. It assumes the
// that the function graph has only one return statement, and provides
// {UnifyReturn} to convert a function graph to that end.
+// InlineAtCall will create some new nodes using {graph}'s builders (and
hence
+// those nodes will live in {graph}'s zone.
class Inlinee {
public:
- Inlinee(Node* start, Node* end) : start_(start), end_(end) {}
+ explicit Inlinee(JSGraph* graph) : jsgraph_(graph) {}
+
+ Graph* graph() { return jsgraph_->graph(); }
+ JSGraph* jsgraph() { return jsgraph_; }
// Returns the last regular control node, that is
// the last control node before the end node.
@@ -88,25 +92,24 @@
}
// Return the unique return statement of the graph.
Node* unique_return() {
- Node* unique_return = NodeProperties::GetControlInput(end_);
+ Node* unique_return =
+ NodeProperties::GetControlInput(jsgraph_->graph()->end());
DCHECK_EQ(IrOpcode::kReturn, unique_return->opcode());
return unique_return;
}
// Inline this graph at {call}, use {jsgraph} and its zone to create
// any new nodes.
void InlineAtCall(JSGraph* jsgraph, Node* call);
-
// Ensure that only a single return reaches the end node.
- static void UnifyReturn(JSGraph* jsgraph);
+ void UnifyReturn();
private:
- Node* start_;
- Node* end_;
+ JSGraph* jsgraph_;
};
-void Inlinee::UnifyReturn(JSGraph* jsgraph) {
- Graph* graph = jsgraph->graph();
+void Inlinee::UnifyReturn() {
+ Graph* graph = jsgraph_->graph();
Node* final_merge = NodeProperties::GetControlInput(graph->end(), 0);
if (final_merge->opcode() == IrOpcode::kReturn) {
@@ -117,11 +120,11 @@
int predecessors =
OperatorProperties::GetControlInputCount(final_merge->op());
- Operator* op_phi = jsgraph->common()->Phi(kMachAnyTagged, predecessors);
- Operator* op_ephi = jsgraph->common()->EffectPhi(predecessors);
+ Operator* op_phi = jsgraph_->common()->Phi(kMachAnyTagged, predecessors);
+ Operator* op_ephi = jsgraph_->common()->EffectPhi(predecessors);
- NodeVector values(jsgraph->zone());
- NodeVector effects(jsgraph->zone());
+ NodeVector values(jsgraph_->zone());
+ NodeVector effects(jsgraph_->zone());
// Iterate over all control flow predecessors,
// which must be return statements.
InputIter iter = final_merge->inputs().begin();
@@ -147,104 +150,37 @@
Node* ephi = graph->NewNode(op_ephi, static_cast<int>(effects.size()),
&effects.front());
Node* new_return =
- graph->NewNode(jsgraph->common()->Return(), phi, ephi, final_merge);
+ graph->NewNode(jsgraph_->common()->Return(), phi, ephi, final_merge);
graph->end()->ReplaceInput(0, new_return);
}
-class CopyVisitor : public NullNodeVisitor {
- public:
- CopyVisitor(Graph* source_graph, Graph* target_graph, Zone* temp_zone)
- : copies_(source_graph->NodeCount(), NULL, temp_zone),
- sentinels_(source_graph->NodeCount(), NULL, temp_zone),
- source_graph_(source_graph),
- target_graph_(target_graph),
- temp_zone_(temp_zone),
- sentinel_op_(IrOpcode::kDead, Operator::kNoProperties, 0, 0,
- "sentinel") {}
+void Inlinee::InlineAtCall(JSGraph* jsgraph, Node* call) {
+ MachineOperatorBuilder machine(jsgraph->zone());
- GenericGraphVisit::Control Post(Node* original) {
- NodeVector inputs(temp_zone_);
- for (InputIter it = original->inputs().begin();
- it != original->inputs().end(); ++it) {
- inputs.push_back(GetCopy(*it));
- }
-
- // Reuse the operator in the copy. This assumes that op lives in a zone
- // that lives longer than graph()'s zone.
- Node* copy = target_graph_->NewNode(
- original->op(), static_cast<int>(inputs.size()), &inputs.front());
- copies_[original->id()] = copy;
- return GenericGraphVisit::CONTINUE;
- }
-
- Node* GetCopy(Node* original) {
- Node* copy = copies_[original->id()];
- if (copy == NULL) {
- copy = GetSentinel(original);
- }
- return copy;
- }
-
- void CopyGraph() {
- source_graph_->VisitNodeInputsFromEnd(this);
- ReplaceSentinels();
- }
-
- const NodeVector& copies() { return copies_; }
-
- private:
- void ReplaceSentinels() {
- for (int id = 0; id < source_graph_->NodeCount(); ++id) {
- Node* sentinel = sentinels_[id];
- if (sentinel == NULL) continue;
- Node* copy = copies_[id];
- DCHECK_NE(NULL, copy);
- sentinel->ReplaceUses(copy);
- }
- }
-
- Node* GetSentinel(Node* original) {
- Node* sentinel = sentinels_[original->id()];
- if (sentinel == NULL) {
- sentinel = target_graph_->NewNode(&sentinel_op_);
- }
- return sentinel;
- }
-
- NodeVector copies_;
- NodeVector sentinels_;
- Graph* source_graph_;
- Graph* target_graph_;
- Zone* temp_zone_;
- SimpleOperator sentinel_op_;
-};
-
-
-void Inlinee::InlineAtCall(JSGraph* jsgraph, Node* call) {
// The scheduler is smart enough to place our code; we just ensure
{control}
// becomes the control input of the start of the inlinee.
Node* control = NodeProperties::GetControlInput(call);
// The inlinee uses the context from the JSFunction object. This will
// also be the effect dependency for the inlinee as it produces an
effect.
- SimplifiedOperatorBuilder simplified(jsgraph->zone());
+ // TODO(sigurds) Use simplified load once it is ready.
Node* context = jsgraph->graph()->NewNode(
- simplified.LoadField(AccessBuilder::ForJSFunctionContext()),
- NodeProperties::GetValueInput(call, 0),
+ machine.Load(kMachAnyTagged), NodeProperties::GetValueInput(call, 0),
+ jsgraph->Int32Constant(JSFunction::kContextOffset - kHeapObjectTag),
NodeProperties::GetEffectInput(call));
// {inlinee_inputs} counts JSFunction, Receiver, arguments, context,
// but not effect, control.
- int inlinee_inputs = start_->op()->OutputCount();
+ int inlinee_inputs = graph()->start()->op()->OutputCount();
// Context is last argument.
int inlinee_context_index = inlinee_inputs - 1;
// {inliner_inputs} counts JSFunction, Receiver, arguments, but not
// context, effect, control.
int inliner_inputs = OperatorProperties::GetValueInputCount(call->op());
// Iterate over all uses of the start node.
- UseIter iter = start_->uses().begin();
- while (iter != start_->uses().end()) {
+ UseIter iter = graph()->start()->uses().begin();
+ while (iter != graph()->start()->uses().end()) {
Node* use = *iter;
switch (use->opcode()) {
case IrOpcode::kParameter: {
@@ -298,10 +234,10 @@
}
-void JSInliner::TryInlineCall(Node* call) {
- DCHECK_EQ(IrOpcode::kJSCallFunction, call->opcode());
+void JSInliner::TryInlineCall(Node* node) {
+ DCHECK_EQ(IrOpcode::kJSCallFunction, node->opcode());
- HeapObjectMatcher<JSFunction> match(call->InputAt(0));
+ HeapObjectMatcher<JSFunction> match(node->InputAt(0));
if (!match.HasValue()) {
return;
}
@@ -339,20 +275,21 @@
info_->shared_info()->DebugName()->ToCString().get());
}
- Graph graph(info.zone());
- Typer typer(info.zone());
- JSGraph jsgraph(&graph, jsgraph_->common(), jsgraph_->javascript(),
&typer,
- jsgraph_->machine());
+ Graph graph(info_->zone());
+ graph.SetNextNodeId(jsgraph_->graph()->NextNodeID());
+
+ Typer typer(info_->zone());
+ CommonOperatorBuilder common(info_->zone());
+ JSGraph jsgraph(&graph, &common, &typer);
AstGraphBuilder graph_builder(&info, &jsgraph);
graph_builder.CreateGraph();
- Inlinee::UnifyReturn(&jsgraph);
- CopyVisitor visitor(&graph, jsgraph_->graph(), info.zone());
- visitor.CopyGraph();
+ Inlinee inlinee(&jsgraph);
+ inlinee.UnifyReturn();
+ inlinee.InlineAtCall(jsgraph_, node);
- Inlinee inlinee(visitor.GetCopy(graph.start()),
visitor.GetCopy(graph.end()));
- inlinee.InlineAtCall(jsgraph_, call);
+ jsgraph_->graph()->SetNextNodeId(inlinee.graph()->NextNodeID());
}
}
}
=======================================
---
/branches/bleeding_edge/src/compiler/machine-operator-reducer-unittest.cc
Tue Sep 9 14:18:17 2014 UTC
+++
/branches/bleeding_edge/src/compiler/machine-operator-reducer-unittest.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -20,8 +20,7 @@
protected:
Reduction Reduce(Node* node) {
Typer typer(zone());
- JSOperatorBuilder javascript(zone());
- JSGraph jsgraph(graph(), common(), &javascript, &typer, &machine_);
+ JSGraph jsgraph(graph(), common(), &typer);
MachineOperatorReducer reducer(&jsgraph);
return reducer.Reduce(node);
}
=======================================
--- /branches/bleeding_edge/src/compiler/pipeline.cc Tue Sep 9 13:20:09
2014 UTC
+++ /branches/bleeding_edge/src/compiler/pipeline.cc Wed Sep 10 06:39:25
2014 UTC
@@ -170,9 +170,7 @@
// typer could sweep over later.
Typer typer(zone());
CommonOperatorBuilder common(zone());
- JSOperatorBuilder javascript(zone());
- MachineOperatorBuilder machine(zone());
- JSGraph jsgraph(&graph, &common, &javascript, &typer, &machine);
+ JSGraph jsgraph(&graph, &common, &typer);
Node* context_node;
{
PhaseStats graph_builder_stats(info(), PhaseStats::CREATE_GRAPH,
@@ -258,6 +256,7 @@
SourcePositionTable::Scope pos(&source_positions,
SourcePosition::Unknown());
Linkage linkage(info());
+ MachineOperatorBuilder machine(zone());
ValueNumberingReducer vn_reducer(zone());
SimplifiedOperatorReducer simple_reducer(&jsgraph, &machine);
ChangeLowering lowering(&jsgraph, &linkage, &machine);
@@ -282,6 +281,7 @@
"generic lowering");
SourcePositionTable::Scope pos(&source_positions,
SourcePosition::Unknown());
+ MachineOperatorBuilder machine(zone());
JSGenericLowering lowering(info(), &jsgraph, &machine);
GraphReducer graph_reducer(&graph);
graph_reducer.AddReducer(&lowering);
=======================================
---
/branches/bleeding_edge/src/compiler/simplified-operator-reducer-unittest.cc
Tue Sep 9 13:20:09 2014 UTC
+++
/branches/bleeding_edge/src/compiler/simplified-operator-reducer-unittest.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -23,8 +23,7 @@
Reduction Reduce(Node* node) {
Typer typer(zone());
MachineOperatorBuilder machine(zone());
- JSOperatorBuilder javascript(zone());
- JSGraph jsgraph(graph(), common(), &javascript, &typer, &machine);
+ JSGraph jsgraph(graph(), common(), &typer);
SimplifiedOperatorReducer reducer(&jsgraph, &machine);
return reducer.Reduce(node);
}
=======================================
--- /branches/bleeding_edge/test/cctest/cctest.status Tue Sep 9 15:55:47
2014 UTC
+++ /branches/bleeding_edge/test/cctest/cctest.status Wed Sep 10 06:39:25
2014 UTC
@@ -94,10 +94,6 @@
'test-run-machops/RunLoadImmIndex': [SKIP],
'test-run-machops/RunSpillLotsOfThingsWithCall': [SKIP],
- # TODO(sigurds): The schedule is borked with multiple inlinees.
- 'test-run-inlining/InlineTwiceDependentDiamond': [SKIP],
- 'test-run-inlining/InlineTwiceDependentDiamondDifferent': [SKIP],
-
# Some tests are just too slow to run for now.
'test-api/Threading*': [PASS, NO_VARIANTS],
'test-heap/IncrementalMarkingStepMakesBigProgressWithLargeObjects':
[PASS, NO_VARIANTS],
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-changes-lowering.cc
Tue Sep 9 13:20:09 2014 UTC
+++ /branches/bleeding_edge/test/cctest/compiler/test-changes-lowering.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -31,13 +31,10 @@
explicit ChangesLoweringTester(MachineType p0 = kMachNone)
: GraphBuilderTester<ReturnType>(p0),
typer(this->zone()),
- javascript(this->zone()),
- jsgraph(this->graph(), this->common(), &javascript, &typer,
- this->machine()),
+ jsgraph(this->graph(), this->common(), &typer),
function(Handle<JSFunction>::null()) {}
Typer typer;
- JSOperatorBuilder javascript;
JSGraph jsgraph;
Handle<JSFunction> function;
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-js-constant-cache.cc
Tue Sep 9 13:20:09 2014 UTC
+++ /branches/bleeding_edge/test/cctest/compiler/test-js-constant-cache.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -17,16 +17,10 @@
class JSCacheTesterHelper {
protected:
explicit JSCacheTesterHelper(Zone* zone)
- : main_graph_(zone),
- main_common_(zone),
- main_javascript_(zone),
- main_typer_(zone),
- main_machine_(zone) {}
+ : main_graph_(zone), main_common_(zone), main_typer_(zone) {}
Graph main_graph_;
CommonOperatorBuilder main_common_;
- JSOperatorBuilder main_javascript_;
Typer main_typer_;
- MachineOperatorBuilder main_machine_;
};
@@ -36,8 +30,7 @@
public:
JSConstantCacheTester()
: JSCacheTesterHelper(main_zone()),
- JSGraph(&main_graph_, &main_common_, &main_javascript_,
&main_typer_,
- &main_machine_) {}
+ JSGraph(&main_graph_, &main_common_, &main_typer_) {}
Type* upper(Node* node) { return NodeProperties::GetBounds(node).upper; }
=======================================
---
/branches/bleeding_edge/test/cctest/compiler/test-js-context-specialization.cc
Tue Sep 9 13:20:09 2014 UTC
+++
/branches/bleeding_edge/test/cctest/compiler/test-js-context-specialization.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -22,10 +22,9 @@
: DirectGraphBuilder(new (main_zone()) Graph(main_zone())),
common_(main_zone()),
javascript_(main_zone()),
- machine_(main_zone()),
simplified_(main_zone()),
typer_(main_zone()),
- jsgraph_(graph(), common(), &javascript_, &typer_, &machine_),
+ jsgraph_(graph(), common(), &typer_),
info_(main_isolate(), main_zone()) {}
Factory* factory() { return main_isolate()->factory(); }
@@ -38,7 +37,6 @@
private:
CommonOperatorBuilder common_;
JSOperatorBuilder javascript_;
- MachineOperatorBuilder machine_;
SimplifiedOperatorBuilder simplified_;
Typer typer_;
JSGraph jsgraph_;
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-js-typed-lowering.cc
Tue Sep 9 13:20:09 2014 UTC
+++ /branches/bleeding_edge/test/cctest/compiler/test-js-typed-lowering.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -50,7 +50,7 @@
}
Node* reduce(Node* node) {
- JSGraph jsgraph(&graph, &common, &javascript, &typer, &machine);
+ JSGraph jsgraph(&graph, &common, &typer);
JSTypedLowering reducer(&jsgraph);
Reduction reduction = reducer.Reduce(node);
if (reduction.Changed()) return reduction.replacement();
=======================================
---
/branches/bleeding_edge/test/cctest/compiler/test-machine-operator-reducer.cc
Tue Sep 9 13:20:09 2014 UTC
+++
/branches/bleeding_edge/test/cctest/compiler/test-machine-operator-reducer.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -55,9 +55,8 @@
machine(main_zone()),
common(main_zone()),
graph(main_zone()),
- javascript(main_zone()),
typer(main_zone()),
- jsgraph(&graph, &common, &javascript, &typer, &machine),
+ jsgraph(&graph, &common, &typer),
maxuint32(Constant<int32_t>(kMaxUInt32)) {
Node* s = graph.NewNode(common.Start(num_parameters));
graph.SetStart(s);
@@ -69,7 +68,6 @@
MachineOperatorBuilder machine;
CommonOperatorBuilder common;
Graph graph;
- JSOperatorBuilder javascript;
Typer typer;
JSGraph jsgraph;
Node* maxuint32;
=======================================
---
/branches/bleeding_edge/test/cctest/compiler/test-representation-change.cc
Tue Sep 9 13:20:09 2014 UTC
+++
/branches/bleeding_edge/test/cctest/compiler/test-representation-change.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -25,16 +25,13 @@
explicit RepresentationChangerTester(int num_parameters = 0)
: GraphAndBuilders(main_zone()),
typer_(main_zone()),
- javascript_(main_zone()),
- jsgraph_(main_graph_, &main_common_, &javascript_, &typer_,
- &main_machine_),
+ jsgraph_(main_graph_, &main_common_, &typer_),
changer_(&jsgraph_, &main_simplified_, &main_machine_,
main_isolate()) {
Node* s = graph()->NewNode(common()->Start(num_parameters));
graph()->SetStart(s);
}
Typer typer_;
- JSOperatorBuilder javascript_;
JSGraph jsgraph_;
RepresentationChanger changer_;
=======================================
--- /branches/bleeding_edge/test/cctest/compiler/test-run-inlining.cc Tue
Sep 9 15:55:47 2014 UTC
+++ /branches/bleeding_edge/test/cctest/compiler/test-run-inlining.cc Wed
Sep 10 06:39:25 2014 UTC
@@ -42,8 +42,7 @@
"function bar(s, t) { return foo(s); };"
"return bar;})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(1), T.Val(1), T.Val(2));
@@ -58,8 +57,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(13), T.Val(1), T.Val(2));
@@ -75,8 +73,7 @@
"})();"
"(function (s) { return f(s)})",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(42 + 12), T.Val(12), T.undefined());
@@ -93,8 +90,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(42), T.Val("x"), T.undefined());
@@ -109,8 +105,7 @@
"return (function (s,t) { return bar(s); });"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(42 + 12), T.Val(12), T.undefined());
@@ -126,8 +121,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(42 + 12), T.Val(12), T.undefined());
@@ -142,8 +136,7 @@
"return (function (s,t) { return bar(s) + bar(t); });"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(2 * 42 + 12 + 4), T.Val(12), T.Val(4));
@@ -159,8 +152,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(42 + 42 + 12), T.Val(12), T.Val(4));
@@ -177,8 +169,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(-11), T.Val(11), T.Val(4));
@@ -195,8 +186,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(-329), T.Val(11), T.Val(4));
@@ -213,8 +203,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(0.0), T.Val(11), T.Val(4));
@@ -231,8 +220,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckThrows(T.undefined(), T.undefined());
@@ -248,8 +236,7 @@
"return bar;"
"})();",
CompilationInfo::kInliningEnabled |
- CompilationInfo::kContextSpecializing |
- CompilationInfo::kTypingEnabled);
+ CompilationInfo::kContextSpecializing);
InstallAssertStackDepthHelper(CcTest::isolate());
T.CheckCall(T.Val(42), T.undefined(), T.undefined());
=======================================
---
/branches/bleeding_edge/test/cctest/compiler/test-simplified-lowering.cc
Tue Sep 9 13:20:09 2014 UTC
+++
/branches/bleeding_edge/test/cctest/compiler/test-simplified-lowering.cc
Wed Sep 10 06:39:25 2014 UTC
@@ -36,13 +36,10 @@
MachineType p4 = kMachNone)
: GraphBuilderTester<ReturnType>(p0, p1, p2, p3, p4),
typer(this->zone()),
- javascript(this->zone()),
- jsgraph(this->graph(), this->common(), &javascript, &typer,
- this->machine()),
+ jsgraph(this->graph(), this->common(), &typer),
lowering(&jsgraph) {}
Typer typer;
- JSOperatorBuilder javascript;
JSGraph jsgraph;
SimplifiedLowering lowering;
@@ -629,7 +626,6 @@
class TestingGraph : public HandleAndZoneScope, public GraphAndBuilders {
public:
Typer typer;
- JSOperatorBuilder javascript;
JSGraph jsgraph;
Node* p0;
Node* p1;
@@ -640,8 +636,7 @@
explicit TestingGraph(Type* p0_type, Type* p1_type = Type::None())
: GraphAndBuilders(main_zone()),
typer(main_zone()),
- javascript(main_zone()),
- jsgraph(graph(), common(), &javascript, &typer, machine()) {
+ jsgraph(graph(), common(), &typer) {
start = graph()->NewNode(common()->Start(2));
graph()->SetStart(start);
ret =
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.