summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_builder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
-rw-r--r--compiler/optimizing/instruction_builder.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc
index e7f0872c65..4ae94b7b3f 100644
--- a/compiler/optimizing/instruction_builder.cc
+++ b/compiler/optimizing/instruction_builder.cc
@@ -1140,12 +1140,15 @@ void HInstructionBuilder::BuildConstructorFenceForAllocation(HInstruction* alloc
static bool IsInBootImage(ObjPtr<mirror::Class> cls, const CompilerOptions& compiler_options)
REQUIRES_SHARED(Locks::mutator_lock_) {
- if (compiler_options.IsBootImage()) {
+ if (Runtime::Current()->GetHeap()->ObjectIsInBootImageSpace(cls)) {
+ return true;
+ }
+ if (compiler_options.IsBootImage() || compiler_options.IsBootImageExtension()) {
std::string temp;
const char* descriptor = cls->GetDescriptor(&temp);
return compiler_options.IsImageClass(descriptor);
} else {
- return Runtime::Current()->GetHeap()->FindSpaceFromObject(cls, false)->IsImageSpace();
+ return false;
}
}