Updated to security jdk8u121-b14
This commit is contained in:
		
							parent
							
								
									a4eab871ae
								
							
						
					
					
						commit
						edf0421b2a
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -66,3 +66,5 @@ | ||||
| /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz | ||||
| /aarch64-port-jdk8u-aarch64-jdk8u111-b16.tar.xz | ||||
| /aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u111-b16.tar.xz | ||||
| /openjdk8-forests-latest-aarch64-aarch64-jdk8u121-b14.tar.xz | ||||
| /openjdk8-forests-latest-shenandoah-aarch64-shenandoah-jdk8u121-b14.tar.xz | ||||
|  | ||||
| @ -1,45 +0,0 @@ | ||||
| # HG changeset patch | ||||
| # User dsamersoff | ||||
| # Date 1403087398 25200 | ||||
| #      Wed Jun 18 03:29:58 2014 -0700 | ||||
| # Node ID 13411144d46b50d0087f35eca2b8e827aae558f1 | ||||
| # Parent  10c9f8461c297a200ef57970c1f4c32d4081d790 | ||||
| 8044762, PR2960: com/sun/jdi/OptionTest.java test time out | ||||
| Summary: gdata could be NULL in debugInit_exit | ||||
| Reviewed-by: dcubed | ||||
| 
 | ||||
| diff -r 10c9f8461c29 -r 13411144d46b src/share/back/debugInit.c
 | ||||
| --- openjdk/jdk/src/share/back/debugInit.c	Fri May 20 19:42:05 2016 +0100
 | ||||
| +++ openjdk/jdk/src/share/back/debugInit.c	Wed Jun 18 03:29:58 2014 -0700
 | ||||
| @@ -1307,22 +1307,26 @@
 | ||||
|      if ( error != JVMTI_ERROR_NONE ) { | ||||
|          exit_code = 1; | ||||
|          if ( docoredump ) { | ||||
| +            LOG_MISC(("Dumping core as requested by command line"));
 | ||||
|              finish_logging(exit_code); | ||||
|              abort(); | ||||
|          } | ||||
|      } | ||||
| +
 | ||||
|      if ( msg==NULL ) { | ||||
|          msg = ""; | ||||
|      } | ||||
|   | ||||
|      LOG_MISC(("Exiting with error %s(%d): %s", jvmtiErrorText(error), error, msg)); | ||||
|   | ||||
| -    gdata->vmDead = JNI_TRUE;
 | ||||
