diff options
| author | 2022-08-11 09:49:27 +0000 | |
|---|---|---|
| committer | 2022-08-11 09:49:27 +0000 | |
| commit | b06d7a255b699b3343957c4aff38fb80cf3a4874 (patch) | |
| tree | a40abf14ec6647b519ba10911513c48b5d4bbc77 /compiler/optimizing/code_generator.h | |
| parent | c5474f519548dda4d99f8d334a69d4a1b19abd06 (diff) | |
| parent | ab3f8d27ae8737c72b8b844604e6e3df6f2ad7e7 (diff) | |
Reland "Add clinit checks at entry for some boot image methods." am: ab3f8d27ae
Original change: https://android-review.googlesource.com/c/platform/art/+/2163021
Change-Id: I7bee900d100120dc6a7ef0a16621cfe51c9ff1a1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'compiler/optimizing/code_generator.h')
| -rw-r--r-- | compiler/optimizing/code_generator.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h index 7b46e13a44..de247a98b9 100644 --- a/compiler/optimizing/code_generator.h +++ b/compiler/optimizing/code_generator.h @@ -37,6 +37,7 @@ #include "optimizing_compiler_stats.h" #include "read_barrier_option.h" #include "stack.h" +#include "subtype_check.h" #include "utils/assembler.h" #include "utils/label.h" @@ -60,6 +61,14 @@ static int64_t constexpr kPrimLongMax = INT64_C(0x7fffffffffffffff); static const ReadBarrierOption gCompilerReadBarrierOption = gUseReadBarrier ? kWithReadBarrier : kWithoutReadBarrier; +constexpr size_t status_lsb_position = SubtypeCheckBits::BitStructSizeOf(); +constexpr size_t status_byte_offset = + mirror::Class::StatusOffset().SizeValue() + (status_lsb_position / kBitsPerByte); +constexpr uint32_t shifted_visibly_initialized_value = + enum_cast<uint32_t>(ClassStatus::kVisiblyInitialized) << (status_lsb_position % kBitsPerByte); +constexpr uint32_t shifted_initializing_value = + enum_cast<uint32_t>(ClassStatus::kInitializing) << (status_lsb_position % kBitsPerByte); + class Assembler; class CodeGenerator; class CompilerOptions; |