mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately. Reviewed-by: kvn, never
This commit is contained in:
parent
14305ba3f4
commit
caf28727eb
32 changed files with 242 additions and 84 deletions
|
@ -2699,6 +2699,15 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
|
|||
}
|
||||
ScavengeRootsInCode = 1;
|
||||
}
|
||||
#ifdef COMPILER2
|
||||
if (EnableInvokeDynamic && DoEscapeAnalysis) {
|
||||
// TODO: We need to find rules for invokedynamic and EA. For now,
|
||||
// simply disable EA by default.
|
||||
if (FLAG_IS_DEFAULT(DoEscapeAnalysis)) {
|
||||
DoEscapeAnalysis = false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (PrintGCDetails) {
|
||||
// Turn on -verbose:gc options as well
|
||||
|
@ -2722,6 +2731,15 @@ jint Arguments::parse(const JavaVMInitArgs* args) {
|
|||
// Set flags based on ergonomics.
|
||||
set_ergonomics_flags();
|
||||
|
||||
#ifdef _LP64
|
||||
// XXX JSR 292 currently does not support compressed oops.
|
||||
if (EnableMethodHandles && UseCompressedOops) {
|
||||
if (FLAG_IS_DEFAULT(UseCompressedOops) || FLAG_IS_ERGO(UseCompressedOops)) {
|
||||
UseCompressedOops = false;
|
||||
}
|
||||
}
|
||||
#endif // _LP64
|
||||
|
||||
// Check the GC selections again.
|
||||
if (!check_gc_consistency()) {
|
||||
return JNI_EINVAL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue