summaryrefslogtreecommitdiff
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r--compiler/optimizing/code_generator.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h
index 9872efaa4a..576f363a67 100644
--- a/compiler/optimizing/code_generator.h
+++ b/compiler/optimizing/code_generator.h
@@ -59,8 +59,12 @@ static int32_t constexpr kPrimIntMax = 0x7fffffff;
// Maximum value for a primitive long.
static int64_t constexpr kPrimLongMax = INT64_C(0x7fffffffffffffff);
-static const ReadBarrierOption gCompilerReadBarrierOption =
- gUseReadBarrier ? kWithReadBarrier : kWithoutReadBarrier;
+// Depending on configuration, `gUseReadBarrier` can be a static const variable.
+// Static variable initialization order across different compilation units is not defined,
+// so function is used instead of static variable `gCompilerReadBarrierOption`.
+inline ReadBarrierOption GetCompilerReadBarrierOption() {
+ return gUseReadBarrier ? kWithReadBarrier : kWithoutReadBarrier;
+}
constexpr size_t status_lsb_position = SubtypeCheckBits::BitStructSizeOf();
constexpr size_t status_byte_offset =