Merge
authormikael
Tue, 09 Jul 2019 16:37:30 -0700
changeset 55633 9d7c2d9f822c
parent 55626 91faea277c86 (current diff)
parent 55632 d6600ddb85fb (diff)
child 55634 0f1e29c77e50
Merge
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java
--- a/src/hotspot/share/memory/heapInspection.cpp	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/hotspot/share/memory/heapInspection.cpp	Tue Jul 09 16:37:30 2019 -0700
@@ -123,7 +123,7 @@
 
 KlassInfoEntry* KlassInfoBucket::lookup(Klass* const k) {
   // Can happen if k is an archived class that we haven't loaded yet.
-  if (k->java_mirror() == NULL) {
+  if (k->java_mirror_no_keepalive() == NULL) {
     return NULL;
   }
 
@@ -719,7 +719,7 @@
   ResourceMark rm;
 
   RecordInstanceClosure ric(cit, filter);
-  Universe::heap()->object_iterate(&ric);
+  Universe::heap()->safe_object_iterate(&ric);
   return ric.missed_count();
 }
 
@@ -792,8 +792,5 @@
 
   // Iterate over objects in the heap
   FindInstanceClosure fic(k, result);
-  // If this operation encounters a bad object when using CMS,
-  // consider using safe_object_iterate() which avoids metadata
-  // objects that may contain bad references.
-  Universe::heap()->object_iterate(&fic);
+  Universe::heap()->safe_object_iterate(&fic);
 }
