Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files
Automatic merge of jdk:master into master
  • Loading branch information
duke committed Mar 9, 2021
2 parents 6d34f21 + 39b1113 commit 42f6a5ff0191a90d1e5d8fd5b9743693b8c7abb1
Showing with 1,476 additions and 1,273 deletions.
  1. +0 −4 .github/workflows/submit.yml
  2. +9 −1 make/Docs.gmk
  3. +10 −0 make/autoconf/lib-freetype.m4
  4. +4 −0 make/autoconf/lib-x11.m4
  5. +37 −0 make/autoconf/platform.m4
  6. +1 −0 make/conf/javadoc.conf
  7. +1 −1 make/conf/jib-profiles.js
  8. +4 −14 make/data/characterdata/CharacterData00.java.template
  9. +4 −14 make/data/characterdata/CharacterData01.java.template
  10. +5 −14 make/data/characterdata/CharacterData02.java.template
  11. +4 −14 make/data/characterdata/CharacterData03.java.template
  12. +4 −14 make/data/characterdata/CharacterData0E.java.template
  13. +4 −15 make/data/characterdata/CharacterDataLatin1.java.template
  14. +1 −1 make/devkit/createJMHBundle.sh
  15. +0 −6 src/hotspot/os/aix/os_aix.cpp
  16. +0 −6 src/hotspot/os/bsd/os_bsd.cpp
  17. +0 −169 src/hotspot/os/linux/os_linux.cpp
  18. +0 −52 src/hotspot/os/windows/os_windows.cpp
  19. +12 −12 src/hotspot/share/compiler/compilationPolicy.cpp
  20. +2 −2 src/hotspot/share/compiler/compilationPolicy.hpp
  21. +11 −4 src/hotspot/share/compiler/compilerDefinitions.cpp
  22. +20 −0 src/hotspot/share/gc/parallel/psClosure.inline.hpp
  23. +3 −4 src/hotspot/share/gc/parallel/psScavenge.cpp
  24. +14 −19 src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp
  25. +1 −1 src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp
  26. +0 −339 src/hotspot/share/memory/virtualspace.cpp
  27. +2 −2 src/hotspot/share/oops/method.cpp
  28. +2 −2 src/hotspot/share/oops/method.hpp
  29. +0 −16 src/hotspot/share/prims/whitebox.cpp
  30. +0 −17 src/hotspot/share/runtime/arguments.cpp
  31. +4 −4 src/hotspot/share/runtime/arguments.hpp
  32. +6 −3 src/java.base/share/classes/com/sun/crypto/provider/CipherCore.java
  33. +2 −1 src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java
  34. +2 −4 src/java.base/share/classes/java/lang/Character.java
  35. +0 −8 src/java.base/share/classes/java/lang/CharacterData.java
  36. +69 −10 src/java.base/share/classes/java/math/BigDecimal.java
  37. +19 −19 src/java.base/share/classes/java/math/MathContext.java
  38. +13 −13 src/java.base/share/classes/java/math/RoundingMode.java
  39. +153 −155 src/java.base/share/classes/java/util/Formatter.java
  40. +29 −20 src/java.base/share/classes/java/util/Locale.java
  41. +6 −0 src/java.base/share/classes/java/util/concurrent/Phaser.java
  42. +2 −6 src/java.desktop/share/classes/com/sun/media/sound/DLSSoundbank.java
  43. +4 −16 src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java
  44. +2 −6 src/java.desktop/share/classes/com/sun/media/sound/ModelByteBuffer.java
  45. +2 −13 src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileWriter.java
  46. +2 −6 src/java.desktop/share/classes/com/sun/media/sound/WaveFloatFileWriter.java
  47. +3 −13 src/java.desktop/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java
  48. +2 −13 src/java.desktop/share/classes/javax/swing/text/rtf/AbstractFilter.java
  49. +2 −11 src/java.desktop/share/classes/sun/awt/datatransfer/DataTransferer.java
  50. +3 −13 src/java.desktop/share/classes/sun/swing/SwingUtilities2.java
  51. +5 −14 src/java.desktop/unix/classes/sun/print/UnixPrintJob.java
  52. +5 −20 src/java.desktop/windows/classes/sun/print/Win32PrintJob.java
  53. +8 −1 src/java.desktop/windows/native/libawt/windows/awt_DnDDT.cpp
  54. +8 −11 src/jdk.attach/macosx/native/libattach/VirtualMachineImpl.c
  55. +17 −19 src/jdk.jpackage/windows/native/common/MsiDb.cpp
  56. +21 −26 src/jdk.jpackage/windows/native/common/MsiDb.h
  57. +2 −2 src/jdk.jpackage/windows/native/common/MsiUtils.cpp
  58. +1 −16 src/jdk.jpackage/windows/native/common/MsiUtils.h
  59. +10 −2 src/jdk.net/share/classes/jdk/net/Sockets.java
  60. +98 −0 test/hotspot/gtest/concurrentTestRunner.inline.hpp
  61. +342 −1 test/hotspot/gtest/memory/test_virtualspace.cpp
  62. +178 −1 test/hotspot/gtest/runtime/test_os_linux.cpp
  63. +20 −2 test/hotspot/gtest/runtime/test_os_windows.cpp
  64. +0 −2 test/hotspot/jtreg/ProblemList-Xcomp.txt
  65. +0 −1 test/hotspot/jtreg/TEST.groups
  66. +1 −1 test/hotspot/jtreg/compiler/tiered/Level2RecompilationTest.java
  67. +0 −74 test/hotspot/jtreg/runtime/memory/RunUnitTestsConcurrently.java
  68. +2 −1 test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/CtwRunner.java
  69. +2 −1 test/jdk/com/sun/crypto/provider/Cipher/AEAD/GCMIncrementDirect4.java
  70. +148 −0 test/jdk/javax/crypto/CipherSpi/ResetByteBuffer.java
  71. +0 −1 test/lib/sun/hotspot/WhiteBox.java
  72. +70 −0 test/micro/org/openjdk/bench/java/lang/StringFormat.java
  73. +58 −0 test/micro/org/openjdk/bench/java/util/LocaleDefaults.java
