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

Side by Side Diff: src/crankshaft/hydrogen.cc

Issue 2460973003: [Tracing] Use TracingCategoryObserver in runtime statistics (Closed)
Patch Set: address cbruni's comments Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/crankshaft/hydrogen.h" 5 #include "src/crankshaft/hydrogen.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/allocation-site-scopes.h" 10 #include "src/allocation-site-scopes.h"
(...skipping 8876 matching lines...) Expand 10 before | Expand all | Expand 10 after
8887 default: 8887 default:
8888 // Not yet supported for inlining. 8888 // Not yet supported for inlining.
8889 break; 8889 break;
8890 } 8890 }
8891 return false; 8891 return false;
8892 } 8892 }
8893 8893
8894 8894
8895 bool HOptimizedGraphBuilder::TryInlineApiFunctionCall(Call* expr, 8895 bool HOptimizedGraphBuilder::TryInlineApiFunctionCall(Call* expr,
8896 HValue* receiver) { 8896 HValue* receiver) {
8897 if (FLAG_runtime_call_stats) return false; 8897 if (V8_UNLIKELY(FLAG_runtime_stats)) return false;
8898 Handle<JSFunction> function = expr->target(); 8898 Handle<JSFunction> function = expr->target();
8899 int argc = expr->arguments()->length(); 8899 int argc = expr->arguments()->length();
8900 SmallMapList receiver_maps; 8900 SmallMapList receiver_maps;
8901 return TryInlineApiCall(function, receiver, &receiver_maps, argc, expr->id(), 8901 return TryInlineApiCall(function, receiver, &receiver_maps, argc, expr->id(),
8902 kCallApiFunction, expr->tail_call_mode()); 8902 kCallApiFunction, expr->tail_call_mode());
8903 } 8903 }
8904 8904
8905 8905
8906 bool HOptimizedGraphBuilder::TryInlineApiMethodCall( 8906 bool HOptimizedGraphBuilder::TryInlineApiMethodCall(
8907 Call* expr, 8907 Call* expr,
8908 HValue* receiver, 8908 HValue* receiver,
8909 SmallMapList* receiver_maps) { 8909 SmallMapList* receiver_maps) {
8910 if (FLAG_runtime_call_stats) return false; 8910 if (V8_UNLIKELY(FLAG_runtime_stats)) return false;
8911 Handle<JSFunction> function = expr->target(); 8911 Handle<JSFunction> function = expr->target();
8912 int argc = expr->arguments()->length(); 8912 int argc = expr->arguments()->length();
8913 return TryInlineApiCall(function, receiver, receiver_maps, argc, expr->id(), 8913 return TryInlineApiCall(function, receiver, receiver_maps, argc, expr->id(),
8914 kCallApiMethod, expr->tail_call_mode()); 8914 kCallApiMethod, expr->tail_call_mode());
8915 } 8915 }
8916 8916
8917 bool HOptimizedGraphBuilder::TryInlineApiGetter(Handle<Object> function, 8917 bool HOptimizedGraphBuilder::TryInlineApiGetter(Handle<Object> function,
8918 Handle<Map> receiver_map, 8918 Handle<Map> receiver_map,
8919 BailoutId ast_id) { 8919 BailoutId ast_id) {
8920 if (FLAG_runtime_call_stats) return false; 8920 if (V8_UNLIKELY(FLAG_runtime_stats)) return false;
8921 SmallMapList receiver_maps(1, zone()); 8921 SmallMapList receiver_maps(1, zone());
8922 receiver_maps.Add(receiver_map, zone()); 8922 receiver_maps.Add(receiver_map, zone());
8923 return TryInlineApiCall(function, 8923 return TryInlineApiCall(function,
8924 NULL, // Receiver is on expression stack. 8924 NULL, // Receiver is on expression stack.
8925 &receiver_maps, 0, ast_id, kCallApiGetter, 8925 &receiver_maps, 0, ast_id, kCallApiGetter,
8926 TailCallMode::kDisallow); 8926 TailCallMode::kDisallow);
8927 } 8927 }
8928 8928
8929 bool HOptimizedGraphBuilder::TryInlineApiSetter(Handle<Object> function, 8929 bool HOptimizedGraphBuilder::TryInlineApiSetter(Handle<Object> function,
8930 Handle<Map> receiver_map, 8930 Handle<Map> receiver_map,
8931 BailoutId ast_id) { 8931 BailoutId ast_id) {
8932 SmallMapList receiver_maps(1, zone()); 8932 SmallMapList receiver_maps(1, zone());
8933 receiver_maps.Add(receiver_map, zone()); 8933 receiver_maps.Add(receiver_map, zone());
8934 return TryInlineApiCall(function, 8934 return TryInlineApiCall(function,
8935 NULL, // Receiver is on expression stack. 8935 NULL, // Receiver is on expression stack.
8936 &receiver_maps, 1, ast_id, kCallApiSetter, 8936 &receiver_maps, 1, ast_id, kCallApiSetter,
8937 TailCallMode::kDisallow); 8937 TailCallMode::kDisallow);
8938 } 8938 }
8939 8939
8940 bool HOptimizedGraphBuilder::TryInlineApiCall( 8940 bool HOptimizedGraphBuilder::TryInlineApiCall(
8941 Handle<Object> function, HValue* receiver, SmallMapList* receiver_maps, 8941 Handle<Object> function, HValue* receiver, SmallMapList* receiver_maps,
8942 int argc, BailoutId ast_id, ApiCallType call_type, 8942 int argc, BailoutId ast_id, ApiCallType call_type,
8943 TailCallMode syntactic_tail_call_mode) { 8943 TailCallMode syntactic_tail_call_mode) {
8944 if (FLAG_runtime_call_stats) return false; 8944 if (V8_UNLIKELY(FLAG_runtime_stats)) return false;
8945 if (function->IsJSFunction() && 8945 if (function->IsJSFunction() &&
8946 Handle<JSFunction>::cast(function)->context()->native_context() != 8946 Handle<JSFunction>::cast(function)->context()->native_context() !=
8947 top_info()->closure()->context()->native_context()) { 8947 top_info()->closure()->context()->native_context()) {
8948 return false; 8948 return false;
8949 } 8949 }
8950 if (argc > CallApiCallbackStub::kArgMax) { 8950 if (argc > CallApiCallbackStub::kArgMax) {
8951 return false; 8951 return false;
8952 } 8952 }
8953 8953
8954 CallOptimization optimization(function); 8954 CallOptimization optimization(function);
(...skipping 4080 matching lines...) Expand 10 before | Expand all | Expand 10 after
13035 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13035 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13036 } 13036 }
13037 13037
13038 #ifdef DEBUG 13038 #ifdef DEBUG
13039 graph_->Verify(false); // No full verify. 13039 graph_->Verify(false); // No full verify.
13040 #endif 13040 #endif
13041 } 13041 }
13042 13042
13043 } // namespace internal 13043 } // namespace internal
13044 } // namespace v8 13044 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698