Chromium Code Reviews| 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); |
| } |
| } |
| } |