mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8141132: JEP 254: Compact Strings
Adopt a more space-efficient internal representation for strings. Co-authored-by: Brent Christian <brent.christian@oracle.com> Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com> Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com> Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com> Co-authored-by: Roger Riggs <roger.riggs@oracle.com> Co-authored-by: Xueming Shen <xueming.shen@oracle.com> Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com> Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com> Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
This commit is contained in:
parent
4e24e2cc6c
commit
7af927f9c1
74 changed files with 4838 additions and 1683 deletions
|
@ -425,10 +425,26 @@ bool vmIntrinsics::is_disabled_by_flags(methodHandle method) {
|
|||
// the following switch statement.
|
||||
if (!InlineNatives) {
|
||||
switch (id) {
|
||||
case vmIntrinsics::_indexOf:
|
||||
case vmIntrinsics::_compareTo:
|
||||
case vmIntrinsics::_equals:
|
||||
case vmIntrinsics::_indexOfL:
|
||||
case vmIntrinsics::_indexOfU:
|
||||
case vmIntrinsics::_indexOfUL:
|
||||
case vmIntrinsics::_indexOfIL:
|
||||
case vmIntrinsics::_indexOfIU:
|
||||
case vmIntrinsics::_indexOfIUL:
|
||||
case vmIntrinsics::_indexOfU_char:
|
||||
case vmIntrinsics::_compareToL:
|
||||
case vmIntrinsics::_compareToU:
|
||||
case vmIntrinsics::_compareToLU:
|
||||
case vmIntrinsics::_compareToUL:
|
||||
case vmIntrinsics::_equalsL:
|
||||
case vmIntrinsics::_equalsU:
|
||||
case vmIntrinsics::_equalsC:
|
||||
case vmIntrinsics::_getCharStringU:
|
||||
case vmIntrinsics::_putCharStringU:
|
||||
case vmIntrinsics::_compressStringC:
|
||||
case vmIntrinsics::_compressStringB:
|
||||
case vmIntrinsics::_inflateStringC:
|
||||
case vmIntrinsics::_inflateStringB:
|
||||
case vmIntrinsics::_getAndAddInt:
|
||||
case vmIntrinsics::_getAndAddLong:
|
||||
case vmIntrinsics::_getAndSetInt:
|
||||
|
@ -437,6 +453,7 @@ bool vmIntrinsics::is_disabled_by_flags(methodHandle method) {
|
|||
case vmIntrinsics::_loadFence:
|
||||
case vmIntrinsics::_storeFence:
|
||||
case vmIntrinsics::_fullFence:
|
||||
case vmIntrinsics::_hasNegatives:
|
||||
case vmIntrinsics::_Reference_get:
|
||||
break;
|
||||
default:
|
||||
|
@ -619,19 +636,31 @@ bool vmIntrinsics::is_disabled_by_flags(methodHandle method) {
|
|||
// intrinsic mechanism.
|
||||
if (!InlineObjectCopy || !InlineArrayCopy) return true;
|
||||
break;
|
||||
case vmIntrinsics::_compareTo:
|
||||
case vmIntrinsics::_compareToL:
|
||||
case vmIntrinsics::_compareToU:
|
||||
case vmIntrinsics::_compareToLU:
|
||||
case vmIntrinsics::_compareToUL:
|
||||
if (!SpecialStringCompareTo) return true;
|
||||
break;
|
||||
case vmIntrinsics::_indexOf:
|
||||
case vmIntrinsics::_indexOfL:
|
||||
case vmIntrinsics::_indexOfU:
|
||||
case vmIntrinsics::_indexOfUL:
|
||||
case vmIntrinsics::_indexOfIL:
|
||||
case vmIntrinsics::_indexOfIU:
|
||||
case vmIntrinsics::_indexOfIUL:
|
||||
case vmIntrinsics::_indexOfU_char:
|
||||
if (!SpecialStringIndexOf) return true;
|
||||
break;
|
||||
case vmIntrinsics::_equals:
|
||||
case vmIntrinsics::_equalsL:
|
||||
case vmIntrinsics::_equalsU:
|
||||
if (!SpecialStringEquals) return true;
|
||||
break;
|
||||
case vmIntrinsics::_equalsB:
|
||||
case vmIntrinsics::_equalsC:
|
||||
if (!SpecialArraysEquals) return true;
|
||||
break;
|
||||
case vmIntrinsics::_encodeISOArray:
|
||||
case vmIntrinsics::_encodeByteISOArray:
|
||||
if (!SpecialEncodeISOArray) return true;
|
||||
break;
|
||||
case vmIntrinsics::_getCallerClass:
|
||||
|
@ -666,6 +695,12 @@ bool vmIntrinsics::is_disabled_by_flags(methodHandle method) {
|
|||
case vmIntrinsics::_subtractExactL:
|
||||
if (!UseMathExactIntrinsics || !InlineMathNatives) return true;
|
||||
break;
|
||||
case vmIntrinsics::_getCharStringU:
|
||||
case vmIntrinsics::_putCharStringU:
|
||||
// Until JDK-8138651 is fixed, we have to rely on a special flag to
|
||||
// disable these intrinsics for experiments.
|
||||
if (!StringCharIntrinsics) return true;
|
||||
break;
|
||||
#endif // COMPILER2
|
||||
default:
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue