summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2019-06-27 13:11:12 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2019-06-28 06:37:34 +0000
commita48c3dfcebece7ee4b893757b715319f0b5b1fa7 (patch)
treeeb846bcf242f7e9f4243196b5f4546b0a222cfa0 /compiler/optimizing/nodes.h
parent1459929a7e9ea96932b6c24597e1692b9b05606c (diff)
Revert "Revert "Make the JIT zygote memory shared.""
This reverts commit 2fef66b294417d447630f9d98de68227eef476d3. Bug: 119800099 Bug: 136110523 Reason for revert: Fixed webview_zygote case. Change-Id: Iaae8c999463d77b7b1e62b55458493bdbc97a104
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 3736413927..51110367e2 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.