mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8227260: JNI upcalls should bypass class initialization barrier in c2i adapter
Reviewed-by: eosterlund, dholmes, mdoerr, dpochepk
This commit is contained in:
parent
96d9d06cc9
commit
242bd67c6c
11 changed files with 227 additions and 45 deletions
|
@ -146,6 +146,12 @@ address Method::get_c2i_unverified_entry() {
|
|||
return adapter()->get_c2i_unverified_entry();
|
||||
}
|
||||
|
||||
address Method::get_c2i_no_clinit_check_entry() {
|
||||
assert(VM_Version::supports_fast_class_init_checks(), "");
|
||||
assert(adapter() != NULL, "must have");
|
||||
return adapter()->get_c2i_no_clinit_check_entry();
|
||||
}
|
||||
|
||||
char* Method::name_and_sig_as_C_string() const {
|
||||
return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature());
|
||||
}
|
||||
|
@ -1045,7 +1051,7 @@ void Method::unlink_method() {
|
|||
_c2i_entry ---------------------------------+->[c2i entry..]
|
||||
_i2i_entry -------------+ _i2c_entry ---------------+-> [i2c entry..] |
|
||||
_from_interpreted_entry | _c2i_unverified_entry | |
|
||||
| | | |
|
||||
| | _c2i_no_clinit_check_entry| |
|
||||
| | (_cds_entry_table: CODE) | |
|
||||
| +->[0]: jmp _entry_table[0] --> (i2i_entry_for "zero_locals") | |
|
||||
| | (allocated at run time) | |
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue