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

Side by Side Diff: runtime/vm/code_generator.cc

Issue 11694003: In unoptimized code use call for instanceof instead of inlined checks. This allows us to collect ty… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 12 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/code_generator.h" 5 #include "vm/code_generator.h"
6 6
7 #include "vm/assembler_macros.h" 7 #include "vm/assembler_macros.h"
8 #include "vm/ast.h" 8 #include "vm/ast.h"
9 #include "vm/bigint_operations.h" 9 #include "vm/bigint_operations.h"
10 #include "vm/code_patcher.h" 10 #include "vm/code_patcher.h"
(...skipping 12 matching lines...) Expand all
23 #include "vm/runtime_entry.h" 23 #include "vm/runtime_entry.h"
24 #include "vm/stack_frame.h" 24 #include "vm/stack_frame.h"
25 #include "vm/symbols.h" 25 #include "vm/symbols.h"
26 #include "vm/verifier.h" 26 #include "vm/verifier.h"
27 27
28 namespace dart { 28 namespace dart {
29 29
30 DEFINE_FLAG(bool, deoptimize_alot, false, 30 DEFINE_FLAG(bool, deoptimize_alot, false,
31 "Deoptimizes all live frames when we are about to return to Dart code from" 31 "Deoptimizes all live frames when we are about to return to Dart code from"
32 " native entries."); 32 " native entries.");
33 DEFINE_FLAG(bool, inline_cache, true, "Enable inline caches");
34 DEFINE_FLAG(bool, trace_deoptimization, false, "Trace deoptimization"); 33 DEFINE_FLAG(bool, trace_deoptimization, false, "Trace deoptimization");
35 DEFINE_FLAG(bool, trace_deoptimization_verbose, false, 34 DEFINE_FLAG(bool, trace_deoptimization_verbose, false,
36 "Trace deoptimization verbose"); 35 "Trace deoptimization verbose");
37 DEFINE_FLAG(bool, trace_ic, false, "Trace IC handling"); 36 DEFINE_FLAG(bool, trace_ic, false, "Trace IC handling");
38 DEFINE_FLAG(bool, trace_ic_miss_in_optimized, false, 37 DEFINE_FLAG(bool, trace_ic_miss_in_optimized, false,
39 "Trace IC miss in optimized code"); 38 "Trace IC miss in optimized code");
40 DEFINE_FLAG(bool, trace_patching, false, "Trace patching of code."); 39 DEFINE_FLAG(bool, trace_patching, false, "Trace patching of code.");
41 DEFINE_FLAG(bool, trace_runtime_calls, false, "Trace runtime calls"); 40 DEFINE_FLAG(bool, trace_runtime_calls, false, "Trace runtime calls");
42 DEFINE_FLAG(int, optimization_counter_threshold, 3000, 41 DEFINE_FLAG(int, optimization_counter_threshold, 3000,
43 "Function's usage-counter value before it is optimized, -1 means never"); 42 "Function's usage-counter value before it is optimized, -1 means never");
(...skipping 1755 matching lines...) Expand 10 before | Expand all | Expand 10 after
1799 return; 1798 return;
1800 } 1799 }
1801 HeapTrace* heap_trace = Isolate::Current()->heap()->trace(); 1800 HeapTrace* heap_trace = Isolate::Current()->heap()->trace();
1802 heap_trace->TraceStoreIntoObject(RawObject::ToAddr(object), 1801 heap_trace->TraceStoreIntoObject(RawObject::ToAddr(object),
1803 field_addr, 1802 field_addr,
1804 RawObject::ToAddr(value)); 1803 RawObject::ToAddr(value));
1805 } 1804 }
1806 END_LEAF_RUNTIME_ENTRY 1805 END_LEAF_RUNTIME_ENTRY
1807 1806
1808 } // namespace dart 1807 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698