Index: runtime/vm/compiler.cc |
=================================================================== |
--- runtime/vm/compiler.cc (revision 37101) |
+++ runtime/vm/compiler.cc (working copy) |
@@ -59,6 +59,7 @@ |
"Enable compiler verification assertions"); |
DECLARE_FLAG(bool, trace_failed_optimization_attempts); |
+DECLARE_FLAG(bool, trace_patching); |
DECLARE_FLAG(bool, warn_on_javascript_compatibility); |
DECLARE_FLAG(bool, warning_as_error); |
@@ -559,6 +560,10 @@ |
if (FLAG_trace_compiler) { |
OS::Print("--> patching entry %#" Px "\n", |
Code::Handle(function.unoptimized_code()).EntryPoint()); |
+ } else if (FLAG_trace_patching) { |
Cutch
2014/06/06 21:55:47
Should this be:
if (FLAG_trace_compiler || FLAG_t
srdjan
2014/06/06 22:06:15
Done.
|
+ OS::Print("Patch unoptimized '%s' entry point %#" Px "\n", |
+ function.ToFullyQualifiedCString(), |
+ Code::Handle(function.unoptimized_code()).EntryPoint()); |
} |
} |
function.AttachCode(code); |
@@ -575,11 +580,10 @@ |
ASSERT(CodePatcher::CodeIsPatchable(code)); |
} |
if (parsed_function->HasDeferredPrefixes()) { |
- GrowableObjectArray* prefixes = parsed_function->DeferredPrefixes(); |
- LibraryPrefix& prefix = LibraryPrefix::Handle(); |
- for (intptr_t i = 0; i < prefixes->Length(); i++) { |
- prefix ^= prefixes->At(i); |
- prefix.RegisterDependentCode(code); |
+ ZoneGrowableArray<const LibraryPrefix*>* prefixes = |
+ parsed_function->deferred_prefixes(); |
+ for (intptr_t i = 0; i < prefixes->length(); i++) { |
+ (*prefixes)[i]->RegisterDependentCode(code); |
} |
} |
} |