@@ -536,10 +536,6 @@ jobs:
echo "cross_flags=
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
--with-sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}/
--with-toolchain-path=${HOME}/sysroot-${{ matrix.debian-arch }}/
--with-freetype-lib=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/lib/${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}/
--with-freetype-include=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/include/freetype2/
--x-libraries=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/lib/${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}/
" >> $GITHUB_ENV
if: matrix.debian-arch != ''

@@ -261,6 +261,7 @@ endef
# SHORT_NAME - The short name of this documentation collection
# LONG_NAME - The long name of this documentation collection
# TARGET_DIR - Where to store the output
# OTHER_VERSIONS - URL for other page listing versions
#
SetupApiDocsGeneration = $(NamedParamsMacroTemplate)
define SetupApiDocsGenerationBody
@@ -297,10 +298,16 @@ define SetupApiDocsGenerationBody
# Ignore the doclint warnings in the W3C DOM package
$1_OPTIONS += -Xdoclint/package:-org.w3c.*

ifneq ($$($1_OTHER_VERSIONS), )
$1_LINKED_SHORT_NAME = <a href="$$($1_OTHER_VERSIONS)">$$($1_SHORT_NAME)</a>
else
$1_LINKED_SHORT_NAME = $$($1_SHORT_NAME)
endif

$1_DOC_TITLE := $$($1_LONG_NAME)<br>Version $$(VERSION_SPECIFICATION) API \
Specification
$1_WINDOW_TITLE := $$(subst &amp;,&,$$($1_SHORT_NAME))$$(DRAFT_MARKER_TITLE)
$1_HEADER_TITLE := <div $$(HEADER_STYLE)><strong>$$($1_SHORT_NAME)</strong> \
$1_HEADER_TITLE := <div $$(HEADER_STYLE)><strong>$$($1_LINKED_SHORT_NAME)</strong> \
$$(DRAFT_MARKER_STR)</div>

