| Index: src/compiler/pipeline.cc
|
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
|
| index 7d414753b8cf4012001c516a95b9e88e95fdb937..aac26fba4d244a016221f209e0398b227dbed1cf 100644
|
| --- a/src/compiler/pipeline.cc
|
| +++ b/src/compiler/pipeline.cc
|
| @@ -34,8 +34,6 @@
|
| #include "src/compiler/js-inlining-heuristic.h"
|
| #include "src/compiler/js-intrinsic-lowering.h"
|
| #include "src/compiler/js-native-context-specialization.h"
|
| -#include "src/compiler/js-type-feedback.h"
|
| -#include "src/compiler/js-type-feedback-lowering.h"
|
| #include "src/compiler/js-typed-lowering.h"
|
| #include "src/compiler/jump-threading.h"
|
| #include "src/compiler/live-range-separator.h"
|
| @@ -89,7 +87,6 @@ class PipelineData {
|
| common_(nullptr),
|
| javascript_(nullptr),
|
| jsgraph_(nullptr),
|
| - js_type_feedback_(nullptr),
|
| schedule_(nullptr),
|
| instruction_zone_scope_(zone_pool_),
|
| instruction_zone_(instruction_zone_scope_.zone()),
|
| @@ -131,7 +128,6 @@ class PipelineData {
|
| common_(nullptr),
|
| javascript_(nullptr),
|
| jsgraph_(nullptr),
|
| - js_type_feedback_(nullptr),
|
| schedule_(schedule),
|
| instruction_zone_scope_(zone_pool_),
|
| instruction_zone_(instruction_zone_scope_.zone()),
|
| @@ -160,7 +156,6 @@ class PipelineData {
|
| common_(nullptr),
|
| javascript_(nullptr),
|
| jsgraph_(nullptr),
|
| - js_type_feedback_(nullptr),
|
| schedule_(nullptr),
|
| instruction_zone_scope_(zone_pool_),
|
| instruction_zone_(sequence->zone()),
|
| @@ -200,10 +195,6 @@ class PipelineData {
|
| CommonOperatorBuilder* common() const { return common_; }
|
| JSOperatorBuilder* javascript() const { return javascript_; }
|
| JSGraph* jsgraph() const { return jsgraph_; }
|
| - JSTypeFeedbackTable* js_type_feedback() { return js_type_feedback_; }
|
| - void set_js_type_feedback(JSTypeFeedbackTable* js_type_feedback) {
|
| - js_type_feedback_ = js_type_feedback;
|
| - }
|
|
|
| LoopAssignmentAnalysis* loop_assignment() const { return loop_assignment_; }
|
| void set_loop_assignment(LoopAssignmentAnalysis* loop_assignment) {
|
| @@ -240,7 +231,6 @@ class PipelineData {
|
| common_ = nullptr;
|
| javascript_ = nullptr;
|
| jsgraph_ = nullptr;
|
| - js_type_feedback_ = nullptr;
|
| schedule_ = nullptr;
|
| }
|
|
|
| @@ -308,7 +298,6 @@ class PipelineData {
|
| CommonOperatorBuilder* common_;
|
| JSOperatorBuilder* javascript_;
|
| JSGraph* jsgraph_;
|
| - JSTypeFeedbackTable* js_type_feedback_;
|
| Schedule* schedule_;
|
|
|
| // All objects in the following group of fields are allocated in
|
| @@ -366,10 +355,8 @@ class AstGraphBuilderWithPositions final : public AstGraphBuilder {
|
| AstGraphBuilderWithPositions(Zone* local_zone, CompilationInfo* info,
|
| JSGraph* jsgraph,
|
| LoopAssignmentAnalysis* loop_assignment,
|
| - JSTypeFeedbackTable* js_type_feedback,
|
| SourcePositionTable* source_positions)
|
| - : AstGraphBuilder(local_zone, info, jsgraph, loop_assignment,
|
| - js_type_feedback),
|
| + : AstGraphBuilder(local_zone, info, jsgraph, loop_assignment),
|
| source_positions_(source_positions),
|
| start_position_(info->shared_info()->start_position()) {}
|
|
|
| @@ -493,7 +480,7 @@ struct GraphBuilderPhase {
|
| } else {
|
| AstGraphBuilderWithPositions graph_builder(
|
| temp_zone, data->info(), data->jsgraph(), data->loop_assignment(),
|
| - data->js_type_feedback(), data->source_positions());
|
| + data->source_positions());
|
| succeeded = graph_builder.CreateGraph(stack_check);
|
| }
|
|
|
| @@ -583,34 +570,6 @@ struct OsrDeconstructionPhase {
|
| };
|
|
|
|
|
| -struct JSTypeFeedbackPhase {
|
| - static const char* phase_name() { return "type feedback specializing"; }
|
| -
|
| - void Run(PipelineData* data, Zone* temp_zone) {
|
| - Handle<Context> native_context(data->info()->context()->native_context());
|
| - TypeFeedbackOracle oracle(data->isolate(), temp_zone,
|
| - data->info()->unoptimized_code(),
|
| - data->info()->feedback_vector(), native_context);
|
| - JSGraphReducer graph_reducer(data->jsgraph(), temp_zone);
|
| - Handle<GlobalObject> global_object = Handle<GlobalObject>::null();
|
| - if (data->info()->has_global_object()) {
|
| - global_object =
|
| - Handle<GlobalObject>(data->info()->global_object(), data->isolate());
|
| - }
|
| - // TODO(titzer): introduce a specialization mode/flags enum to control
|
| - // specializing to the global object here.
|
| - JSTypeFeedbackSpecializer specializer(
|
| - &graph_reducer, data->jsgraph(), data->js_type_feedback(), &oracle,
|
| - global_object, data->info()->is_deoptimization_enabled()
|
| - ? JSTypeFeedbackSpecializer::kDeoptimizationEnabled
|
| - : JSTypeFeedbackSpecializer::kDeoptimizationDisabled,
|
| - data->info()->dependencies());
|
| - AddReducer(data, &graph_reducer, &specializer);
|
| - graph_reducer.ReduceGraph();
|
| - }
|
| -};
|
| -
|
| -
|
| struct TypedLoweringPhase {
|
| static const char* phase_name() { return "typed lowering"; }
|
|
|
| @@ -621,11 +580,6 @@ struct TypedLoweringPhase {
|
| LoadElimination load_elimination(&graph_reducer);
|
| JSBuiltinReducer builtin_reducer(&graph_reducer, data->jsgraph());
|
| JSTypedLowering typed_lowering(&graph_reducer, data->jsgraph(), temp_zone);
|
| - JSTypeFeedbackLowering type_feedback_lowering(
|
| - &graph_reducer, data->info()->is_deoptimization_enabled()
|
| - ? JSTypeFeedbackLowering::kDeoptimizationEnabled
|
| - : JSTypeFeedbackLowering::kNoFlags,
|
| - data->jsgraph());
|
| JSIntrinsicLowering intrinsic_lowering(
|
| &graph_reducer, data->jsgraph(),
|
| data->info()->is_deoptimization_enabled()
|
| @@ -637,7 +591,6 @@ struct TypedLoweringPhase {
|
| AddReducer(data, &graph_reducer, &builtin_reducer);
|
| AddReducer(data, &graph_reducer, &typed_lowering);
|
| AddReducer(data, &graph_reducer, &intrinsic_lowering);
|
| - AddReducer(data, &graph_reducer, &type_feedback_lowering);
|
| AddReducer(data, &graph_reducer, &load_elimination);
|
| AddReducer(data, &graph_reducer, &common_reducer);
|
| graph_reducer.ReduceGraph();
|
| @@ -1095,11 +1048,6 @@ Handle<Code> Pipeline::GenerateCode() {
|
| PipelineData data(&zone_pool, info(), pipeline_statistics.get());
|
| this->data_ = &data;
|
|
|
| - if (info()->is_type_feedback_enabled()) {
|
| - data.set_js_type_feedback(new (data.graph_zone())
|
| - JSTypeFeedbackTable(data.graph_zone()));
|
| - }
|
| -
|
| BeginPhaseKind("graph creation");
|
|
|
| if (FLAG_trace_turbo) {
|
| @@ -1166,11 +1114,6 @@ Handle<Code> Pipeline::GenerateCode() {
|
| RunPrintAndVerify("Loop peeled");
|
| }
|
|
|
| - if (info()->is_type_feedback_enabled()) {
|
| - Run<JSTypeFeedbackPhase>();
|
| - RunPrintAndVerify("JSType feedback");
|
| - }
|
| -
|
| // Lower simplified operators and insert changes.
|
| Run<SimplifiedLoweringPhase>();
|
| RunPrintAndVerify("Lowered simplified");
|
|
|