diff options
author | 2019-06-19 10:00:00 +0100 | |
---|---|---|
committer | 2019-06-26 12:24:15 +0000 | |
commit | 05f87217ddc9b4b9186710c0135b918f456c5aef (patch) | |
tree | 6e7bc0d2a3d8faa94c303d7d753319f3850fadcd /compiler/optimizing/nodes.h | |
parent | 8d335b61d637fa9b040eb9d559dbac98067467f1 (diff) |
Make the JIT zygote memory shared.
Test: boots
Bug: 119800099
Change-Id: I75ff8a58eea4de5cb833139641b4e15b8394d9b1
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 8ac33a4309..759a8e6638 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -320,6 +320,7 @@ class HGraph : public ArenaObject<kArenaAllocGraph> { bool dead_reference_safe = false, bool debuggable = false, bool osr = false, + bool is_shared_jit_code = false, int start_instruction_id = 0) : allocator_(allocator), arena_stack_(arena_stack), @@ -355,7 +356,8 @@ class HGraph : public ArenaObject<kArenaAllocGraph> { art_method_(nullptr), inexact_object_rti_(ReferenceTypeInfo::CreateInvalid()), osr_(osr), - cha_single_implementation_list_(allocator->Adapter(kArenaAllocCHA)) { + cha_single_implementation_list_(allocator->Adapter(kArenaAllocCHA)), + is_shared_jit_code_(is_shared_jit_code) { blocks_.reserve(kDefaultNumberOfBlocks); } @@ -585,6 +587,10 @@ class HGraph : public ArenaObject<kArenaAllocGraph> { bool IsCompilingOsr() const { return osr_; } + bool IsCompilingForSharedJitCode() const { + return is_shared_jit_code_; + } + ArenaSet<ArtMethod*>& GetCHASingleImplementationList() { return cha_single_implementation_list_; } @@ -774,6 +780,10 @@ class HGraph : public ArenaObject<kArenaAllocGraph> { // List of methods that are assumed to have single implementation. ArenaSet<ArtMethod*> cha_single_implementation_list_; + // Whether we are JIT compiling in the shared region area, putting + // restrictions on, for example, how literals are being generated. + bool is_shared_jit_code_; + friend class SsaBuilder; // For caching constants. friend class SsaLivenessAnalysis; // For the linear order. friend class HInliner; // For the reverse post order. |