diff options
author | Vladimír Dvo?ák <lada.dvorak7@gmail.com> | 2014-06-26 19:13:43 +0200 |
---|---|---|
committer | Vladimír Dvo?ák <lada.dvorak7@gmail.com> | 2014-06-26 19:13:43 +0200 |
commit | 4ae546e254f97c3f614468fa3c67a17c760dc253 (patch) | |
tree | 4cec537361e9fa2fdcbe6a51208a820494bbf811 /hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch | |
parent | 906c4ea0d9bd4acf22a7bd93e186eba886b9896a (diff) | |
download | dcevm-4ae546e254f97c3f614468fa3c67a17c760dc253.tar.gz dcevm-4ae546e254f97c3f614468fa3c67a17c760dc253.zip |
Set nmethod's deoptimization_incl flag from owner klass
Diffstat (limited to 'hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch')
-rw-r--r-- | hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch b/hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch index ca618235..ae6afb1c 100644 --- a/hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch +++ b/hotspot/.hg/patches/full-jdk7u45-deopt-cp.patch @@ -68,7 +68,7 @@ index a670805..0206b48 100644 static void make_marked_nmethods_zombies(); static void make_marked_nmethods_not_entrant(); diff --git a/src/share/vm/code/nmethod.cpp b/src/share/vm/code/nmethod.cpp -index 21c9413..0c3a9a0 100644 +index 21c9413..583bac2 100644 --- a/src/share/vm/code/nmethod.cpp +++ b/src/share/vm/code/nmethod.cpp @@ -465,6 +465,7 @@ @@ -79,6 +79,36 @@ index 21c9413..0c3a9a0 100644 _lock_count = 0; _stack_traversal_mark = 0; _unload_reported = false; // jvmti state +@@ -673,6 +674,9 @@ + _exception_cache = NULL; + _pc_desc_cache.reset_to(NULL); + ++ if (method != NULL) ++ _deoptimization_incl = Klass::cast(method->method_holder())->is_deoptimization_incl(); ++ + code_buffer->copy_oops_to(this); + if (ScavengeRootsInCode && detect_scavenge_root_oops()) { + CodeCache::add_scavenge_root_nmethod(this); +@@ -754,6 +758,9 @@ + _osr_entry_point = NULL; + _exception_cache = NULL; + _pc_desc_cache.reset_to(NULL); ++ ++ if (method != NULL) ++ _deoptimization_incl = Klass::cast(method->method_holder())->is_deoptimization_incl(); + + code_buffer->copy_oops_to(this); + debug_only(verify_scavenge_root_oops()); +@@ -863,6 +870,9 @@ + _exception_cache = NULL; + _pc_desc_cache.reset_to(scopes_pcs_begin()); + ++ if (method != NULL) ++ _deoptimization_incl = Klass::cast(method->method_holder())->is_deoptimization_incl(); ++ + // Copy contents of ScopeDescRecorder to nmethod + code_buffer->copy_oops_to(this); + debug_info->copy_to(this); diff --git a/src/share/vm/code/nmethod.hpp b/src/share/vm/code/nmethod.hpp index 8d76afb..d2d1acc 100644 --- a/src/share/vm/code/nmethod.hpp @@ -222,16 +252,4 @@ index 634c589..eeb0558 100644 + "of hotswap can considerably increased. ") /* - * Macros for factoring of globals -diff --git a/src/share/vm/runtime/sharedRuntime.cpp b/src/share/vm/runtime/sharedRuntime.cpp -index e0e19b1..84ace41 100644 ---- a/src/share/vm/runtime/sharedRuntime.cpp -+++ b/src/share/vm/runtime/sharedRuntime.cpp -@@ -2630,6 +2630,7 @@ - sig_bt, - regs, - ret_type); -+ nm->set_deoptimization_incl(method->method_holder()->klass_part()->is_deoptimization_incl()); - } - } -
\ No newline at end of file + * Macros for factoring of globals
\ No newline at end of file |