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

Side by Side Diff: src/compiler/pipeline.cc

Issue 1518013002: [turbofan] Add support for SOFT deopts and use that for property access. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Simplification Created 4 years, 10 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
« no previous file with comments | « src/compiler/js-native-context-specialization.cc ('k') | src/type-feedback-vector.h » ('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 "src/compiler/pipeline.h" 5 #include "src/compiler/pipeline.h"
6 6
7 #include <fstream> // NOLINT(readability/streams) 7 #include <fstream> // NOLINT(readability/streams)
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/base/adapters.h" 10 #include "src/base/adapters.h"
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 JSContextSpecialization context_specialization( 547 JSContextSpecialization context_specialization(
548 &graph_reducer, data->jsgraph(), 548 &graph_reducer, data->jsgraph(),
549 data->info()->is_function_context_specializing() 549 data->info()->is_function_context_specializing()
550 ? data->info()->context() 550 ? data->info()->context()
551 : MaybeHandle<Context>()); 551 : MaybeHandle<Context>());
552 JSFrameSpecialization frame_specialization(data->info()->osr_frame(), 552 JSFrameSpecialization frame_specialization(data->info()->osr_frame(),
553 data->jsgraph()); 553 data->jsgraph());
554 JSGlobalObjectSpecialization global_object_specialization( 554 JSGlobalObjectSpecialization global_object_specialization(
555 &graph_reducer, data->jsgraph(), data->native_context(), 555 &graph_reducer, data->jsgraph(), data->native_context(),
556 data->info()->dependencies()); 556 data->info()->dependencies());
557 JSNativeContextSpecialization::Flags flags =
558 JSNativeContextSpecialization::kNoFlags;
559 if (data->info()->is_bailout_on_uninitialized()) {
560 flags |= JSNativeContextSpecialization::kBailoutOnUninitialized;
561 }
562 if (data->info()->is_deoptimization_enabled()) {
563 flags |= JSNativeContextSpecialization::kDeoptimizationEnabled;
564 }
557 JSNativeContextSpecialization native_context_specialization( 565 JSNativeContextSpecialization native_context_specialization(
558 &graph_reducer, data->jsgraph(), 566 &graph_reducer, data->jsgraph(), flags, data->native_context(),
559 data->info()->is_deoptimization_enabled() 567 data->info()->dependencies(), temp_zone);
560 ? JSNativeContextSpecialization::kDeoptimizationEnabled
561 : JSNativeContextSpecialization::kNoFlags,
562 data->native_context(), data->info()->dependencies(), temp_zone);
563 JSInliningHeuristic inlining(&graph_reducer, 568 JSInliningHeuristic inlining(&graph_reducer,
564 data->info()->is_inlining_enabled() 569 data->info()->is_inlining_enabled()
565 ? JSInliningHeuristic::kGeneralInlining 570 ? JSInliningHeuristic::kGeneralInlining
566 : JSInliningHeuristic::kRestrictedInlining, 571 : JSInliningHeuristic::kRestrictedInlining,
567 temp_zone, data->info(), data->jsgraph()); 572 temp_zone, data->info(), data->jsgraph());
568 AddReducer(data, &graph_reducer, &dead_code_elimination); 573 AddReducer(data, &graph_reducer, &dead_code_elimination);
569 AddReducer(data, &graph_reducer, &common_reducer); 574 AddReducer(data, &graph_reducer, &common_reducer);
570 if (data->info()->is_frame_specializing()) { 575 if (data->info()->is_frame_specializing()) {
571 AddReducer(data, &graph_reducer, &frame_specialization); 576 AddReducer(data, &graph_reducer, &frame_specialization);
572 } 577 }
(...skipping 924 matching lines...) Expand 10 before | Expand all | Expand 10 after
1497 } 1502 }
1498 1503
1499 data->DeleteRegisterAllocationZone(); 1504 data->DeleteRegisterAllocationZone();
1500 } 1505 }
1501 1506
1502 Isolate* Pipeline::isolate() const { return info()->isolate(); } 1507 Isolate* Pipeline::isolate() const { return info()->isolate(); }
1503 1508
1504 } // namespace compiler 1509 } // namespace compiler
1505 } // namespace internal 1510 } // namespace internal
1506 } // namespace v8 1511 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/js-native-context-specialization.cc ('k') | src/type-feedback-vector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698