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

Unified Diff: runtime/vm/jit_optimizer.cc

Issue 1745453002: More fixes for background compilation (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix release build 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/jit_optimizer.cc
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
index b98b07c34d4e091a4f2450ee4c369409111f83d5..f5f221110d591c90a0e93a73c14cdfad1864a120 100644
--- a/runtime/vm/jit_optimizer.cc
+++ b/runtime/vm/jit_optimizer.cc
@@ -1262,7 +1262,7 @@ bool JitOptimizer::TryReplaceWithUnaryOp(InstanceCallInstr* call,
}
-// Using field class
+// Using field class.
RawField* JitOptimizer::GetField(intptr_t class_id,
const String& field_name) {
Class& cls = Class::Handle(Z, isolate()->class_table()->At(class_id));
@@ -1270,7 +1270,12 @@ RawField* JitOptimizer::GetField(intptr_t class_id,
while (!cls.IsNull()) {
field = cls.LookupInstanceField(field_name);
if (!field.IsNull()) {
- return field.raw();
+ if (Compiler::IsBackgroundCompilation() ||
+ FLAG_force_clone_compiler_objects) {
+ return field.CloneFromOriginal();
+ } else {
+ return field.raw();
+ }
}
cls = cls.SuperClass();
}
« no previous file with comments | « runtime/vm/intermediate_language.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698