8217383: Obsolete UseImplicitStableValues
Reviewed-by: shade, rkennke, vlivanov
This commit is contained in:
parent
0fdcd10b9c
commit
efc62ac6ec
@ -509,9 +509,6 @@
|
||||
product(bool, EliminateAutoBox, true, \
|
||||
"Control optimizations for autobox elimination") \
|
||||
\
|
||||
diagnostic(bool, UseImplicitStableValues, true, \
|
||||
"Mark well-known stable fields as such (e.g. String.value)") \
|
||||
\
|
||||
product(intx, AutoBoxCacheMax, 128, \
|
||||
"Sets max value cached by the java.lang.Integer autobox cache") \
|
||||
range(0, max_jint) \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -3886,10 +3886,6 @@ Node* GraphKit::load_String_value(Node* str, bool set_ctrl) {
|
||||
Node* p = basic_plus_adr(str, str, value_offset);
|
||||
Node* load = access_load_at(str, p, value_field_type, value_type, T_OBJECT,
|
||||
IN_HEAP | (set_ctrl ? C2_CONTROL_DEPENDENT_LOAD : 0) | MO_UNORDERED);
|
||||
// String.value field is known to be @Stable.
|
||||
if (UseImplicitStableValues) {
|
||||
load = cast_array_to_stable(load, value_type);
|
||||
}
|
||||
return load;
|
||||
}
|
||||
|
||||
@ -3901,7 +3897,6 @@ Node* GraphKit::load_String_coder(Node* str, bool set_ctrl) {
|
||||
const TypeInstPtr* string_type = TypeInstPtr::make(TypePtr::NotNull, C->env()->String_klass(),
|
||||
false, NULL, 0);
|
||||
const TypePtr* coder_field_type = string_type->add_offset(coder_offset);
|
||||
int coder_field_idx = C->get_alias_index(coder_field_type);
|
||||
|
||||
Node* p = basic_plus_adr(str, str, coder_offset);
|
||||
Node* load = access_load_at(str, p, coder_field_type, TypeInt::BYTE, T_BYTE,
|
||||
@ -4039,9 +4034,3 @@ Node* GraphKit::make_constant_from_field(ciField* field, Node* obj) {
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Node* GraphKit::cast_array_to_stable(Node* ary, const TypeAryPtr* ary_type) {
|
||||
// Reify the property as a CastPP node in Ideal graph to comply with monotonicity
|
||||
// assumption of CCP analysis.
|
||||
return _gvn.transform(new CastPPNode(ary, ary_type->cast_to_stable(true)));
|
||||
}
|
||||
|
@ -884,9 +884,6 @@ class GraphKit : public Phase {
|
||||
void add_predicate_impl(Deoptimization::DeoptReason reason, int nargs);
|
||||
|
||||
Node* make_constant_from_field(ciField* field, Node* obj);
|
||||
|
||||
// Produce new array node of stable type
|
||||
Node* cast_array_to_stable(Node* ary, const TypeAryPtr* ary_type);
|
||||
};
|
||||
|
||||
// Helper class to support building of control flow branches. Upon
|
||||
|
@ -541,6 +541,7 @@ static SpecialFlag const special_jvm_flags[] = {
|
||||
{ "SharedReadOnlySize", JDK_Version::undefined(), JDK_Version::jdk(10), JDK_Version::undefined() },
|
||||
{ "SharedMiscDataSize", JDK_Version::undefined(), JDK_Version::jdk(10), JDK_Version::undefined() },
|
||||
{ "SharedMiscCodeSize", JDK_Version::undefined(), JDK_Version::jdk(10), JDK_Version::undefined() },
|
||||
{ "UseImplicitStableValues", JDK_Version::undefined(), JDK_Version::jdk(13), JDK_Version::jdk(14) },
|
||||
|
||||
#ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
|
||||
{ "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
|
||||
|
Loading…
Reference in New Issue
Block a user