$1_OPTIONS += -doctitle '$$($1_DOC_TITLE)'
@@ -438,6 +445,7 @@ $(eval $(call SetupApiDocsGeneration, JDK_API, \
SHORT_NAME := $(JDK_SHORT_NAME), \
LONG_NAME := $(JDK_LONG_NAME), \
TARGET_DIR := $(DOCS_OUTPUTDIR)/api, \
OTHER_VERSIONS := $(OTHER_JDK_VERSIONS_URL), \
))

# Targets generated are returned in JDK_API_JAVADOC_TARGETS and
@@ -192,6 +192,16 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
[$FREETYPE_BASE_DIR/lib], [well-known location])
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI], [well-known location])
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI], [well-known location])
fi
if test "x$FOUND_FREETYPE" != "xyes" ; then
FREETYPE_BASE_DIR="$SYSROOT/usr/X11"
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
@@ -68,6 +68,10 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
x_libraries="$SYSROOT/usr/lib64"
elif test -f "$SYSROOT/usr/lib/libX11.so"; then
x_libraries="$SYSROOT/usr/lib"
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"; then
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"; then
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"
fi
fi
fi
@@ -238,6 +238,33 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_LIBC],
esac
])

# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
# Converts autoconf style OS name to OpenJDK style, into
# VAR_ABI.
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_ABI],
[
case "$1" in
*linux*-musl)
VAR_ABI=musl
;;
*linux*-gnu)
VAR_ABI=gnu
;;
*linux*-gnueabi)
VAR_ABI=gnueabi
;;
*linux*-gnueabihf)
VAR_ABI=gnueabihf
;;
*linux*-gnuabi64)
VAR_ABI=gnuabi64
;;
*)
VAR_ABI=default
;;
esac
])

# Expects $host_os $host_cpu $build_os and $build_cpu
# and $with_target_bits to have been setup!
#
@@ -259,6 +286,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
PLATFORM_EXTRACT_VARS_FROM_LIBC($build_os)
PLATFORM_EXTRACT_VARS_FROM_ABI($build_os)
# ..and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_BUILD_OS="$VAR_OS"
if test "x$VAR_OS_TYPE" != x; then
@@ -275,15 +303,19 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
OPENJDK_BUILD_CPU_AUTOCONF="$build_cpu"
OPENJDK_BUILD_LIBC="$VAR_LIBC"
OPENJDK_BUILD_ABI="$VAR_ABI"
AC_SUBST(OPENJDK_BUILD_OS)
AC_SUBST(OPENJDK_BUILD_OS_TYPE)
AC_SUBST(OPENJDK_BUILD_OS_ENV)
AC_SUBST(OPENJDK_BUILD_CPU)
AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
AC_SUBST(OPENJDK_BUILD_CPU_BITS)
AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
AC_SUBST(OPENJDK_BUILD_CPU_AUTOCONF)
AC_SUBST(OPENJDK_BUILD_LIBC)
AC_SUBST(OPENJDK_BUILD_ABI)
AC_MSG_CHECKING([openjdk-build os-cpu])
AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
@@ -297,6 +329,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
PLATFORM_EXTRACT_VARS_FROM_LIBC($host_os)
PLATFORM_EXTRACT_VARS_FROM_ABI($host_os)
# ... and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_TARGET_OS="$VAR_OS"
if test "x$VAR_OS_TYPE" != x; then
@@ -313,8 +346,10 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
OPENJDK_TARGET_CPU_AUTOCONF="$host_cpu"
OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
OPENJDK_TARGET_LIBC="$VAR_LIBC"
OPENJDK_TARGET_ABI="$VAR_ABI"
AC_SUBST(OPENJDK_TARGET_OS)
AC_SUBST(OPENJDK_TARGET_OS_TYPE)
@@ -324,7 +359,9 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
AC_SUBST(OPENJDK_TARGET_CPU_BITS)
AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
AC_SUBST(OPENJDK_TARGET_CPU_AUTOCONF)
AC_SUBST(OPENJDK_TARGET_LIBC)
AC_SUBST(OPENJDK_TARGET_ABI)
AC_MSG_CHECKING([openjdk-target os-cpu])
AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
@@ -28,3 +28,4 @@ BUG_SUBMIT_URL=https://bugreport.java.com/bugreport/
COPYRIGHT_URL=legal/copyright.html
LICENSE_URL=https://www.oracle.com/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
REDISTRIBUTION_URL=https://www.oracle.com/technetwork/java/redist-137594.html
OTHER_JDK_VERSIONS_URL=https://docs.oracle.com/en/java/javase/index.html
@@ -1114,7 +1114,7 @@ var getJibProfilesDependencies = function (input, common) {
jmh: {
organization: common.organization,
ext: "tar.gz",
revision: "1.21+1.0"
revision: "1.28+1.0"
},

jcov: {
@@ -84,16 +84,6 @@ class CharacterData00 extends CharacterData {
return (props & $$maskType);
}

boolean isOtherLowercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherLowercase) != 0;
}