--- a/src/hotspot/share/oops/klass.cpp	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/hotspot/share/oops/klass.cpp	Tue Jul 09 16:37:30 2019 -0700
@@ -767,7 +767,7 @@
 // Size Statistics
 void Klass::collect_statistics(KlassSizeStats *sz) const {
   sz->_klass_bytes = sz->count(this);
-  sz->_mirror_bytes = sz->count(java_mirror());
+  sz->_mirror_bytes = sz->count(java_mirror_no_keepalive());
   sz->_secondary_supers_bytes = sz->count_array(secondary_supers());
 
   sz->_ro_bytes += sz->_secondary_supers_bytes;
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.api.directives.test/src/org/graalvm/compiler/api/directives/test/ProbabilityDirectiveTest.java	Tue Jul 09 16:37:30 2019 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringLatin1InflateOp.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringLatin1InflateOp.java	Tue Jul 09 16:37:30 2019 -0700
@@ -29,11 +29,9 @@
 import static jdk.vm.ci.amd64.AMD64.rdi;
 import static jdk.vm.ci.amd64.AMD64.rdx;
 import static jdk.vm.ci.amd64.AMD64.rsi;
-
 import static jdk.vm.ci.code.ValueUtil.asRegister;
 import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.REG;
 
-import jdk.vm.ci.amd64.AMD64;
 import org.graalvm.compiler.asm.Label;
 import org.graalvm.compiler.asm.amd64.AMD64Address;
 import org.graalvm.compiler.asm.amd64.AMD64Assembler;
@@ -44,6 +42,7 @@
 import org.graalvm.compiler.lir.asm.CompilationResultBuilder;
 import org.graalvm.compiler.lir.gen.LIRGeneratorTool;
 
+import jdk.vm.ci.amd64.AMD64;
 import jdk.vm.ci.amd64.AMD64Kind;
 import jdk.vm.ci.code.Register;
 import jdk.vm.ci.meta.Value;
@@ -52,9 +51,13 @@
 public final class AMD64StringLatin1InflateOp extends AMD64LIRInstruction {
     public static final LIRInstructionClass<AMD64StringLatin1InflateOp> TYPE = LIRInstructionClass.create(AMD64StringLatin1InflateOp.class);
 
-    @Alive({REG}) private Value rsrc;
-    @Alive({REG}) private Value rdst;
-    @Alive({REG}) private Value rlen;
+    @Use({REG}) private Value rsrc;
+    @Use({REG}) private Value rdst;
+    @Use({REG}) private Value rlen;
+
+    @Temp({REG}) private Value rsrcTemp;
+    @Temp({REG}) private Value rdstTemp;
+    @Temp({REG}) private Value rlenTemp;
 
     @Temp({REG}) private Value vtmp1;
     @Temp({REG}) private Value rtmp2;
@@ -66,9 +69,9 @@
         assert asRegister(dst).equals(rdi);
         assert asRegister(len).equals(rdx);
 
-        rsrc = src;
-        rdst = dst;
-        rlen = len;
+        rsrcTemp = rsrc = src;
+        rdstTemp = rdst = dst;
+        rlenTemp = rlen = len;
 
         vtmp1 = tool.newVariable(LIRKind.value(AMD64Kind.V512_BYTE));
         rtmp2 = tool.newVariable(LIRKind.value(AMD64Kind.DWORD));
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringUTF16CompressOp.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64StringUTF16CompressOp.java	Tue Jul 09 16:37:30 2019 -0700
@@ -31,12 +31,10 @@
 import static jdk.vm.ci.amd64.AMD64.rdi;
 import static jdk.vm.ci.amd64.AMD64.rdx;
 import static jdk.vm.ci.amd64.AMD64.rsi;
-
 import static jdk.vm.ci.amd64.AMD64.rsp;
 import static jdk.vm.ci.code.ValueUtil.asRegister;
 import static org.graalvm.compiler.lir.LIRInstruction.OperandFlag.REG;
 
-import jdk.vm.ci.amd64.AMD64;
 import org.graalvm.compiler.asm.Label;
 import org.graalvm.compiler.asm.amd64.AMD64Address;
 import org.graalvm.compiler.asm.amd64.AMD64Assembler;
@@ -47,6 +45,7 @@
 import org.graalvm.compiler.lir.asm.CompilationResultBuilder;
 import org.graalvm.compiler.lir.gen.LIRGeneratorTool;
 
+import jdk.vm.ci.amd64.AMD64;
 import jdk.vm.ci.amd64.AMD64Kind;
 import jdk.vm.ci.code.Register;
 import jdk.vm.ci.meta.Value;
@@ -56,9 +55,13 @@
     public static final LIRInstructionClass<AMD64StringUTF16CompressOp> TYPE = LIRInstructionClass.create(AMD64StringUTF16CompressOp.class);
 
     @Def({REG}) private Value rres;
-    @Alive({REG}) private Value rsrc;
-    @Alive({REG}) private Value rdst;
-    @Alive({REG}) private Value rlen;
+    @Use({REG}) private Value rsrc;
+    @Use({REG}) private Value rdst;
+    @Use({REG}) private Value rlen;
+
+    @Temp({REG}) private Value rsrcTemp;
+    @Temp({REG}) private Value rdstTemp;
+    @Temp({REG}) private Value rlenTemp;
 
     @Temp({REG}) private Value vtmp1;
     @Temp({REG}) private Value vtmp2;
@@ -75,9 +78,9 @@
         assert asRegister(res).equals(rax);
 
         rres = res;
-        rsrc = src;
-        rdst = dst;
-        rlen = len;
+        rsrcTemp = rsrc = src;
+        rdstTemp = rdst = dst;
+        rlenTemp = rlen = len;
 
         LIRKind vkind = LIRKind.value(AMD64Kind.V512_BYTE);
 
--- a/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java	Tue Jul 09 16:37:30 2019 -0700
@@ -97,6 +97,10 @@
             "\u6c11\u56fd\u524d",
             "\u6c11\u56fd",
         };
+        final String[] gregoryEras = {
+            "\u7d00\u5143\u524d",
+            "\u897f\u66a6",
+        };
         return new Object[][] {
             { "MonthNames",
                 new String[] {
@@ -171,12 +175,8 @@
                     "\u5348\u5f8c" // pm marker
                 }
             },
-            { "Eras",
-                new String[] { // era strings for GregorianCalendar
-                    "\u7d00\u5143\u524d",
-                    "\u897f\u66a6"
-                }
-            },
+            { "Eras", gregoryEras },
+            { "short.Eras", gregoryEras },
             { "buddhist.Eras",
                 new String[] { // era strings for Thai Buddhist calendar
                     "\u7d00\u5143\u524d", // Kigenzen
--- a/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh.java	Tue Jul 09 16:37:30 2019 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -88,6 +88,10 @@
             "\u6c11\u56fd\u524d",
             "\u6c11\u56fd",
         };
+        final String[] gregoryEras = {
+            "\u516c\u5143\u524d",
+            "\u516c\u5143",
+        };
         return new Object[][] {
             { "MonthNames",
                 new String[] {
@@ -263,12 +267,8 @@
                     "\u4e0b\u5348" // pm marker
                 }
             },
-            { "Eras",
-                new String[] { // era strings
-                    "\u516c\u5143\u524d",
-                    "\u516c\u5143"
-                }
-            },
+            { "Eras", gregoryEras },
+            { "short.Eras", gregoryEras },
             { "buddhist.Eras",
                 new String[] {
                     "BC",
--- a/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh_TW.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_zh_TW.java	Tue Jul 09 16:37:30 2019 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -88,13 +88,13 @@
             "\u6c11\u570b\u524d",
             "\u6c11\u570b",
         };
+        final String[] gregoryEras = {
+            "\u897f\u5143\u524d",
+            "\u897f\u5143",
+        };
         return new Object[][] {
-            { "Eras",
-                new String[] { // era strings
-                    "\u897f\u5143\u524d",
-                    "\u897f\u5143"
-                }
-            },
+            { "Eras", gregoryEras },
+            { "short.Eras", gregoryEras },
             { "standalone.MonthAbbreviations",
                 new String[] {
                     "1\u6708",
--- a/test/jdk/sun/text/resources/LocaleData	Tue Jul 09 15:02:28 2019 -0700
+++ b/test/jdk/sun/text/resources/LocaleData	Tue Jul 09 16:37:30 2019 -0700
@@ -8322,7 +8322,15 @@
 # bug #8208746
 CurrencyNames//ves=Venezuelan Bol\u00edvar Soberano
 
-# bug# 8206879
+# bug #8206879
 # For Peru decimal separator is changed to dot(.) and grouping separator is changed to comma(,)
 FormatData/es_PE/NumberElements/0=.
 FormatData/es_PE/NumberElements/1=,
+
+# bug #8227127
+FormatData/ja/short.Eras/0=\u7d00\u5143\u524d
+FormatData/ja/short.Eras/1=\u897f\u66a6
+FormatData/zh/short.Eras/0=\u516c\u5143\u524d
+FormatData/zh/short.Eras/1=\u516c\u5143
+FormatData/zh_TW/short.Eras/0=\u897f\u5143\u524d
+FormatData/zh_TW/short.Eras/1=\u897f\u5143
--- a/test/jdk/sun/text/resources/LocaleDataTest.java	Tue Jul 09 15:02:28 2019 -0700
+++ b/test/jdk/sun/text/resources/LocaleDataTest.java	Tue Jul 09 16:37:30 2019 -0700
@@ -39,7 +39,7 @@
  *      8017142 8037343 8055222 8042126 8074791 8075173 8080774 8129361 8134916
  *      8145136 8145952 8164784 8037111 8081643 7037368 8178872 8185841 8190918
  *      8187946 8195478 8181157 8179071 8193552 8202026 8204269 8202537 8208746
- *      8209775 8221432
+ *      8209775 8221432 8227127
  * @summary Verify locale data
  * @modules java.base/sun.util.resources
  * @modules jdk.localedata