| +    if (gdata != NULL) {
 | ||||
| +        gdata->vmDead = JNI_TRUE;
 | ||||
|   | ||||
| -    /* Let's try and cleanup the JVMTI, if we even have one */
 | ||||
| -    if ( gdata->jvmti != NULL ) {
 | ||||
| -        /* Dispose of jvmti (gdata->jvmti becomes NULL) */
 | ||||
| -        disposeEnvironment(gdata->jvmti);
 | ||||
| +        /* Let's try and cleanup the JVMTI, if we even have one */
 | ||||
| +        if ( gdata->jvmti != NULL ) {
 | ||||
| +            /* Dispose of jvmti (gdata->jvmti becomes NULL) */
 | ||||
| +            disposeEnvironment(gdata->jvmti);
 | ||||
| +        }
 | ||||
|      } | ||||
|   | ||||
|      /* Finish up logging. We reach here if JDWP is doing the exiting. */ | ||||
| @ -1,123 +0,0 @@ | ||||
| # HG changeset patch | ||||
| # User dsamersoff | ||||
| # Date 1409228402 25200 | ||||
| #      Thu Aug 28 05:20:02 2014 -0700 | ||||
| # Node ID f4c9545cd8a56a5fab74c95de3573623ba2b83c4 | ||||
| # Parent  13411144d46b50d0087f35eca2b8e827aae558f1 | ||||
| 8049226, PR2960: com/sun/jdi/OptionTest.java test times out again | ||||
| Summary: Don't call jni_FatalError if transport initialization fails | ||||
| Reviewed-by: sspitsyn, sla | ||||
| 
 | ||||
| diff -r 13411144d46b -r f4c9545cd8a5 src/share/back/debugInit.c
 | ||||
| --- openjdk/jdk/src/share/back/debugInit.c	Wed Jun 18 03:29:58 2014 -0700
 | ||||
| +++ openjdk/jdk/src/share/back/debugInit.c	Thu Aug 28 05:20:02 2014 -0700
 | ||||
| @@ -1013,7 +1013,7 @@
 | ||||
|  atexit_finish_logging(void) | ||||
|  { | ||||
|      /* Normal exit(0) (not _exit()) may only reach here */ | ||||
| -    finish_logging(0);  /* Only first call matters */
 | ||||
| +    finish_logging();  /* Only first call matters */
 | ||||
|  } | ||||
|   | ||||
|  static jboolean | ||||
| @@ -1301,43 +1301,49 @@
 | ||||
|  void | ||||
|  debugInit_exit(jvmtiError error, const char *msg) | ||||
|  { | ||||
| -    int exit_code = 0;
 | ||||
| +    enum exit_codes { EXIT_NO_ERRORS = 0, EXIT_JVMTI_ERROR = 1, EXIT_TRANSPORT_ERROR = 2 };
 | ||||
|   | ||||
| -    /* Pick an error code */
 | ||||
| -    if ( error != JVMTI_ERROR_NONE ) {
 | ||||
| -        exit_code = 1;
 | ||||
| -        if ( docoredump ) {
 | ||||
| -            LOG_MISC(("Dumping core as requested by command line"));
 | ||||
| -            finish_logging(exit_code);
 | ||||
| -            abort();
 | ||||
| -        }
 | ||||
| +    // Prepare to exit. Log error and finish logging
 | ||||
| +    LOG_MISC(("Exiting with error %s(%d): %s", jvmtiErrorText(error), error,
 | ||||
| +                                               ((msg == NULL) ? "" : msg)));
 | ||||
| +
 | ||||
| +    // coredump requested by command line. Keep JVMTI data dirty
 | ||||
| +    if (error != JVMTI_ERROR_NONE && docoredump) {
 | ||||
| +        LOG_MISC(("Dumping core as requested by command line"));
 | ||||
| +        finish_logging();
 | ||||
| +        abort();
 | ||||
|      } | ||||
|   | ||||
| -    if ( msg==NULL ) {
 | ||||
| -        msg = "";
 | ||||
| -    }
 | ||||
| +    finish_logging();
 | ||||
|   | ||||
| -    LOG_MISC(("Exiting with error %s(%d): %s", jvmtiErrorText(error), error, msg));
 | ||||
| -
 | ||||
| +    // Cleanup the JVMTI if we have one
 | ||||
|      if (gdata != NULL) { | ||||
|          gdata->vmDead = JNI_TRUE; | ||||
| -
 | ||||
| -        /* Let's try and cleanup the JVMTI, if we even have one */
 | ||||
| -        if ( gdata->jvmti != NULL ) {
 | ||||
| -            /* Dispose of jvmti (gdata->jvmti becomes NULL) */
 | ||||
| +        if (gdata->jvmti != NULL) {
 | ||||
| +            // Dispose of jvmti (gdata->jvmti becomes NULL)
 | ||||
|              disposeEnvironment(gdata->jvmti); | ||||
|          } | ||||
|      } | ||||
|   | ||||
| -    /* Finish up logging. We reach here if JDWP is doing the exiting. */
 | ||||
| -    finish_logging(exit_code);  /* Only first call matters */
 | ||||
| -
 | ||||
| -    /* Let's give the JNI a FatalError if non-exit 0, which is historic way */
 | ||||
| -    if ( exit_code != 0 ) {
 | ||||
| -        JNIEnv *env = NULL;
 | ||||
| -        jniFatalError(env, msg, error, exit_code);
 | ||||
| +    // We are here with no errors. Kill entire process and exit with zero exit code
 | ||||
| +    if (error == JVMTI_ERROR_NONE) {
 | ||||
| +        forceExit(EXIT_NO_ERRORS);
 | ||||
| +        return;
 | ||||
|      } | ||||
|   | ||||
| -    /* Last chance to die, this kills the entire process. */
 | ||||
| -    forceExit(exit_code);
 | ||||
| +    // No transport initilized.
 | ||||
| +    // As we don't have any details here exiting with separate exit code
 | ||||
| +    if (error == AGENT_ERROR_TRANSPORT_INIT) {
 | ||||
| +        forceExit(EXIT_TRANSPORT_ERROR);
 | ||||
| +        return;
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    // We have JVMTI error. Call hotspot jni_FatalError handler
 | ||||
| +    jniFatalError(NULL, msg, error, EXIT_JVMTI_ERROR);
 | ||||
| +
 | ||||
| +    // hotspot calls os:abort() so we should never reach code below,
 | ||||
| +    // but guard against possible hotspot changes
 | ||||
| +
 | ||||
| +    // Last chance to die, this kills the entire process.
 | ||||
| +    forceExit(EXIT_JVMTI_ERROR);
 | ||||
|  } | ||||
| diff -r 13411144d46b -r f4c9545cd8a5 src/share/back/log_messages.c
 | ||||
| --- openjdk/jdk/src/share/back/log_messages.c	Wed Jun 18 03:29:58 2014 -0700
 | ||||
| +++ openjdk/jdk/src/share/back/log_messages.c	Thu Aug 28 05:20:02 2014 -0700
 | ||||
| @@ -230,7 +230,7 @@
 | ||||
|   | ||||
|  /* Finish up logging, flush output to the logfile. */ | ||||
|  void | ||||
| -finish_logging(int exit_code)
 | ||||
| +finish_logging()
 | ||||
|  { | ||||
|  #ifdef JDWP_LOGGING | ||||
|      MUTEX_LOCK(my_mutex); | ||||
| diff -r 13411144d46b -r f4c9545cd8a5 src/share/back/log_messages.h
 | ||||
| --- openjdk/jdk/src/share/back/log_messages.h	Wed Jun 18 03:29:58 2014 -0700
 | ||||
| +++ openjdk/jdk/src/share/back/log_messages.h	Thu Aug 28 05:20:02 2014 -0700
 | ||||
| @@ -29,7 +29,7 @@
 | ||||
|  /* LOG: Must be called like:  LOG_category(("anything")) or LOG_category((format,args)) */ | ||||
|   | ||||
|  void setup_logging(const char *, unsigned); | ||||
| -void finish_logging(int);
 | ||||
| +void finish_logging();
 | ||||
|   | ||||
|  #define LOG_NULL ((void)0) | ||||
|   | ||||
| @ -1,47 +0,0 @@ | ||||
| # HG changeset patch | ||||
| # User aph | ||||
| # Date 1461121375 -3600 | ||||
| #      Wed Apr 20 04:02:55 2016 +0100 | ||||
| # Node ID 5605c859f0ec47d6f507cc83e783554a4210ccf6 | ||||
| # Parent  7458e5178c8646a9b4f76ac3d13b222abed3f16f | ||||
| 8154210: Zero: Better byte behaviour | ||||
| Summary: Complete support for 8132051 on Zero and fix failure on 64-bit big-endian systems | ||||
| Reviewed-by: andrew, chrisphi | ||||
| 
 | ||||
| diff -r 7458e5178c86 -r 5605c859f0ec src/cpu/zero/vm/cppInterpreter_zero.cpp
 | ||||
| --- openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	Tue May 17 03:03:36 2016 +0100
 | ||||
| +++ openjdk/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	Wed Apr 20 04:02:55 2016 +0100
 | ||||
| @@ -220,9 +220,16 @@
 | ||||
|    // Push our result | ||||
|    for (int i = 0; i < result_slots; i++) { | ||||
|      // Adjust result to smaller | ||||
| -    intptr_t res = result[-i];
 | ||||
| +    union {
 | ||||
| +      intptr_t res;
 | ||||
| +      jint res_jint;
 | ||||
| +    };
 | ||||
| +    res = result[-i];
 | ||||
|      if (result_slots == 1) { | ||||
| -      res = narrow(method->result_type(), res);
 | ||||
| +      BasicType t = method->result_type();
 | ||||
| +      if (is_subword_type(t)) {
 | ||||
| +	res_jint = (jint)narrow(t, res_jint);
 | ||||
| +      }
 | ||||
|      } | ||||
|      stack->push(res); | ||||
|    } | ||||
| diff -r 7458e5178c86 -r 5605c859f0ec src/share/vm/interpreter/bytecodeInterpreter.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Tue May 17 03:03:36 2016 +0100
 | ||||
| +++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp	Wed Apr 20 04:02:55 2016 +0100
 | ||||
| @@ -593,8 +593,9 @@
 | ||||
|  /* 0xDC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default, | ||||
|   | ||||
|  /* 0xE0 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default, | ||||
| -/* 0xE4 */ &&opc_default,     &&opc_fast_aldc,      &&opc_fast_aldc_w,  &&opc_return_register_finalizer,
 | ||||
| -/* 0xE8 */ &&opc_invokehandle,&&opc_default,        &&opc_default,      &&opc_default,
 | ||||
| +/* 0xE4 */ &&opc_default,     &&opc_default,        &&opc_fast_aldc,    &&opc_fast_aldc_w,
 | ||||
| +/* 0xE8 */ &&opc_return_register_finalizer,
 | ||||
| +                              &&opc_invokehandle,   &&opc_default,      &&opc_default,
 | ||||
|  /* 0xEC */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default, | ||||
|   | ||||
|  /* 0xF0 */ &&opc_default,     &&opc_default,        &&opc_default,      &&opc_default, | ||||
| @ -1,32 +0,0 @@ | ||||
| # HG changeset patch | ||||
| # User simonis | ||||
| # Date 1466155884 -7200 | ||||
| #      Fri Jun 17 11:31:24 2016 +0200 | ||||
| # Node ID 74081c30fede694b547c8b3386b9887ff14e8775 | ||||
| # Parent  3fc29347b27fdd2075e6ec6d80bb26ab2bf667c1 | ||||
| 8158260, PR2991, RH1341258: PPC64: unaligned Unsafe.getInt can lead to the generation of illegal instructions | ||||
| Summary: Adjust instruction generation. | ||||
| Reviewed-by: goetz | ||||
| Contributed-by: gromero@linux.vnet.ibm.com, horii@jp.ibm.com | ||||
| 
 | ||||
| diff -r 3fc29347b27f -r 74081c30fede src/cpu/ppc/vm/ppc.ad
 | ||||
| --- openjdk/hotspot/src/cpu/ppc/vm/ppc.ad	Fri May 20 19:42:15 2016 +0100
 | ||||
| +++ openjdk/hotspot/src/cpu/ppc/vm/ppc.ad	Fri Jun 17 11:31:24 2016 +0200
 | ||||
| @@ -5461,7 +5461,7 @@
 | ||||
|  %} | ||||
|   | ||||
|  // Match loading integer and casting it to long. | ||||
| -instruct loadI2L(iRegLdst dst, memory mem) %{
 | ||||
| +instruct loadI2L(iRegLdst dst, memoryAlg4 mem) %{
 | ||||
|    match(Set dst (ConvI2L (LoadI mem))); | ||||
|    predicate(_kids[0]->_leaf->as_Load()->is_unordered()); | ||||
|    ins_cost(MEMORY_REF_COST); | ||||
| @@ -5477,7 +5477,7 @@
 | ||||
|  %} | ||||
|   | ||||
|  // Match loading integer and casting it to long - acquire. | ||||
| -instruct loadI2L_ac(iRegLdst dst, memory mem) %{
 | ||||
| +instruct loadI2L_ac(iRegLdst dst, memoryAlg4 mem) %{
 | ||||
|    match(Set dst (ConvI2L (LoadI mem))); | ||||
|    ins_cost(3*MEMORY_REF_COST); | ||||
|   | ||||
| @ -1,115 +0,0 @@ | ||||
| # HG changeset patch | ||||
| # User thartmann | ||||
| # Date 1468206230 -3600 | ||||
| #      Mon Jul 11 04:03:50 2016 +0100 | ||||
| # Node ID 7c89f7f3f2c57d64970cc2ae3a81d24765830118 | ||||
| # Parent  4b40867e627dd9043bc67a4795caa9834ef69478 | ||||
| 8159244, PR3074: Partially initialized string object created by C2's string concat optimization may escape | ||||
| Summary: Emit release barrier after String creation to prevent partially initialized object from escaping. | ||||
| Reviewed-by: kvn | ||||
| 
 | ||||
| diff -r 4b40867e627d -r 7c89f7f3f2c5 src/share/vm/opto/stringopts.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/opto/stringopts.cpp	Fri Jun 17 11:31:24 2016 +0200
 | ||||
| +++ openjdk/hotspot/src/share/vm/opto/stringopts.cpp	Mon Jul 11 04:03:50 2016 +0100
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
|  /* | ||||
| - * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
 | ||||
| + * Copyright (c) 2009, 2016, 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 | ||||
| @@ -1640,6 +1640,12 @@
 | ||||
|        kit.store_String_length(kit.control(), result, length); | ||||
|      } | ||||
|      kit.store_String_value(kit.control(), result, char_array); | ||||
| +
 | ||||
| +    // The value field is final. Emit a barrier here to ensure that the effect
 | ||||
| +    // of the initialization is committed to memory before any code publishes
 | ||||
| +    // a reference to the newly constructed object (see Parse::do_exits()).
 | ||||
| +    assert(AllocateNode::Ideal_allocation(result, _gvn) != NULL, "should be newly allocated");
 | ||||
| +    kit.insert_mem_bar(Op_MemBarRelease, result);
 | ||||
|    } else { | ||||
|      result = C->top(); | ||||
|    } | ||||
| diff -r 4b40867e627d -r 7c89f7f3f2c5 test/compiler/stringopts/TestStringObjectInitialization.java
 | ||||
| --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
 | ||||
| +++ openjdk/hotspot/test/compiler/stringopts/TestStringObjectInitialization.java	Mon Jul 11 04:03:50 2016 +0100
 | ||||
| @@ -0,0 +1,78 @@
 | ||||
| +/*
 | ||||
| + * Copyright (c) 2016, 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
 | ||||
| + * under the terms of the GNU General Public License version 2 only, as
 | ||||
| + * published by the Free Software Foundation.
 | ||||
| + *
 | ||||
| + * This code is distributed in the hope that it will be useful, but WITHOUT
 | ||||
| + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | ||||
| + * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 | ||||
| + * version 2 for more details (a copy is included in the LICENSE file that
 | ||||
| + * accompanied this code).
 | ||||
| + *
 | ||||
| + * You should have received a copy of the GNU General Public License version
 | ||||
| + * 2 along with this work; if not, write to the Free Software Foundation,
 | ||||
| + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 | ||||
| + *
 | ||||
| + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 | ||||
| + * or visit www.oracle.com if you need additional information or have any
 | ||||
| + * questions.
 | ||||
| + */
 | ||||
| +
 | ||||
| +
 | ||||
| +import java.util.Arrays;
 | ||||
| +
 | ||||
| +/*
 | ||||
| + * @test
 | ||||
| + * @bug 8159244
 | ||||
| + * @requires vm.gc == "Parallel" | vm.gc == "null"
 | ||||
| + * @summary Verifies that no partially initialized String object escapes from
 | ||||
| + *          C2's String concat optimization in a highly concurrent setting.
 | ||||
| + *          This test triggers the bug in about 1 out of 10 runs.
 | ||||
| + * @compile -XDstringConcat=inline TestStringObjectInitialization.java
 | ||||
| + * @run main/othervm/timeout=300 -XX:+IgnoreUnrecognizedVMOptions -XX:-UseCompressedOops -XX:-CompactStrings
 | ||||
| + *                               -XX:-UseG1GC -XX:+UseParallelGC TestStringObjectInitialization
 | ||||
| + */
 | ||||
| +public class TestStringObjectInitialization {
 | ||||
| +
 | ||||
| +    String myString;
 | ||||
| +
 | ||||
| +    public static void main(String[] args) throws Exception {
 | ||||
| +        TestStringObjectInitialization t = new TestStringObjectInitialization();
 | ||||
| +        // Create some threads that concurrently update 'myString'
 | ||||
| +        for (int i = 0; i < 100; ++i) {
 | ||||
| +            (new Thread(new Runner(t))).start();
 | ||||
| +        }
 | ||||
| +        Thread last = new Thread(new Runner(t));
 | ||||
| +        last.start();
 | ||||
| +        last.join();
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    private void add(String message) {
 | ||||
| +        // String escapes to other threads here
 | ||||
| +        myString += message;
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    public void run(String s, String[] sArray) {
 | ||||
| +        // Trigger C2's string concatenation optimization
 | ||||
| +        add(s + Arrays.toString(sArray) + " const ");
 | ||||
| +    }
 | ||||
| +}
 | ||||
| +
 | ||||
| +class Runner implements Runnable {
 | ||||
| +    private TestStringObjectInitialization test;
 | ||||
| +
 | ||||
| +    public Runner(TestStringObjectInitialization t) {
 | ||||
| +        test = t;
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    public void run(){
 | ||||
| +        String[] array = {"a", "b", "c"};
 | ||||
| +        for (int i = 0; i < 10000; ++i) {
 | ||||
| +            test.run("a", array);
 | ||||
| +        }
 | ||||
| +    }
 | ||||
| +}
 | ||||
| +
 | ||||
| @ -1,7 +1,7 @@ | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -2659,7 +2659,7 @@ void CFLS_LAB::get_from_global_pool(size
 | ||||
| diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
 | ||||
| @@ -2659,7 +2659,7 @@
 | ||||
|    if (ResizeOldPLAB && CMSOldPLABResizeQuicker) { | ||||
|      size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks); | ||||
|      n_blks +=  CMSOldPLABReactivityFactor*multiple*n_blks; | ||||
| @ -10,10 +10,10 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compact | ||||
|    } | ||||
|    assert(n_blks > 0, "Error"); | ||||
|    _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl); | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -957,7 +957,7 @@ void ConcurrentMarkSweepGeneration::comp
 | ||||
| diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
 | ||||
| @@ -957,7 +957,7 @@
 | ||||
|    if (free_percentage < desired_free_percentage) { | ||||
|      size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); | ||||
|      assert(desired_capacity >= capacity(), "invalid expansion size"); | ||||
| @ -22,7 +22,7 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurr | ||||
|      if (PrintGCDetails && Verbose) { | ||||
|        size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage)); | ||||
|        gclog_or_tty->print_cr("\nFrom compute_new_size: "); | ||||
| @@ -6575,7 +6575,7 @@ void CMSCollector::reset(bool asynch) {
 | ||||
| @@ -6577,7 +6577,7 @@
 | ||||
|      HeapWord* curAddr = _markBitMap.startWord(); | ||||
|      while (curAddr < _markBitMap.endWord()) { | ||||
|        size_t remaining  = pointer_delta(_markBitMap.endWord(), curAddr); | ||||
| @ -31,7 +31,7 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurr | ||||
|        _markBitMap.clear_large_range(chunk); | ||||
|        if (ConcurrentMarkSweepThread::should_yield() && | ||||
|            !foregroundGCIsActive() && | ||||
| @@ -6873,7 +6873,7 @@ void CMSMarkStack::expand() {
 | ||||
| @@ -6875,7 +6875,7 @@
 | ||||
|      return; | ||||
|    } | ||||
|    // Double capacity if possible | ||||
| @ -40,10 +40,10 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurr | ||||
|    // Do not give up existing stack until we have managed to | ||||
|    // get the double capacity that we desired. | ||||
|    ReservedSpace rs(ReservedSpace::allocation_align_size_up( | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -3902,7 +3902,7 @@ void CMTask::drain_local_queue(bool part
 | ||||
| diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
 | ||||
| @@ -3903,7 +3903,7 @@
 | ||||
|    // of things to do) or totally (at the very end). | ||||
|    size_t target_size; | ||||
|    if (partially) { | ||||
| @ -52,7 +52,7 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_ | ||||
|    } else { | ||||
|      target_size = 0; | ||||
|    } | ||||
| @@ -4728,7 +4728,7 @@ size_t G1PrintRegionLivenessInfoClosure:
 | ||||
| @@ -4707,7 +4707,7 @@
 | ||||
|    // The > 0 check is to deal with the prev and next live bytes which | ||||
|    // could be 0. | ||||
|    if (*hum_bytes > 0) { | ||||
| @ -61,10 +61,10 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp.size_ | ||||
|      *hum_bytes -= bytes; | ||||
|    } | ||||
|    return bytes; | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -1726,7 +1726,7 @@ HeapWord* G1CollectedHeap::expand_and_al
 | ||||
| diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
 | ||||
| @@ -1726,7 +1726,7 @@
 | ||||
|   | ||||
|    verify_region_sets_optional(); | ||||
|   | ||||
| @ -73,10 +73,22 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp.size | ||||
|    ergo_verbose1(ErgoHeapSizing, | ||||
|                  "attempt heap expansion", | ||||
|                  ergo_format_reason("allocation request failed") | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -38,7 +38,7 @@ G1StringDedupQueue::G1StringDedupQueue()
 | ||||
| diff --git a/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp b/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| @@ -117,7 +117,7 @@
 | ||||
|    return reserved_size() - committed_size(); | ||||
|  } | ||||
|   | ||||
| -size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
 | ||||
| +uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
 | ||||
|    return (addr - _low_boundary) / _page_size; | ||||
|  } | ||||
|   | ||||
| diff --git a/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp b/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
 | ||||
| @@ -38,7 +38,7 @@
 | ||||
|    _cancel(false), | ||||
|    _empty(true), | ||||
|    _dropped(0) { | ||||
| @ -85,22 +97,22 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp.s | ||||
|    _queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC); | ||||
|    for (size_t i = 0; i < _nqueues; i++) { | ||||
|      new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size); | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -110,7 +110,7 @@ public:
 | ||||
| diff --git a/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp b/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
 | ||||
| @@ -120,7 +120,7 @@
 | ||||
|  }; | ||||
|   | ||||
|  G1StringDedupEntryCache::G1StringDedupEntryCache() { | ||||
| -  _nlists = MAX2(ParallelGCThreads, (size_t)1);
 | ||||
| +  _nlists = MAX2(ParallelGCThreads, (uintx)1);
 | ||||
|    _lists = PaddedArray<G1StringDedupEntryFreeList, mtGC>::create_unfreeable((uint)_nlists); | ||||
|  } | ||||
|   | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -109,7 +109,7 @@ void HeapRegion::setup_heap_region_size(
 | ||||
|  G1StringDedupEntryCache::G1StringDedupEntryCache(size_t max_size) : | ||||
| -  _nlists(MAX2(ParallelGCThreads, (size_t)1)),
 | ||||
| +  _nlists(MAX2(ParallelGCThreads, (uintx)1)),
 | ||||
|    _max_list_length(0), | ||||
|    _cached(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)), | ||||
|    _overflowed(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)) { | ||||
| diff --git a/src/share/vm/gc_implementation/g1/heapRegion.cpp b/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
 | ||||
| @@ -109,7 +109,7 @@
 | ||||
|    if (FLAG_IS_DEFAULT(G1HeapRegionSize)) { | ||||
|      size_t average_heap_size = (initial_heap_size + max_heap_size) / 2; | ||||
|      region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(), | ||||
| @ -109,10 +121,10 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp.size_t jd | ||||
|    } | ||||
|   | ||||
|    int region_size_log = log2_long((jlong) region_size); | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -194,7 +194,7 @@ bool ParScanThreadState::take_from_overf
 | ||||
| diff --git a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
 | ||||
| @@ -194,7 +194,7 @@
 | ||||
|    const size_t num_overflow_elems = of_stack->size(); | ||||
|    const size_t space_available = queue->max_elems() - queue->size(); | ||||
|    const size_t num_take_elems = MIN3(space_available / 4, | ||||
| @ -121,10 +133,10 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp | ||||
|                                       num_overflow_elems); | ||||
|    // Transfer the most recent num_take_elems from the overflow | ||||
|    // stack to our work queue. | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -910,8 +910,8 @@ void PSParallelCompact::initialize_space
 | ||||
| diff --git a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
 | ||||
| @@ -910,8 +910,8 @@
 | ||||
|  void PSParallelCompact::initialize_dead_wood_limiter() | ||||
|  { | ||||
|    const size_t max = 100; | ||||
| @ -135,10 +147,10 @@ diff -up jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallel | ||||
|    _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev); | ||||
|    DEBUG_ONLY(_dwl_initialized = true;) | ||||
|    _dwl_adjustment = normal_distribution(1.0); | ||||
| diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -385,7 +385,7 @@ void TwoGenerationCollectorPolicy::initi
 | ||||
| diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
 | ||||
| @@ -385,7 +385,7 @@
 | ||||
|        uintx calculated_size = NewSize + OldSize; | ||||
|        double shrink_factor = (double) MaxHeapSize / calculated_size; | ||||
|        uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment); | ||||
| @ -147,7 +159,7 @@ diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspo | ||||
|        _initial_gen0_size = NewSize; | ||||
|   | ||||
|        // OldSize is already aligned because above we aligned MaxHeapSize to | ||||
| @@ -433,7 +433,7 @@ void GenCollectorPolicy::initialize_size
 | ||||
| @@ -433,7 +433,7 @@
 | ||||
|      // yield a size that is too small) and bound it by MaxNewSize above. | ||||
|      // Ergonomics plays here by previously calculating the desired | ||||
|      // NewSize and MaxNewSize. | ||||
| @ -156,7 +168,7 @@ diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspo | ||||
|    } | ||||
|    assert(max_new_size > 0, "All paths should set max_new_size"); | ||||
|   | ||||
| @@ -455,24 +455,23 @@ void GenCollectorPolicy::initialize_size
 | ||||
| @@ -455,24 +455,23 @@
 | ||||
|        // lower limit. | ||||
|        _min_gen0_size = NewSize; | ||||
|        desired_new_size = NewSize; | ||||
| @ -186,7 +198,7 @@ diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspo | ||||
|   | ||||
|      assert(_min_gen0_size > 0, "Sanity check"); | ||||
|      _initial_gen0_size = desired_new_size; | ||||
| @@ -573,7 +572,7 @@ void TwoGenerationCollectorPolicy::initi
 | ||||
| @@ -573,7 +572,7 @@
 | ||||
|    } else { | ||||
|      // It's been explicitly set on the command line.  Use the | ||||
|      // OldSize and then determine the consequences. | ||||
| @ -195,10 +207,10 @@ diff -up jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp.size_t jdk8/hotspo | ||||
|      _initial_gen1_size = OldSize; | ||||
|   | ||||
|      // If the user has explicitly set an OldSize that is inconsistent | ||||
| diff -up jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t jdk8/hotspot/src/share/vm/memory/metaspace.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/memory/metaspace.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -1455,7 +1455,7 @@ void MetaspaceGC::initialize() {
 | ||||
| diff --git a/src/share/vm/memory/metaspace.cpp b/src/share/vm/memory/metaspace.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/memory/metaspace.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp
 | ||||
| @@ -1455,7 +1455,7 @@
 | ||||
|   | ||||
|  void MetaspaceGC::post_initialize() { | ||||
|    // Reset the high-water mark once the VM initialization is done. | ||||
| @ -207,7 +219,7 @@ diff -up jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t jdk8/hotspot/src/ | ||||
|  } | ||||
|   | ||||
|  bool MetaspaceGC::can_expand(size_t word_size, bool is_class) { | ||||
| @@ -1515,7 +1515,7 @@ void MetaspaceGC::compute_new_size() {
 | ||||
| @@ -1515,7 +1515,7 @@
 | ||||
|      (size_t)MIN2(min_tmp, double(max_uintx)); | ||||
|    // Don't shrink less than the initial generation size | ||||
|    minimum_desired_capacity = MAX2(minimum_desired_capacity, | ||||
| @ -216,7 +228,7 @@ diff -up jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t jdk8/hotspot/src/ | ||||
|   | ||||
|    if (PrintGCDetails && Verbose) { | ||||
|      gclog_or_tty->print_cr("\nMetaspaceGC::compute_new_size: "); | ||||
| @@ -1573,7 +1573,7 @@ void MetaspaceGC::compute_new_size() {
 | ||||
| @@ -1573,7 +1573,7 @@
 | ||||
|      const double max_tmp = used_after_gc / minimum_used_percentage; | ||||
|      size_t maximum_desired_capacity = (size_t)MIN2(max_tmp, double(max_uintx)); | ||||
|      maximum_desired_capacity = MAX2(maximum_desired_capacity, | ||||
| @ -225,7 +237,7 @@ diff -up jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t jdk8/hotspot/src/ | ||||
|      if (PrintGCDetails && Verbose) { | ||||
|        gclog_or_tty->print_cr("  " | ||||
|                               "  maximum_free_percentage: %6.2f" | ||||
| @@ -3245,7 +3245,7 @@ void Metaspace::global_initialize() {
 | ||||
| @@ -3285,7 +3285,7 @@
 | ||||
|      // on the medium chunk list.   The next chunk will be small and progress | ||||
|      // from there.  This size calculated by -version. | ||||
|      _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6, | ||||
| @ -234,10 +246,10 @@ diff -up jdk8/hotspot/src/share/vm/memory/metaspace.cpp.size_t jdk8/hotspot/src/ | ||||
|      _first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size); | ||||
|      // Arbitrarily set the initial virtual space to a multiple | ||||
|      // of the boot class loader size. | ||||
| diff -up jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp.size_t jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -238,13 +238,13 @@ size_t ThreadLocalAllocBuffer::initial_d
 | ||||
| diff --git a/src/share/vm/memory/threadLocalAllocBuffer.cpp b/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
 | ||||
| @@ -238,13 +238,13 @@
 | ||||
|    size_t init_sz = 0; | ||||
|   | ||||
|    if (TLABSize > 0) { | ||||
| @ -254,10 +266,10 @@ diff -up jdk8/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp.size_t jdk8 | ||||
|      init_sz = align_object_size(init_sz); | ||||
|    } | ||||
|    init_sz = MIN2(MAX2(init_sz, min_size()), max_size()); | ||||
| diff -up jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| --- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -48,7 +48,7 @@ void ObjArrayKlass::objarray_follow_cont
 | ||||
| diff --git a/src/share/vm/oops/objArrayKlass.inline.hpp b/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| --- openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
 | ||||
| @@ -48,7 +48,7 @@
 | ||||
|    const size_t beg_index = size_t(index); | ||||
|    assert(beg_index < len || len == 0, "index too large"); | ||||
|   | ||||
| @ -266,7 +278,7 @@ diff -up jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t jdk8/hot | ||||
|    const size_t end_index = beg_index + stride; | ||||
|    T* const base = (T*)a->base(); | ||||
|    T* const beg = base + beg_index; | ||||
| @@ -82,7 +82,7 @@ void ObjArrayKlass::objarray_follow_cont
 | ||||
| @@ -82,7 +82,7 @@
 | ||||
|    const size_t beg_index = size_t(index); | ||||
|    assert(beg_index < len || len == 0, "index too large"); | ||||
|   | ||||
| @ -275,10 +287,10 @@ diff -up jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp.size_t jdk8/hot | ||||
|    const size_t end_index = beg_index + stride; | ||||
|    T* const base = (T*)a->base(); | ||||
|    T* const beg = base + beg_index; | ||||
| diff -up jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t jdk8/hotspot/src/share/vm/runtime/arguments.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t	2015-05-19 12:16:26.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp	2015-06-09 10:21:39.000000000 -0400
 | ||||
| @@ -1277,7 +1277,7 @@ void Arguments::set_cms_and_parnew_gc_fl
 | ||||
| diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
 | ||||
| --- openjdk/hotspot/src/share/vm/runtime/arguments.cpp
 | ||||
| +++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
 | ||||
| @@ -1283,7 +1283,7 @@
 | ||||
|      // NewSize was set on the command line and it is larger than | ||||
|      // preferred_max_new_size. | ||||
|      if (!FLAG_IS_DEFAULT(NewSize)) {   // NewSize explicitly set at command-line | ||||
| @ -287,7 +299,7 @@ diff -up jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t jdk8/hotspot/src | ||||
|      } else { | ||||
|        FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size); | ||||
|      } | ||||
| @@ -1302,8 +1302,8 @@ void Arguments::set_cms_and_parnew_gc_fl
 | ||||
| @@ -1308,8 +1308,8 @@
 | ||||
|        // Unless explicitly requested otherwise, make young gen | ||||
|        // at least min_new, and at most preferred_max_new_size. | ||||
|        if (FLAG_IS_DEFAULT(NewSize)) { | ||||
| @ -298,7 +310,7 @@ diff -up jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t jdk8/hotspot/src | ||||
|          if (PrintGCDetails && Verbose) { | ||||
|            // Too early to use gclog_or_tty | ||||
|            tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize); | ||||
| @@ -1313,7 +1313,7 @@ void Arguments::set_cms_and_parnew_gc_fl
 | ||||
| @@ -1319,7 +1319,7 @@
 | ||||
|        // so it's NewRatio x of NewSize. | ||||
|        if (FLAG_IS_DEFAULT(OldSize)) { | ||||
|          if (max_heap > NewSize) { | ||||
| @ -307,15 +319,3 @@ diff -up jdk8/hotspot/src/share/vm/runtime/arguments.cpp.size_t jdk8/hotspot/src | ||||
|            if (PrintGCDetails && Verbose) { | ||||
|              // Too early to use gclog_or_tty | ||||
|              tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize); | ||||
| diff -up jdk8/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp.size_t jdk8/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
 | ||||
| --- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp.size_t	2015-06-09 10:35:04.000000000 -0400
 | ||||
| +++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp	2015-06-09 10:33:21.000000000 -0400
 | ||||
| @@ -117,7 +117,7 @@ size_t G1PageBasedVirtualSpace::uncommit
 | ||||
|    return reserved_size() - committed_size(); | ||||
|  } | ||||
|   | ||||
| -size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
 | ||||
| +uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
 | ||||
|    return (addr - _low_boundary) / _page_size; | ||||
|  } | ||||
|   | ||||
|  | ||||
| @ -56,7 +56,7 @@ | ||||
| %ifarch %{jit_arches} | ||||
| %global bootstrap_build 1 | ||||
| %else | ||||
| %global bootstrap_build 0 | ||||
| %global bootstrap_build 1 | ||||
| %endif | ||||
| 
 | ||||
| %if %{bootstrap_build} | ||||
| @ -168,9 +168,9 @@ | ||||
| # Standard JPackage naming and versioning defines. | ||||
| %global origin          openjdk | ||||
| # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there. | ||||
| %global project         aarch64-port | ||||
| %global repo            jdk8u | ||||
| %global revision        aarch64-jdk8u111-b16 | ||||
| %global project         openjdk8-forests | ||||
| %global repo            latest-aarch64 | ||||
| %global revision        aarch64-jdk8u121-b14 | ||||
| # eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60  (dont forget spec escape % by %%) | ||||
| %global whole_update    %(VERSION=%{revision}; echo ${VERSION%%-*}) | ||||
| # eg  jdk8u60 -> 60 or aarch64-jdk8u60 -> 60 | ||||
| @ -257,7 +257,10 @@ if [ "$1" -gt 1 ]; then | ||||
|        "${sum}" = '5ea976e209d0d0b5b6ab148416123e02' -o \\ | ||||
|        "${sum}" = '059d61cfbb47e337b011ecda9350db9b' -o \\ | ||||
|        "${sum}" = '59dafb237e5def3ccf8a3ad589fb2777' -o \\ | ||||
|        "${sum}" = '5ab4c77cf14fbd7f7ee6f51a7a73d88c' ]; then | ||||
|        "${sum}" = '84d16306cd4c2ae76ba81a3775e92cee' -o \\ | ||||
|        "${sum}" = '5ab4c77cf14fbd7f7ee6f51a7a73d88c' -o \\ | ||||
|        "${sum}" = 'b727442b4ac0e3b8a26ec9741ad463e5' -o \\ | ||||
|        "${sum}" = 'a59c6d96aeae1303fb8ba85e97588e9d' ]; then | ||||
|     if [ -f "${javasecurity}.rpmnew" ]; then | ||||
|       mv -f "${javasecurity}.rpmnew" "${javasecurity}" | ||||
|     fi | ||||
| @ -797,7 +800,7 @@ Obsoletes: java-1.7.0-openjdk-accessibility%1 | ||||
| 
 | ||||
| Name:    java-%{javaver}-%{origin} | ||||
| Version: %{javaver}.%{updatever} | ||||
| Release: 5.%{buildver}%{?dist} | ||||
| Release: 1.%{buildver}%{?dist} | ||||
| # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons, | ||||
| # and this change was brought into RHEL-4.  java-1.5.0-ibm packages | ||||
| # also included the epoch in their virtual provides.  This created a | ||||
| @ -853,7 +856,7 @@ Source20: repackReproduciblePolycies.sh | ||||
| Source100: config.guess | ||||
| Source101: config.sub | ||||
| # shenandoah hotpost | ||||
| Source999: aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u111-b16.tar.xz | ||||
| Source999: openjdk8-forests-latest-shenandoah-aarch64-shenandoah-jdk8u121-b14.tar.xz | ||||
| 
 | ||||
| # RPM/distribution specific patches | ||||
| 
 | ||||
| @ -925,20 +928,6 @@ Patch526: 6260348-pr3066.patch | ||||
| # S8162384, PR3122, RH1358661: Performance regression: bimorphic inlining may be bypassed by type speculation | ||||
| Patch532: 8162384-pr3122-rh1358661.patch | ||||
| 
 | ||||
| # Patches upstream and appearing in 8u111 | ||||
| # S8159244, PR3074: Partially initialized string object created by C2's string concat optimization may escape | ||||
| Patch527: 8159244-pr3074.patch | ||||
| 
 | ||||
| # Patches upstream and appearing in 8u112 | ||||
| # S8044762, PR2960: com/sun/jdi/OptionTest.java test time out | ||||
| Patch521: 8044762-pr2960.patch | ||||
| # S8049226, PR2960: com/sun/jdi/OptionTest.java test times out again | ||||
| Patch522: 8049226-pr2960.patch | ||||
| # 8154210: Zero: Better byte behaviour | ||||
| Patch606: 8154210.patch | ||||
| # S8158260, PR2991, RH1341258: JVM on PPC64 LE crashes due to an illegal instruction in JITed code | ||||
| Patch524: 8158260-pr2991-rh1341258.patch | ||||
| 
 | ||||
| # Patches ineligible for 8u | ||||
| # 8043805: Allow using a system-installed libjpeg | ||||
| Patch201: system-libjpeg.patch | ||||
| @ -1260,10 +1249,8 @@ sh %{SOURCE12} | ||||
| %patch103 | ||||
| 
 | ||||
| # ppc64le fixes | ||||
| %patch524 | ||||
| 
 | ||||
| # Zero fixes. | ||||
| %patch606 | ||||
| 
 | ||||
| %patch603 | ||||
| %patch601 | ||||
| @ -1284,12 +1271,9 @@ sh %{SOURCE12} | ||||
| %patch517 | ||||
| %patch518 | ||||
| %patch400 | ||||
| %patch521 | ||||
| %patch522 | ||||
| %patch523 | ||||
| %patch525 | ||||
| %patch526 | ||||
| %patch527 | ||||
| %patch528 | ||||
| %patch532 | ||||
| %patch533 | ||||
| @ -1936,6 +1920,21 @@ require "copy_jdk_configs.lua" | ||||
| %endif | ||||
| 
 | ||||
| %changelog | ||||
| * Tue Jan 24 2017 jvanek <jvanek@redhat.com> - 1:1.8.0.121-1.b14 | ||||
| - updated to aarch64-jdk8u121-b14 (from openjdk8-forests/latest-aarch64) | ||||
| - updated to aarch64-shenandoah-jdk8u121-b14 (from openjdk8-forests/latest-shenandoah) of hotspot | ||||
| - used openjdk8-forests-latest-aarch64-aarch64-jdk8u121-b14.tar.xz as new sources | ||||
| - used openjdk8-forests-latest-shenandoah-aarch64-shenandoah-jdk8u121-b14.tar.xz as new sources for hotspot | ||||
| - deleted:    8044762-pr2960.patch 8049226-pr2960.patch 8154210.patch 8158260-pr2991-rh1341258.patch 8159244-pr3074.patch | ||||
| - adapted java-1.8.0-openjdk-size_t.patch pr1834-rh1022017.patch rh1163501.patch | ||||
| - updated from internal (rhel) repo  OPENJDK_URL_DEFAULT=ssh://t...redhat.com//...ty/ | ||||
| - with custom PR2126=/.../pr2126.patch (removed newly added brainpool curves) | ||||
| - withspecial values of PROJECT_NAME="openjdk8-forests", REPO_NAME="latest-aarch64" | ||||
| - with correct tag VERSION="aarch64-jdk8u121-b14" | ||||
| - and for shenandoah hotspot used custom repo REPO_NAME=latest-shenandoah | ||||
| - with correct tag VERSION="aarch64-shenandoah-jdk8u121-b14" | ||||
| - complete changes to  generate_source_tarball.sh  update_package.sh NOT commited (willbe regenerated from official repos soon) | ||||
| 
 | ||||
| * Mon Jan 09 2017 jvanek <jvanek@redhat.com - 1:1.8.0.111-5.b16 | ||||
| - Added arched dependencies to headless/main package | ||||
| 
 | ||||
|  | ||||
| @ -1,44 +1,28 @@ | ||||
| diff -r a5c3d9643077 src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
 | ||||
| --- openjdk/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	Tue Feb 10 16:24:28 2015 +0000
 | ||||
| +++ openjdk/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java	Thu May 14 04:01:02 2015 +0100
 | ||||
| @@ -37,25 +37,11 @@
 | ||||
|      // the extension value to send in the ClientHello message | ||||
|      static final SupportedEllipticCurvesExtension DEFAULT; | ||||
|   | ||||
| -    private static final boolean fips;
 | ||||
| -
 | ||||
|      static { | ||||
| -        int[] ids;
 | ||||
| -        fips = SunJSSE.isFIPS();
 | ||||
| -        if (fips == false) {
 | ||||
| -            ids = new int[] {
 | ||||
| -                // NIST curves first
 | ||||
| -                // prefer NIST P-256, rest in order of increasing key length
 | ||||
| -                23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14,
 | ||||
| -                // non-NIST curves
 | ||||
| -                15, 16, 17, 2, 18, 4, 5, 20, 8, 22,
 | ||||
| -            };
 | ||||
| -        } else {
 | ||||
| -            ids = new int[] {
 | ||||
| -                // same as above, but allow only NIST curves in FIPS mode
 | ||||
| -                23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14,
 | ||||
| -            };
 | ||||
| -        }
 | ||||
| +	int[] ids = new int[] {
 | ||||
| +	    // NSS currently only supports these three NIST curves
 | ||||
| +	    23, 24, 25
 | ||||
| +	};
 | ||||
|          DEFAULT = new SupportedEllipticCurvesExtension(ids); | ||||
|      } | ||||
|   | ||||
| @@ -150,10 +136,6 @@
 | ||||
|          if ((index <= 0) || (index >= NAMED_CURVE_OID_TABLE.length)) { | ||||
|              return false; | ||||
|          } | ||||
| -        if (fips == false) {
 | ||||
| -            // in non-FIPS mode, we support all valid indices
 | ||||
| -            return true;
 | ||||
| -        }
 | ||||
|          return DEFAULT.contains(index); | ||||
|      } | ||||
| diff --git a/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java b/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
 | ||||
| --- openjdk/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
 | ||||
| +++ openjdk/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
 | ||||
| @@ -160,20 +160,10 @@
 | ||||
|                  } | ||||
|              } | ||||
|          } else {        // default curves | ||||
| -            int[] ids;
 | ||||
| -            if (requireFips) {
 | ||||
| -                ids = new int[] {
 | ||||
| -                    // only NIST curves in FIPS mode
 | ||||
| -                    23, 24, 25, 9, 10, 11, 12, 13, 14,
 | ||||
| -                };
 | ||||
| -            } else {
 | ||||
| -                ids = new int[] {
 | ||||
| -                    // NIST curves first
 | ||||
| -                    23, 24, 25, 9, 10, 11, 12, 13, 14,
 | ||||
| -                    // non-NIST curves
 | ||||
| -                    22,
 | ||||
| -                };
 | ||||
| -            }
 | ||||
| +            int[] ids = new int[] { 
 | ||||
| +		// NSS currently only supports these three NIST curves
 | ||||
| +		23, 24, 25
 | ||||
| +	    };
 | ||||
|   | ||||
|              idList = new ArrayList<>(ids.length); | ||||
|              for (int curveId : ids) { | ||||
|  | ||||
							
								
								
									
										113
									
								
								rh1163501.patch
									
									
									
									
									
								
							
							
						
						
									
										113
									
								
								rh1163501.patch
									
									
									
									
									
								
							| @ -1,65 +1,54 @@ | ||||
| --- jdk8/jdk/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java	Tue Mar 17 00:09:12 2015 +0300
 | ||||
| +++ jdk8/jdk/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java	Wed Apr 08 14:25:54 2015 +0100
 | ||||
| @@ -1,5 +1,6 @@ 
 | ||||
| diff --git a/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java b/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java
 | ||||
| --- openjdk/jdk/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java
 | ||||
| +++ openjdk/jdk/src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java
 | ||||
| @@ -1,5 +1,6 @@
 | ||||
|  /* | ||||
|   * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. | ||||
| + * Copyright (c) 2014 Red Hat Inc.
 | ||||
|   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||||
|   * | ||||
|   * This code is free software; you can redistribute it and/or modify it | ||||
| @@ -80,10 +81,10 @@ 
 | ||||
|       * @param random the source of randomness | ||||
|       */ | ||||
|      public void initialize(int keysize, SecureRandom random) { | ||||
| -        if ((keysize < 512) || (keysize > 2048) || (keysize % 64 != 0)) {
 | ||||
| +        if ((keysize < 512) || (keysize > 4096) || (keysize % 64 != 0)) {
 | ||||
|              throw new InvalidParameterException("Keysize must be multiple " | ||||
|                                                  + "of 64, and can only range " | ||||
| -                                                + "from 512 to 2048 "
 | ||||
| +                                                + "from 512 to 4096 "
 | ||||
|                                                  + "(inclusive)"); | ||||
|          } | ||||
|          this.pSize = keysize; | ||||
| @@ -115,11 +116,11 @@ 
 | ||||
|   | ||||
|          params = (DHParameterSpec)algParams; | ||||
|          pSize = params.getP().bitLength(); | ||||
| -        if ((pSize < 512) || (pSize > 2048) ||
 | ||||
| +        if ((pSize < 512) || (pSize > 4096) ||
 | ||||
|              (pSize % 64 != 0)) { | ||||
|              throw new InvalidAlgorithmParameterException | ||||
|                  ("Prime size must be multiple of 64, and can only range " | ||||
| -                 + "from 512 to 2048 (inclusive)");
 | ||||
| +                 + "from 512 to 4096 (inclusive)");
 | ||||
|          } | ||||
|   | ||||
|          // exponent size is optional, could be 0 | ||||
| --- jdk8/jdk/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java	Tue Mar 17 00:09:12 2015 +0300
 | ||||
| +++ jdk8/jdk/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java	Wed Apr 08 14:25:54 2015 +0100
 | ||||
| @@ -1,5 +1,6 @@ 
 | ||||
|  /* | ||||
|   * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. | ||||
| + * Copyright (c) 2014 Red Hat Inc.
 | ||||
|   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||||
|   * | ||||
|   * This code is free software; you can redistribute it and/or modify it | ||||
| @@ -60,11 +61,11 @@ 
 | ||||
|   | ||||
| @@ -74,10 +75,10 @@
 | ||||
|      private static void checkKeySize(int keysize) | ||||
|          throws InvalidAlgorithmParameterException { | ||||
| -        if ((keysize != 2048) &&
 | ||||
| +        if ((keysize != 2048) && (keysize != 4096) &&
 | ||||
|              ((keysize < 512) || (keysize > 1024) || (keysize % 64 != 0))) { | ||||
|              throw new InvalidAlgorithmParameterException( | ||||
|                  "Keysize must be multiple of 64 ranging from " | ||||
| -                + "512 to 1024 (inclusive), or 2048");
 | ||||
| +                + "512 to 1024 (inclusive), or 2048, or 4096");
 | ||||
|              throws InvalidParameterException { | ||||
|   | ||||
| -        if ((keysize < 512) || (keysize > 2048) || ((keysize & 0x3F) != 0)) {
 | ||||
| +        if ((keysize < 512) || (keysize > 4096) || ((keysize & 0x3F) != 0)) {
 | ||||
|              throw new InvalidParameterException( | ||||
|                      "DH key size must be multiple of 64, and can only range " + | ||||
| -                    "from 512 to 2048 (inclusive). " +
 | ||||
| +                    "from 512 to 4096 (inclusive). " +
 | ||||
|                      "The specific key size " + keysize + " is not supported"); | ||||
|          } | ||||
|      } | ||||
| diff --git a/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java b/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java
 | ||||
| --- openjdk/jdk/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java
 | ||||
| +++ openjdk/jdk/src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java
 | ||||
| @@ -1,5 +1,6 @@
 | ||||
|  /* | ||||
|   * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. | ||||
| + * Copyright (c) 2014 Red Hat Inc.
 | ||||
|   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||||
|   * | ||||
|   * This code is free software; you can redistribute it and/or modify it | ||||
| @@ -60,11 +61,11 @@
 | ||||
|   | ||||
| --- jdk8/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java	Tue Mar 17 00:09:12 2015 +0300
 | ||||
| +++ jdk8/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java	Wed Apr 08 14:25:54 2015 +0100
 | ||||
| @@ -278,11 +278,11 @@ 
 | ||||
|      private static void checkKeySize(int keysize) | ||||
|              throws InvalidParameterException { | ||||
| -            if ((keysize != 2048) &&
 | ||||
| +            if ((keysize != 2048) && (keysize != 4096) &&
 | ||||
|              ((keysize < 512) || (keysize > 1024) || (keysize % 64 != 0))) { | ||||
|              throw new InvalidParameterException( | ||||
|                      "DH key size must be multiple of 64 and range " + | ||||
| -                    "from 512 to 1024 (inclusive), or 2048. " +
 | ||||
| +                    "from 512 to 1024 (inclusive), or 2048, or 4096. " +
 | ||||
|                      "The specific key size " + keysize + " is not supported"); | ||||
|          } | ||||
|      } | ||||
| diff --git a/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java b/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java
 | ||||
| --- openjdk/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java
 | ||||
| +++ openjdk/jdk/src/share/classes/sun/security/pkcs11/P11KeyPairGenerator.java
 | ||||
| @@ -285,11 +285,11 @@
 | ||||
|                      // this restriction is in the spec for DSA | ||||
|                      // since we currently use DSA parameters for DH as well, | ||||
|                      // it also applies to DH if no parameters are specified | ||||
| @ -68,21 +57,22 @@ | ||||
|                          ((keySize > 1024) || ((keySize & 0x3f) != 0))) { | ||||
|                          throw new InvalidAlgorithmParameterException(algorithm + | ||||
|                              " key must be multiples of 64 if less than 1024 bits" + | ||||
| -                            ", or 2048 bits");
 | ||||
| +                            ", or 2048 bits, or 4096 bits");
 | ||||
| -                            ", or 2048 bits. " +
 | ||||
| +                            ", or 2048 bits, or 4096 bits. " +
 | ||||
|                              "The specific key size " + | ||||
|                              keySize + " is not supported"); | ||||
|                      } | ||||
|                  } | ||||
|              } | ||||
| --- jdk8/jdk/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java	Tue Mar 17 00:09:12 2015 +0300
 | ||||
| +++ jdk8/jdk/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java	Wed Apr 08 14:25:54 2015 +0100
 | ||||
| @@ -1,5 +1,6 @@ 
 | ||||
| diff --git a/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java b/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java
 | ||||
| --- openjdk/jdk/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java
 | ||||
| +++ openjdk/jdk/test/com/sun/crypto/provider/KeyAgreement/TestExponentSize.java
 | ||||
| @@ -1,5 +1,6 @@
 | ||||
|  /* | ||||
|   * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. | ||||
| + * Copyright (c) 2014 Red Hat Inc.
 | ||||
|   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | ||||
|   * | ||||
|   * This code is free software; you can redistribute it and/or modify it | ||||
| @@ -58,7 +59,7 @@ 
 | ||||
| @@ -58,7 +59,7 @@
 | ||||
|       */ | ||||
|      private enum Sizes { | ||||
|          two56(256), three84(384), five12(512), seven68(768), ten24(1024), | ||||
| @ -91,7 +81,7 @@ | ||||
|   | ||||
|          private final int intSize; | ||||
|          private final BigInteger bigIntValue; | ||||
| @@ -130,6 +131,19 @@ 
 | ||||
| @@ -130,6 +131,19 @@
 | ||||
|          kp = kpg.generateKeyPair(); | ||||
|          checkKeyPair(kp, Sizes.twenty48, Sizes.five12); | ||||
|   | ||||
| @ -111,4 +101,3 @@ | ||||
|          System.out.println("OK"); | ||||
|      } | ||||
|   | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										6
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								sources
									
									
									
									
									
								
							| @ -1,3 +1,3 @@ | ||||
| 822e321b710defc8f9c8ec97a6f34b55  systemtap-tapset-3.1.0.tar.xz | ||||
| f33dff82e5c0d33d81d8100576b612eb  aarch64-port-jdk8u-aarch64-jdk8u111-b16.tar.xz | ||||
| dcb3a75964f52a50bb32b2179132724f  aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u111-b16.tar.xz | ||||
| SHA512 (systemtap-tapset-3.1.0.tar.xz) = e3558dc9d56dff5125a869807135e84ca73a2640d8d8fff2f45dc0dd7d153b81b48c08480e09a75667eba62362f74091465fac622aa0d9b104bfb18b4eba80e1 | ||||
| SHA512 (openjdk8-forests-latest-aarch64-aarch64-jdk8u121-b14.tar.xz) = 8a5418c0560736d3450bbb4f3a0b19d028713f39634630d4e3689c664f25e2dbe9473c3657d5e02c5c614a37dce3cfb9db93a449f5f7f0294dec748514b67dc8 | ||||
| SHA512 (openjdk8-forests-latest-shenandoah-aarch64-shenandoah-jdk8u121-b14.tar.xz) = 1b7e9a598fb43c96599393fbe712056e8031ddd985d9abe5e4ffdaa309a9b43659da29f9d9294cd0dab8cbb1d19fc8149c49fee6e81fced120c18d59f015ce81 | ||||
|  | ||||
| @ -24,7 +24,7 @@ if [ "x$REPO_NAME" = "x" ] ; then | ||||
|     REPO_NAME="jdk8u" | ||||
| fi | ||||
| if [ "x$VERSION" = "x" ] ; then | ||||
|     VERSION="aarch64-jdk8u111-b16" | ||||
|     VERSION="aarch64-jdk8u121-b14" | ||||
| fi | ||||
| 
 | ||||
| if [ "x$COMPRESSION" = "x" ] ; then | ||||
| @ -102,7 +102,7 @@ if [ "x$VERSION" = "xtip" ] ; then | ||||
|     VERSION="tip" | ||||
| else | ||||
| 	#hardcoding version for anything else except tip | ||||
|     VERSION="aarch64-shenandoah-jdk8u111-b16" | ||||
|     VERSION="aarch64-shenandoah-jdk8u121-b14" | ||||
| fi | ||||
| MAIN_REPO_NAME=$REPO_NAME | ||||
| REPO_NAME=jdk8u-shenandoah | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user