boolean isOtherUppercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherUppercase) != 0;
}

boolean isOtherAlphabetic(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherAlphabetic) != 0;
@@ -765,13 +755,13 @@ class CharacterData00 extends CharacterData {
}

boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.LOWERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherLowercase) != 0;
}

boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.UPPERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherUppercase) != 0;
}

boolean isWhitespace(int ch) {
@@ -83,16 +83,6 @@ class CharacterData01 extends CharacterData {
return (props & $$maskType);
}

boolean isOtherLowercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherLowercase) != 0;
}

boolean isOtherUppercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherUppercase) != 0;
}

boolean isOtherAlphabetic(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherAlphabetic) != 0;
@@ -503,13 +493,13 @@ class CharacterData01 extends CharacterData {
}

boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.LOWERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherLowercase) != 0;
}

boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.UPPERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherUppercase) != 0;
}

boolean isWhitespace(int ch) {
@@ -77,16 +77,6 @@ class CharacterData02 extends CharacterData {
return props;
}

boolean isOtherLowercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherLowercase) != 0;
}

boolean isOtherUppercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherUppercase) != 0;
}

boolean isOtherAlphabetic(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherAlphabetic) != 0;
@@ -222,15 +212,16 @@ class CharacterData02 extends CharacterData {
}

boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.LOWERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherLowercase) != 0;
}

boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.UPPERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherUppercase) != 0;
}


boolean isWhitespace(int ch) {
return (getProperties(ch) & $$maskIdentifierInfo) == $$valueJavaWhitespace;
}
@@ -77,16 +77,6 @@ class CharacterData03 extends CharacterData {
return props;
}

boolean isOtherLowercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherLowercase) != 0;
}

boolean isOtherUppercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherUppercase) != 0;
}

boolean isOtherAlphabetic(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherAlphabetic) != 0;
@@ -222,13 +212,13 @@ class CharacterData03 extends CharacterData {
}

boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.LOWERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherLowercase) != 0;
}

boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.UPPERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherUppercase) != 0;
}

boolean isWhitespace(int ch) {
@@ -77,16 +77,6 @@ class CharacterData0E extends CharacterData {
return props;
}

boolean isOtherLowercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherLowercase) != 0;
}

boolean isOtherUppercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherUppercase) != 0;
}

boolean isOtherAlphabetic(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherAlphabetic) != 0;
@@ -222,13 +212,13 @@ class CharacterData0E extends CharacterData {
}

boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.LOWERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherLowercase) != 0;
}

boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.UPPERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherUppercase) != 0;
}

boolean isWhitespace(int ch) {
@@ -87,24 +87,13 @@ class CharacterDataLatin1 extends CharacterData {

@IntrinsicCandidate
boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
return (getProperties(ch) & $$maskType) == Character.LOWERCASE_LETTER
|| (getPropertiesEx(ch) & $$maskOtherLowercase) != 0; // 0xaa, 0xba
}

@IntrinsicCandidate
boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
}

boolean isOtherLowercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherLowercase) != 0;
}

boolean isOtherUppercase(int ch) {
int props = getPropertiesEx(ch);
return (props & $$maskOtherUppercase) != 0;
return (getProperties(ch) & $$maskType) == Character.UPPERCASE_LETTER;
}

boolean isOtherAlphabetic(int ch) {
@@ -290,6 +279,6 @@ class CharacterDataLatin1 extends CharacterData {

static {
$$Initializers
}
}
}

0 comments on commit 42f6a5f

Please sign in to comment.