EOL. Obsolated by java-openjdk. java-openjdk is now JDK10
This commit is contained in:
parent
d9e82f076e
commit
d9b8c68020
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,10 +0,0 @@
|
||||
*.rpm
|
||||
/systemtap-tapset-3.1.0.tar.xz
|
||||
/jdk9-jdk9-jdk-9+181.tar.xz
|
||||
/systemtap-tapset-3.6.0pre02.tar.xz
|
||||
/jdk9-jdk9-jdk-9+181-CPU.tar.xz
|
||||
/jdk9-jdk9-jdk-9+181-CPU2.tar.xz
|
||||
/jdk9-jdk9-jdk-9+181-CPU3.tar.xz
|
||||
/jdk9-jdk9-jdk-9+181-CPU4.tar.xz
|
||||
/jdk-updates-jdk9u-jdk-9.0.1+11.tar.xz
|
||||
/jdk-updates-jdk9u-jdk-9.0.4+11.tar.xz
|
@ -1,297 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User aph
|
||||
# Date 1516971866 -3600
|
||||
# Fri Jan 26 14:04:26 2018 +0100
|
||||
# Node ID a8b7d1fd5884bcfe816df11f16dd71aec7bdacdb
|
||||
# Parent f6418daf023ea194db63519e3d13ca6c252028ed
|
||||
8195685: AArch64: AArch64 cannot build with JDK-8174962
|
||||
Reviewed-by: adinn, njian
|
||||
|
||||
diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
--- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
+++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
@@ -927,8 +927,12 @@
|
||||
RegisterOrConstant itable_index,
|
||||
Register method_result,
|
||||
Register scan_temp,
|
||||
- Label& L_no_such_interface) {
|
||||
- assert_different_registers(recv_klass, intf_klass, method_result, scan_temp);
|
||||
+ Label& L_no_such_interface,
|
||||
+ bool return_method) {
|
||||
+ assert_different_registers(recv_klass, intf_klass, scan_temp);
|
||||
+ assert_different_registers(method_result, intf_klass, scan_temp);
|
||||
+ assert(recv_klass != method_result || !return_method,
|
||||
+ "recv_klass can be destroyed when method isn't needed");
|
||||
assert(itable_index.is_constant() || itable_index.as_register() == method_result,
|
||||
"caller must use same register for non-constant itable index as for method");
|
||||
|
||||
@@ -946,12 +950,14 @@
|
||||
lea(scan_temp, Address(recv_klass, scan_temp, Address::lsl(3)));
|
||||
add(scan_temp, scan_temp, vtable_base);
|
||||
|
||||
- // Adjust recv_klass by scaled itable_index, so we can free itable_index.
|
||||
- assert(itableMethodEntry::size() * wordSize == wordSize, "adjust the scaling in the code below");
|
||||
- // lea(recv_klass, Address(recv_klass, itable_index, Address::times_ptr, itentry_off));
|
||||
- lea(recv_klass, Address(recv_klass, itable_index, Address::lsl(3)));
|
||||
- if (itentry_off)
|
||||
- add(recv_klass, recv_klass, itentry_off);
|
||||
+ if (return_method) {
|
||||
+ // Adjust recv_klass by scaled itable_index, so we can free itable_index.
|
||||
+ assert(itableMethodEntry::size() * wordSize == wordSize, "adjust the scaling in the code below");
|
||||
+ // lea(recv_klass, Address(recv_klass, itable_index, Address::times_ptr, itentry_off));
|
||||
+ lea(recv_klass, Address(recv_klass, itable_index, Address::lsl(3)));
|
||||
+ if (itentry_off)
|
||||
+ add(recv_klass, recv_klass, itentry_off);
|
||||
+ }
|
||||
|
||||
// for (scan = klass->itable(); scan->interface() != NULL; scan += scan_step) {
|
||||
// if (scan->interface() == intf) {
|
||||
@@ -985,8 +991,10 @@
|
||||
bind(found_method);
|
||||
|
||||
// Got a hit.
|
||||
- ldr(scan_temp, Address(scan_temp, itableOffsetEntry::offset_offset_in_bytes()));
|
||||
- ldr(method_result, Address(recv_klass, scan_temp));
|
||||
+ if (return_method) {
|
||||
+ ldrw(scan_temp, Address(scan_temp, itableOffsetEntry::offset_offset_in_bytes()));
|
||||
+ ldr(method_result, Address(recv_klass, scan_temp, Address::uxtw(0)));
|
||||
+ }
|
||||
}
|
||||
|
||||
// virtual method calling
|
||||
diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
|
||||
--- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
|
||||
+++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
|
||||
@@ -870,7 +870,8 @@
|
||||
RegisterOrConstant itable_index,
|
||||
Register method_result,
|
||||
Register scan_temp,
|
||||
- Label& no_such_interface);
|
||||
+ Label& no_such_interface,
|
||||
+ bool return_method = true);
|
||||
|
||||
// virtual method calling
|
||||
// n.b. x86 allows RegisterOrConstant for vtable_index
|
||||
diff --git a/src/cpu/aarch64/vm/templateTable_aarch64.cpp b/src/cpu/aarch64/vm/templateTable_aarch64.cpp
|
||||
--- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp
|
||||
+++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp
|
||||
@@ -3279,11 +3279,11 @@
|
||||
transition(vtos, vtos);
|
||||
assert(byte_no == f1_byte, "use this argument");
|
||||
|
||||
- prepare_invoke(byte_no, r0, rmethod, // get f1 Klass*, f2 itable index
|
||||
+ prepare_invoke(byte_no, r0, rmethod, // get f1 Klass*, f2 Method*
|
||||
r2, r3); // recv, flags
|
||||
|
||||
// r0: interface klass (from f1)
|
||||
- // rmethod: itable index (from f2)
|
||||
+ // rmethod: method (from f2)
|
||||
// r2: receiver
|
||||
// r3: flags
|
||||
|
||||
@@ -3302,11 +3302,28 @@
|
||||
__ null_check(r2, oopDesc::klass_offset_in_bytes());
|
||||
__ load_klass(r3, r2);
|
||||
|
||||
+ Label no_such_interface, no_such_method;
|
||||
+
|
||||
+ // Receiver subtype check against REFC.
|
||||
+ // Superklass in r0. Subklass in r3. Blows rscratch2, r13
|
||||
+ __ lookup_interface_method(// inputs: rec. class, interface, itable index
|
||||
+ r3, r0, noreg,
|
||||
+ // outputs: scan temp. reg, scan temp. reg
|
||||
+ rscratch2, r13,
|
||||
+ no_such_interface,
|
||||
+ /*return_method=*/false);
|
||||
+
|
||||
// profile this call
|
||||
__ profile_virtual_call(r3, r13, r19);
|
||||
|
||||
- Label no_such_interface, no_such_method;
|
||||
-
|
||||
+ // Get declaring interface class from method, and itable index
|
||||
+ __ ldr(r0, Address(rmethod, Method::const_offset()));
|
||||
+ __ ldr(r0, Address(r0, ConstMethod::constants_offset()));
|
||||
+ __ ldr(r0, Address(r0, ConstantPool::pool_holder_offset_in_bytes()));
|
||||
+ __ ldrw(rmethod, Address(rmethod, Method::itable_index_offset()));
|
||||
+ __ subw(rmethod, rmethod, Method::itable_index_max);
|
||||
+ __ negw(rmethod, rmethod);
|
||||
+
|
||||
__ lookup_interface_method(// inputs: rec. class, interface, itable index
|
||||
r3, r0, rmethod,
|
||||
// outputs: method, scan temp. reg
|
||||
diff --git a/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp b/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp
|
||||
--- a/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp
|
||||
+++ b/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "code/vtableStubs.hpp"
|
||||
#include "interp_masm_aarch64.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
+#include "oops/compiledICHolder.hpp"
|
||||
#include "oops/instanceKlass.hpp"
|
||||
#include "oops/klassVtable.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
@@ -140,28 +141,44 @@
|
||||
#endif
|
||||
|
||||
// Entry arguments:
|
||||
- // rscratch2: Interface
|
||||
+ // rscratch2: CompiledICHolder
|
||||
// j_rarg0: Receiver
|
||||
|
||||
- // Free registers (non-args) are r0 (interface), rmethod
|
||||
|
||||
+ // Most registers are in use; we'll use r0, rmethod, r10, r11
|
||||
+ const Register recv_klass_reg = r10;
|
||||
+ const Register holder_klass_reg = r0; // declaring interface klass (DECC)
|
||||
+ const Register resolved_klass_reg = rmethod; // resolved interface klass (REFC)
|
||||
+ const Register temp_reg = r11;
|
||||
+ const Register icholder_reg = rscratch2;
|
||||
+
|
||||
+ Label L_no_such_interface;
|
||||
+
|
||||
+ __ ldr(resolved_klass_reg, Address(icholder_reg, CompiledICHolder::holder_klass_offset()));
|
||||
+ __ ldr(holder_klass_reg, Address(icholder_reg, CompiledICHolder::holder_metadata_offset()));
|
||||
+
|
||||
// get receiver (need to skip return address on top of stack)
|
||||
-
|
||||
assert(VtableStub::receiver_location() == j_rarg0->as_VMReg(), "receiver expected in j_rarg0");
|
||||
// get receiver klass (also an implicit null-check)
|
||||
address npe_addr = __ pc();
|
||||
-
|
||||
- // Most registers are in use; we'll use r0, rmethod, r10, r11
|
||||
- __ load_klass(r10, j_rarg0);
|
||||
-
|
||||
- Label throw_icce;
|
||||
+ __ load_klass(recv_klass_reg, j_rarg0);
|
||||
|
||||
- // Get Method* and entrypoint for compiler
|
||||
+ // Receiver subtype check against REFC.
|
||||
+ // Destroys recv_klass_reg value.
|
||||
+ __ lookup_interface_method(// inputs: rec. class, interface
|
||||
+ recv_klass_reg, resolved_klass_reg, noreg,
|
||||
+ // outputs: scan temp. reg1, scan temp. reg2
|
||||
+ recv_klass_reg, temp_reg,
|
||||
+ L_no_such_interface,
|
||||
+ /*return_method=*/false);
|
||||
+
|
||||
+ // Get selected method from declaring class and itable index
|
||||
+ __ load_klass(recv_klass_reg, j_rarg0); // restore recv_klass_reg
|
||||
__ lookup_interface_method(// inputs: rec. class, interface, itable index
|
||||
- r10, rscratch2, itable_index,
|
||||
- // outputs: method, scan temp. reg
|
||||
- rmethod, r11,
|
||||
- throw_icce);
|
||||
+ recv_klass_reg, holder_klass_reg, itable_index,
|
||||
+ // outputs: method, scan temp. reg
|
||||
+ rmethod, temp_reg,
|
||||
+ L_no_such_interface);
|
||||
|
||||
// method (rmethod): Method*
|
||||
// j_rarg0: receiver
|
||||
@@ -183,7 +200,7 @@
|
||||
__ ldr(rscratch1, Address(rmethod, Method::from_compiled_offset()));
|
||||
__ br(rscratch1);
|
||||
|
||||
- __ bind(throw_icce);
|
||||
+ __ bind(L_no_such_interface);
|
||||
__ far_jump(RuntimeAddress(StubRoutines::throw_IncompatibleClassChangeError_entry()));
|
||||
|
||||
__ flush();
|
||||
@@ -205,11 +222,11 @@
|
||||
int size = DebugVtables ? 216 : 0;
|
||||
if (CountCompiledCalls)
|
||||
size += 6 * 4;
|
||||
- // FIXME
|
||||
+ // FIXME: vtable stubs only need 36 bytes
|
||||
if (is_vtable_stub)
|
||||
size += 52;
|
||||
else
|
||||
- size += 104;
|
||||
+ size += 176;
|
||||
return size;
|
||||
|
||||
// In order to tune these parameters, run the JVM with VM options
|
||||
@@ -217,33 +234,58 @@
|
||||
// actual itable stubs. Run it with -Xmx31G -XX:+UseCompressedOops.
|
||||
//
|
||||
// If Universe::narrow_klass_base is nonzero, decoding a compressed
|
||||
- // class can take zeveral instructions. Run it with -Xmx31G
|
||||
- // -XX:+UseCompressedOops.
|
||||
+ // class can take zeveral instructions.
|
||||
//
|
||||
// The JVM98 app. _202_jess has a megamorphic interface call.
|
||||
// The itable code looks like this:
|
||||
- // Decoding VtableStub itbl[1]@12
|
||||
- // ldr w10, [x1,#8]
|
||||
- // lsl x10, x10, #3
|
||||
- // ldr w11, [x10,#280]
|
||||
- // add x11, x10, x11, uxtx #3
|
||||
- // add x11, x11, #0x1b8
|
||||
- // ldr x12, [x11]
|
||||
- // cmp x9, x12
|
||||
- // b.eq success
|
||||
- // loop:
|
||||
- // cbz x12, throw_icce
|
||||
- // add x11, x11, #0x10
|
||||
- // ldr x12, [x11]
|
||||
- // cmp x9, x12
|
||||
- // b.ne loop
|
||||
- // success:
|
||||
- // ldr x11, [x11,#8]
|
||||
- // ldr x12, [x10,x11]
|
||||
- // ldr x8, [x12,#72]
|
||||
- // br x8
|
||||
- // throw_icce:
|
||||
- // b throw_ICCE_entry
|
||||
+
|
||||
+ // ldr xmethod, [xscratch2,#CompiledICHolder::holder_klass_offset]
|
||||
+ // ldr x0, [xscratch2]
|
||||
+ // ldr w10, [x1,#oopDesc::klass_offset_in_bytes]
|
||||
+ // mov xheapbase, #0x3c000000 // #narrow_klass_base
|
||||
+ // movk xheapbase, #0x3f7, lsl #32
|
||||
+ // add x10, xheapbase, x10
|
||||
+ // mov xheapbase, #0xe7ff0000 // #heapbase
|
||||
+ // movk xheapbase, #0x3f7, lsl #32
|
||||
+ // ldr w11, [x10,#vtable_length_offset]
|
||||
+ // add x11, x10, x11, uxtx #3
|
||||
+ // add x11, x11, #itableMethodEntry::method_offset_in_bytes
|
||||
+ // ldr x10, [x11]
|
||||
+ // cmp xmethod, x10
|
||||
+ // b.eq found_method
|
||||
+ // search:
|
||||
+ // cbz x10, no_such_interface
|
||||
+ // add x11, x11, #0x10
|
||||
+ // ldr x10, [x11]
|
||||
+ // cmp xmethod, x10
|
||||
+ // b.ne search
|
||||
+ // found_method:
|
||||
+ // ldr w10, [x1,#oopDesc::klass_offset_in_bytes]
|
||||
+ // mov xheapbase, #0x3c000000 // #narrow_klass_base
|
||||
+ // movk xheapbase, #0x3f7, lsl #32
|
||||
+ // add x10, xheapbase, x10
|
||||
+ // mov xheapbase, #0xe7ff0000 // #heapbase
|
||||
+ // movk xheapbase, #0x3f7, lsl #32
|
||||
+ // ldr w11, [x10,#vtable_length_offset]
|
||||
+ // add x11, x10, x11, uxtx #3
|
||||
+ // add x11, x11, #itableMethodEntry::method_offset_in_bytes
|
||||
+ // add x10, x10, #itentry_off
|
||||
+ // ldr xmethod, [x11]
|
||||
+ // cmp x0, xmethod
|
||||
+ // b.eq found_method2
|
||||
+ // search2:
|
||||
+ // cbz xmethod, 0x000003ffa872e6cc
|
||||
+ // add x11, x11, #0x10
|
||||
+ // ldr xmethod, [x11]
|
||||
+ // cmp x0, xmethod
|
||||
+ // b.ne search2
|
||||
+ // found_method2:
|
||||
+ // ldr w11, [x11,#itableOffsetEntry::offset_offset_in_bytes]
|
||||
+ // ldr xmethod, [x10,w11,uxtw]
|
||||
+ // ldr xscratch1, [xmethod,#Method::from_compiled_offset]
|
||||
+ // br xscratch1
|
||||
+ // no_such_interface:
|
||||
+ // b throw_ICCE_entry
|
||||
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User adinn
|
||||
# Date 1516891647 0
|
||||
# Thu Jan 25 14:47:27 2018 +0000
|
||||
# Node ID e321560ac819c05274c59f46f5cc28ccfd4b38ec
|
||||
# Parent 77baeab90732e7cfb6eb1b754a768a197bca1ab5
|
||||
8195859: AArch64: vtableStubs gtest fails after 8174962
|
||||
Summary: gtest vtableStubs introduced by 8174962 fails on AArch64 with an invalid insn encoding
|
||||
Reviewed-by: duke
|
||||
|
||||
diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
--- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
+++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
@@ -1049,7 +1049,8 @@
|
||||
ldr(method_result, Address(method_result, vtable_offset_in_bytes));
|
||||
} else {
|
||||
vtable_offset_in_bytes += vtable_index.as_constant() * wordSize;
|
||||
- ldr(method_result, Address(recv_klass, vtable_offset_in_bytes));
|
||||
+ ldr(method_result,
|
||||
+ form_address(rscratch1, recv_klass, vtable_offset_in_bytes));
|
||||
}
|
||||
}
|
||||
|
@ -1,61 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User adinn
|
||||
# Date 1516881392 0
|
||||
# Thu Jan 25 11:56:32 2018 +0000
|
||||
# Node ID 51d97ee431ff04f126c436b25dc75de7e0d2d4dd
|
||||
# Parent 2da4a52715d837b639edcfe37c66e5428c023abd
|
||||
8196136: AArch64: Correct register use in patch for JDK-8195685
|
||||
Summary: itable stubs must not use java argument registers as scratch registers
|
||||
Reviewed-by: aph
|
||||
|
||||
diff --git a/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp b/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp
|
||||
--- a/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp
|
||||
+++ b/src/cpu/aarch64/vm/vtableStubs_aarch64.cpp
|
||||
@@ -63,8 +63,8 @@
|
||||
|
||||
#ifndef PRODUCT
|
||||
if (CountCompiledCalls) {
|
||||
- __ lea(r19, ExternalAddress((address) SharedRuntime::nof_megamorphic_calls_addr()));
|
||||
- __ incrementw(Address(r19));
|
||||
+ __ lea(r16, ExternalAddress((address) SharedRuntime::nof_megamorphic_calls_addr()));
|
||||
+ __ incrementw(Address(r16));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -73,13 +73,13 @@
|
||||
|
||||
// get receiver klass
|
||||
address npe_addr = __ pc();
|
||||
- __ load_klass(r19, j_rarg0);
|
||||
+ __ load_klass(r16, j_rarg0);
|
||||
|
||||
#ifndef PRODUCT
|
||||
if (DebugVtables) {
|
||||
Label L;
|
||||
// check offset vs vtable length
|
||||
- __ ldrw(rscratch1, Address(r19, Klass::vtable_length_offset()));
|
||||
+ __ ldrw(rscratch1, Address(r16, Klass::vtable_length_offset()));
|
||||
__ cmpw(rscratch1, vtable_index * vtableEntry::size());
|
||||
__ br(Assembler::GT, L);
|
||||
__ enter();
|
||||
@@ -91,7 +91,7 @@
|
||||
}
|
||||
#endif // PRODUCT
|
||||
|
||||
- __ lookup_virtual_method(r19, vtable_index, rmethod);
|
||||
+ __ lookup_virtual_method(r16, vtable_index, rmethod);
|
||||
|
||||
if (DebugVtables) {
|
||||
Label L;
|
||||
@@ -145,9 +145,9 @@
|
||||
// j_rarg0: Receiver
|
||||
|
||||
|
||||
- // Most registers are in use; we'll use r0, rmethod, r10, r11
|
||||
+ // Most registers are in use; we'll use r16, rmethod, r10, r11
|
||||
const Register recv_klass_reg = r10;
|
||||
- const Register holder_klass_reg = r0; // declaring interface klass (DECC)
|
||||
+ const Register holder_klass_reg = r16; // declaring interface klass (DECC)
|
||||
const Register resolved_klass_reg = rmethod; // resolved interface klass (REFC)
|
||||
const Register temp_reg = r11;
|
||||
const Register icholder_reg = rscratch2;
|
@ -1,22 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User adinn
|
||||
# Date 1516984701 0
|
||||
# Fri Jan 26 16:38:21 2018 +0000
|
||||
# Node ID 2c35f60ad26425a6d1dd1071e8a5adde79154fe3
|
||||
# Parent e2a7856edfbaccebd36bf02674e39b1a53867241
|
||||
8196221: AArch64: Mistake in committed patch for JDK-8195859
|
||||
Summary: The wrong patch was committed for JDK-8195859
|
||||
Reviewed-by: duke
|
||||
|
||||
diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
--- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
+++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp
|
||||
@@ -1050,7 +1050,7 @@
|
||||
} else {
|
||||
vtable_offset_in_bytes += vtable_index.as_constant() * wordSize;
|
||||
ldr(method_result,
|
||||
- form_address(rscratch1, recv_klass, vtable_offset_in_bytes));
|
||||
+ form_address(rscratch1, recv_klass, vtable_offset_in_bytes, 0));
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +0,0 @@
|
||||
--- jdk9/hotspot/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java 2012-04-06 02:26:33.322164601 +0200
|
||||
+++ jdk9/hotspot/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java 2012-04-06 02:26:57.958514071 +0200
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2012, 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
|
||||
@@ -84,7 +85,8 @@
|
||||
out.print("----------------- ");
|
||||
out.print(th);
|
||||
out.println(" -----------------");
|
||||
- while (f != null) {
|
||||
+ int maxStack = 256;
|
||||
+ while (f != null && maxStack-- > 0) {
|
||||
ClosestSymbol sym = f.closestSymbolToPC();
|
||||
Address pc = f.pc();
|
||||
out.print(pc + "\t");
|
||||
@@ -158,10 +160,19 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+ Address oldPC = f.pc();
|
||||
+ Address oldFP = f.localVariableBase();
|
||||
f = f.sender(th);
|
||||
+ if (f != null
|
||||
+ && oldPC.equals(f.pc())
|
||||
+ && oldFP.equals(f.localVariableBase())) {
|
||||
+ // We didn't make any progress
|
||||
+ f = null;
|
||||
+ }
|
||||
}
|
||||
} catch (Exception exp) {
|
||||
- exp.printStackTrace();
|
||||
+ // exp.printStackTrace();
|
||||
+ out.println("bad stack: " + exp);
|
||||
// continue, may be we can do a better job for other threads
|
||||
}
|
||||
if (concurrentLocks) {
|
@ -1,6 +0,0 @@
|
||||
# java-9-openjdk
|
||||
|
||||
The java-9-openjdk package
|
||||
|
||||
The java-1.9.0-openjdk-src subpackage contains the complete OpenJDK 9
|
||||
class library source code for use by IDE indexers and debuggers.
|
@ -1,72 +0,0 @@
|
||||
/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
|
||||
Copyright (C) 2012 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import java.security.Permission;
|
||||
import java.security.PermissionCollection;
|
||||
|
||||
public class TestCryptoLevel
|
||||
{
|
||||
public static void main(String[] args)
|
||||
throws NoSuchFieldException, ClassNotFoundException,
|
||||
IllegalAccessException, InvocationTargetException
|
||||
{
|
||||
Class<?> cls = null;
|
||||
Method def = null, exempt = null;
|
||||
|
||||
try
|
||||
{
|
||||
cls = Class.forName("javax.crypto.JceSecurity");
|
||||
}
|
||||
catch (ClassNotFoundException ex)
|
||||
{
|
||||
System.err.println("Running a non-Sun JDK.");
|
||||
System.exit(0);
|
||||
}
|
||||
try
|
||||
{
|
||||
def = cls.getDeclaredMethod("getDefaultPolicy");
|
||||
exempt = cls.getDeclaredMethod("getExemptPolicy");
|
||||
}
|
||||
catch (NoSuchMethodException ex)
|
||||
{
|
||||
System.err.println("Running IcedTea with the original crypto patch.");
|
||||
System.exit(0);
|
||||
}
|
||||
def.setAccessible(true);
|
||||
exempt.setAccessible(true);
|
||||
PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
|
||||
PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
|
||||
Class<?> apCls = Class.forName("javax.crypto.CryptoAllPermission");
|
||||
Field apField = apCls.getDeclaredField("INSTANCE");
|
||||
apField.setAccessible(true);
|
||||
Permission allPerms = (Permission) apField.get(null);
|
||||
if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
|
||||
{
|
||||
System.err.println("Running with the unlimited policy.");
|
||||
System.exit(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
System.err.println("WARNING: Running with a restricted crypto policy.");
|
||||
System.exit(-1);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/* TestECDSA -- Ensure ECDSA signatures are working.
|
||||
Copyright (C) 2016 Red Hat, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This program 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 Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.security.KeyPair;
|
||||
import java.security.KeyPairGenerator;
|
||||
import java.security.Signature;
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public class TestECDSA {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
|
||||
KeyPair key = keyGen.generateKeyPair();
|
||||
|
||||
byte[] data = "This is a string to sign".getBytes("UTF-8");
|
||||
|
||||
Signature dsa = Signature.getInstance("NONEwithECDSA");
|
||||
dsa.initSign(key.getPrivate());
|
||||
dsa.update(data);
|
||||
byte[] sig = dsa.sign();
|
||||
System.out.println("Signature: " + new BigInteger(1, sig).toString(16));
|
||||
|
||||
Signature dsaCheck = Signature.getInstance("NONEwithECDSA");
|
||||
dsaCheck.initVerify(key.getPublic());
|
||||
dsaCheck.update(data);
|
||||
boolean success = dsaCheck.verify(sig);
|
||||
if (!success) {
|
||||
throw new RuntimeException("Test failed. Signature verification error");
|
||||
}
|
||||
System.out.println("Test passed.");
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
diff -r 214a94e9366c src/cpu/aarch64/vm/nativeInst_aarch64.cpp
|
||||
--- openjdk/hotspot/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Mon Jul 17 12:11:32 2017 +0000
|
||||
+++ openjdk/hotspot/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Mon Jul 24 16:23:14 2017 +0100
|
||||
@@ -343,7 +343,7 @@
|
||||
CodeBuffer cb(code_pos, instruction_size);
|
||||
MacroAssembler a(&cb);
|
||||
|
||||
- a.mov(rscratch1, entry);
|
||||
+ a.movptr(rscratch1, (uintptr_t)entry);
|
||||
a.br(rscratch1);
|
||||
|
||||
ICache::invalidate_range(code_pos, instruction_size);
|
||||
|
||||
|
@ -1,18 +0,0 @@
|
||||
diff -uNr jdk9/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java jdk8/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
--- jdk9/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
+++ jdk9/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java
|
||||
@@ -883,9 +883,13 @@
|
||||
return null;
|
||||
}
|
||||
});
|
||||
if (!GraphicsEnvironment.isHeadless()) {
|
||||
- loadAssistiveTechnologies();
|
||||
+ try {
|
||||
+ loadAssistiveTechnologies();
|
||||
+ } catch (AWTError error) {
|
||||
+ // ignore silently
|
||||
+ }
|
||||
}
|
||||
}
|
||||
return toolkit;
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
diff -r 21b063d75b3e make/Init.gmk
|
||||
--- jdk9/make/Init.gmk Thu Mar 16 16:34:33 2017 +0000
|
||||
+++ jdk9/make/Init.gmk Tue Apr 04 13:49:37 2017 +0100
|
||||
@@ -303,7 +303,8 @@
|
||||
$(call PrepareSmartJavac)
|
||||
( cd $(TOPDIR) && \
|
||||
$(NICE) $(MAKE) $(MAKE_ARGS) $(OUTPUT_SYNC_FLAG) \
|
||||
- -j $(JOBS) -f make/Main.gmk $(USER_MAKE_VARS) \
|
||||
+ $(if $(DISABLE_JOBS),, -j $(JOBS)) \
|
||||
+ -f make/Main.gmk $(USER_MAKE_VARS) \
|
||||
$(PARALLEL_TARGETS) $(COMPARE_BUILD_MAKE) $(BUILD_LOG_PIPE) || \
|
||||
( exitcode=$$? && \
|
||||
$(PRINTF) "\nERROR: Build failed for $(TARGET_DESCRIPTION) (exit code $$exitcode) \n" \
|
||||
diff -r 21b063d75b3e make/Main.gmk
|
||||
--- jdk9/make/Main.gmk Thu Mar 16 16:34:33 2017 +0000
|
||||
+++ jdk9/make/Main.gmk Tue Apr 04 13:49:37 2017 +0100
|
||||
@@ -320,7 +320,7 @@
|
||||
ifneq ($(COMPILE_TYPE), cross)
|
||||
$(call LogWarn, Boot cycle build step 2: Building a new JDK image using previously built image)
|
||||
+$(MAKE) $(MAKE_ARGS) -f $(SRC_ROOT)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \
|
||||
- JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
|
||||
+ DISABLE_JOBS=true SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
|
||||
else
|
||||
$(call LogWarn, Boot cycle build disabled when cross compiling)
|
||||
endif
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
||||
EOL. Obsolated by java-openjdk. java-openjdk is now JDK10
|
@ -1,11 +0,0 @@
|
||||
diff -r 5b86f66575b7 src/share/lib/security/java.security-linux
|
||||
--- openjdk/jdk/src/java.base/share/conf/security/java.security Tue May 16 13:29:05 2017 -0700
|
||||
+++ openjdk/jdk/src/java.base/share/conf/security/java.security Tue Jun 06 14:05:12 2017 +0200
|
||||
@@ -83,6 +83,7 @@
|
||||
#ifndef solaris
|
||||
security.provider.tbd=SunPKCS11
|
||||
#endif
|
||||
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
|
||||
|
||||
#
|
||||
# A list of preferred providers for specific algorithms. These providers will
|
@ -1,146 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Generates the 'source tarball' for JDK 8 projects.
|
||||
#
|
||||
# Example:
|
||||
# When used from local repo set REPO_ROOT pointing to file:// with your repo
|
||||
# if your local repo follows upstream forests conventions, you may be enough by setting OPENJDK_URL
|
||||
# if you wont to use local copy of patch PR2126 set path to it to PR2126 variable
|
||||
#
|
||||
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
||||
# PROJECT_NAME=jdk9
|
||||
# REPO_NAME=jdk9
|
||||
# VERSION=inDevelopment (but keyword tip will still do its job)
|
||||
#
|
||||
# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
|
||||
|
||||
# This script creates a single source tarball out of the repository
|
||||
# based on the given tag and removes code not allowed in fedora/rhel. For
|
||||
# consistency, the source tarball will always contain 'openjdk' as the top
|
||||
# level folder, name is created, based on parameter
|
||||
#
|
||||
|
||||
if [ ! "x$PR2126" = "x" ] ; then
|
||||
if [ ! -f "$PR2126" ] ; then
|
||||
echo "You have specified PR2126 as $PR2126 but it does not exists. exiting"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
set -e
|
||||
|
||||
OPENJDK_URL_DEFAULT=http://hg.openjdk.java.net
|
||||
COMPRESSION_DEFAULT=xz
|
||||
# jdk is last for its size
|
||||
REPOS_DEFAULT="hotspot corba jaxws jaxp langtools nashorn jdk"
|
||||
|
||||
if [ "x$1" = "xhelp" ] ; then
|
||||
echo -e "Behaviour may be specified by setting the following variables:\n"
|
||||
echo "VERSION - the version of the specified OpenJDK project"
|
||||
echo "PROJECT_NAME -- the name of the OpenJDK project being archived (optional; only needed by defaults)"
|
||||
echo "REPO_NAME - the name of the OpenJDK repository (optional; only needed by defaults)"
|
||||
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
|
||||
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
||||
echo "REPO_ROOT - the location of the Mercurial repository to archive (optional; defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME)"
|
||||
echo "PR2126 - the path to the PR2126 patch to apply (optional; downloaded if unavailable)"
|
||||
echo "REPOS - specify the repositories to use (optional; defaults to ${REPOS_DEFAULT})"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
if [ "x$VERSION" = "x" ] ; then
|
||||
echo "No VERSION specified"
|
||||
exit -2
|
||||
fi
|
||||
echo "Version: ${VERSION}"
|
||||
|
||||
# REPO_NAME is only needed when we default on REPO_ROOT and FILE_NAME_ROOT
|
||||
if [ "x$FILE_NAME_ROOT" = "x" -o "x$REPO_ROOT" = "x" ] ; then
|
||||
if [ "x$PROJECT_NAME" = "x" ] ; then
|
||||
echo "No PROJECT_NAME specified"
|
||||
exit -1
|
||||
fi
|
||||
echo "Project name: ${PROJECT_NAME}"
|
||||
if [ "x$REPO_NAME" = "x" ] ; then
|
||||
echo "No REPO_NAME specified"
|
||||
exit -3
|
||||
fi
|
||||
echo "Repository name: ${REPO_NAME}"
|
||||
fi
|
||||
|
||||
if [ "x$OPENJDK_URL" = "x" ] ; then
|
||||
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
|
||||
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
|
||||
else
|
||||
echo "OpenJDK URL: ${OPENJDK_URL}"
|
||||
fi
|
||||
|
||||
if [ "x$COMPRESSION" = "x" ] ; then
|
||||
# rhel 5 needs tar.gz
|
||||
COMPRESSION=${COMPRESSION_DEFAULT}
|
||||
fi
|
||||
echo "Creating a tar.${COMPRESSION} archive"
|
||||
|
||||
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
|
||||
fi
|
||||
if [ "x$REPO_ROOT" = "x" ] ; then
|
||||
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}"
|
||||
echo "No repository root specified; default to ${REPO_ROOT}"
|
||||
fi;
|
||||
|
||||
mkdir "${FILE_NAME_ROOT}"
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
|
||||
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
||||
hg clone ${REPO_ROOT} openjdk -r ${VERSION}
|
||||
pushd openjdk
|
||||
|
||||
|
||||
if [ "x$REPOS" = "x" ] ; then
|
||||
repos=${REPOS_DEFAULT}
|
||||
echo "No repositories specified; defaulting to ${repos}"
|
||||
else
|
||||
repos=$REPOS
|
||||
echo "Repositories: ${repos}"
|
||||
fi;
|
||||
|
||||
for subrepo in $repos
|
||||
do
|
||||
echo "Cloning ${VERSION} ${subrepo} repository from ${REPO_ROOT}"
|
||||
hg clone ${REPO_ROOT}/${subrepo} -r ${VERSION}
|
||||
done
|
||||
|
||||
if [ -d jdk ]; then
|
||||
echo "Removing EC source code we don't build"
|
||||
|
||||
CRYPTO_PATH=jdk/src/jdk.crypto.ec/share/native/libsunec/impl
|
||||
rm -vrf $CRYPTO_PATH
|
||||
|
||||
echo "Syncing EC list with NSS"
|
||||
if [ "x$PR2126" = "x" ] ; then
|
||||
# orriginally for 8:
|
||||
# get pr2126.patch (from http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=8d2c9a898f50) from most correct tag
|
||||
# Do not push it or publish it (see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2126)
|
||||
# there is currnetly no "upstram version of this patch, hardcoding custom version
|
||||
PR2126="../../pr2126-9.patch"
|
||||
fi;
|
||||
echo "Applying ${PR2126}"
|
||||
patch -Np1 < $PR2126
|
||||
|
||||
fi
|
||||
find . -name '*.orig' -exec rm -vf '{}' ';'
|
||||
|
||||
popd
|
||||
echo "Compressing remaining forest"
|
||||
if [ "X$COMPRESSION" = "Xxz" ] ; then
|
||||
tar --exclude-vcs -cJf ${FILE_NAME_ROOT}.tar.${COMPRESSION} openjdk
|
||||
else
|
||||
tar --exclude-vcs -czf ${FILE_NAME_ROOT}.tar.${COMPRESSION} openjdk
|
||||
fi
|
||||
|
||||
mv ${FILE_NAME_ROOT}.tar.${COMPRESSION} ..
|
||||
popd
|
||||
echo "Done. You may want to remove the uncompressed version."
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
VERSION=3506c375241e
|
||||
ICEDTEA_URL=http://icedtea.classpath.org/hg/icedtea7/
|
||||
|
||||
wget -O icedtea7.tar.gz ${ICEDTEA_URL}/archive/${VERSION}.tar.gz
|
||||
tar xzf icedtea7.tar.gz
|
||||
rm -f icedtea7.tar.gz
|
||||
pushd icedtea7-${VERSION}
|
||||
|
||||
# desktop files
|
||||
#mv jconsole.desktop ../jconsole.desktop.in
|
||||
#mv policytool.desktop ../policytool.desktop.in
|
||||
# Icons were generally cloned fromicedtea, but now are mucvh more specific
|
||||
|
||||
# tapsets
|
||||
mv tapset/hotspot{,-1.8.0}.stp.in || exit 1
|
||||
mv tapset/hotspot_gc{,-1.8.0}.stp.in || exit 1
|
||||
mv tapset/hotspot_jni{,-1.8.0}.stp.in || exit 1
|
||||
mv tapset/jstack{,-1.8.0}.stp.in || exit 1
|
||||
tar cvzf systemtap-tapset.tar.gz tapset
|
||||
mv systemtap-tapset.tar.gz ../
|
||||
|
||||
popd
|
||||
rm -rf icedtea7-${VERSION}
|
@ -1,14 +0,0 @@
|
||||
diff -r b515beb3b4ad jdk9/hotspot/src/share/vm/utilities/globalDefinitions.hpp
|
||||
--- jdk9/hotspot/src/share/vm/utilities/globalDefinitions.hpp Thu Jul 07 18:40:53 2016 +0100
|
||||
+++ jdk9/hotspot/src/share/vm/utilities/globalDefinitions.hpp Tue Jul 12 19:13:51 2016 +0100
|
||||
@@ -1163,8 +1163,10 @@
|
||||
#undef min
|
||||
#endif
|
||||
|
||||
+#ifndef _GLIBCXX_STDLIB_H
|
||||
#define max(a,b) Do_not_use_max_use_MAX2_instead
|
||||
#define min(a,b) Do_not_use_min_use_MIN2_instead
|
||||
+#endif
|
||||
|
||||
// It is necessary to use templates here. Having normal overloaded
|
||||
// functions does not work because it is necessary to provide both 32-
|
@ -1,19 +0,0 @@
|
||||
diff -up jdk9/common/autoconf/boot-jdk.m4 jdk9/common/autoconf/boot-jdk.m4
|
||||
--- jdk9/common/autoconf/boot-jdk.m4 16:01:27.000000000 -0400
|
||||
+++ jdk9/common/autoconf/boot-jdk.m4 2014-05-21 11:50:36.507890197 -0400
|
||||
@@ -315,12 +315,12 @@
|
||||
fi
|
||||
|
||||
# Minimum amount of heap memory.
|
||||
- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
|
||||
+ ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs,[$JAVA])
|
||||
if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
|
||||
# Why does macosx need more heap? Its the huge JDK batch.
|
||||
ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
|
||||
else
|
||||
- ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
|
||||
+ ADD_JVM_ARG_IF_OK([-Xmx768M],boot_jdk_jvmargs,[$JAVA])
|
||||
fi
|
||||
# When is adding -client something that speeds up the JVM?
|
||||
# ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
|
||||
|
@ -1,307 +0,0 @@
|
||||
diff -ruN jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2014-09-04 22:47:14.059845388 -0400
|
||||
@@ -2686,7 +2686,7 @@
|
||||
if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
|
||||
size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
|
||||
n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
|
||||
- n_blks = MIN2(n_blks, CMSOldPLABMax);
|
||||
+ n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
|
||||
}
|
||||
assert(n_blks > 0, "Error");
|
||||
_cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
|
||||
diff -ruN jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2014-09-04 22:47:14.061845394 -0400
|
||||
@@ -950,7 +950,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");
|
||||
- size_t expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
|
||||
+ size_t expand_bytes = MAX2(desired_capacity - capacity(), (size_t)MinHeapDeltaBytes);
|
||||
if (PrintGCDetails && Verbose) {
|
||||
size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
|
||||
gclog_or_tty->print_cr("\nFrom compute_new_size: ");
|
||||
@@ -6559,7 +6559,7 @@
|
||||
HeapWord* curAddr = _markBitMap.startWord();
|
||||
while (curAddr < _markBitMap.endWord()) {
|
||||
size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr);
|
||||
- MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
|
||||
+ MemRegion chunk(curAddr, MIN2((size_t)CMSBitMapYieldQuantum, remaining));
|
||||
_markBitMap.clear_large_range(chunk);
|
||||
if (ConcurrentMarkSweepThread::should_yield() &&
|
||||
!foregroundGCIsActive() &&
|
||||
@@ -6858,7 +6858,7 @@
|
||||
return;
|
||||
}
|
||||
// Double capacity if possible
|
||||
- size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
|
||||
+ size_t new_capacity = MIN2(_capacity*2, (size_t)MarkStackSizeMax);
|
||||
// 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 -ruN jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2014-09-04 22:47:14.063845410 -0400
|
||||
@@ -3767,7 +3767,7 @@
|
||||
// of things to do) or totally (at the very end).
|
||||
size_t target_size;
|
||||
if (partially) {
|
||||
- target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
|
||||
+ target_size = MIN2((size_t)(_task_queue->max_elems()/3), (size_t) GCDrainStackTargetSize);
|
||||
} else {
|
||||
target_size = 0;
|
||||
}
|
||||
@@ -4605,7 +4605,7 @@
|
||||
// The > 0 check is to deal with the prev and next live bytes which
|
||||
// could be 0.
|
||||
if (*hum_bytes > 0) {
|
||||
- bytes = MIN2(HeapRegion::GrainBytes, *hum_bytes);
|
||||
+ bytes = MIN2(HeapRegion::GrainBytes, (size_t)*hum_bytes);
|
||||
*hum_bytes -= bytes;
|
||||
}
|
||||
return bytes;
|
||||
diff -ruN jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2014-09-04 22:47:14.065845427 -0400
|
||||
@@ -1730,7 +1730,7 @@
|
||||
|
||||
verify_region_sets_optional();
|
||||
|
||||
- size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
|
||||
+ size_t expand_bytes = MAX2(word_size * HeapWordSize, (size_t)MinHeapDeltaBytes);
|
||||
ergo_verbose1(ErgoHeapSizing,
|
||||
"attempt heap expansion",
|
||||
ergo_format_reason("allocation request failed")
|
||||
diff -ruN jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2014-09-04 22:47:14.065845427 -0400
|
||||
@@ -160,7 +160,7 @@
|
||||
if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
|
||||
size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
|
||||
region_size = MAX2(average_heap_size / TARGET_REGION_NUMBER,
|
||||
- (uintx) MIN_REGION_SIZE);
|
||||
+ (size_t) MIN_REGION_SIZE);
|
||||
}
|
||||
|
||||
int region_size_log = log2_long((jlong) region_size);
|
||||
diff -ruN jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp 2014-09-04 22:47:14.067845443 -0400
|
||||
@@ -71,7 +71,7 @@
|
||||
if (_virtual_space != NULL && _virtual_space->expand_by(_reserved_byte_size)) {
|
||||
_region_start = covered_region.start();
|
||||
_region_size = covered_region.word_size();
|
||||
- idx_t* map = (idx_t*)_virtual_space->reserved_low_addr();
|
||||
+ BitMap::bm_word_t* map = (BitMap::bm_word_t*)_virtual_space->reserved_low_addr();
|
||||
_beg_bits.set_map(map);
|
||||
_beg_bits.set_size(bits / 2);
|
||||
_end_bits.set_map(map + words / 2);
|
||||
diff -ruN jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2014-09-04 22:47:14.068845451 -0400
|
||||
@@ -910,8 +910,8 @@
|
||||
void PSParallelCompact::initialize_dead_wood_limiter()
|
||||
{
|
||||
const size_t max = 100;
|
||||
- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
|
||||
- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
|
||||
+ _dwl_mean = double(MIN2((size_t)ParallelOldDeadWoodLimiterMean, max)) / 100.0;
|
||||
+ _dwl_std_dev = double(MIN2((size_t)ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
|
||||
_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 -ruN jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2014-09-04 22:47:14.068845451 -0400
|
||||
@@ -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,
|
||||
- ParGCDesiredObjsFromOverflowList,
|
||||
+ (size_t)ParGCDesiredObjsFromOverflowList,
|
||||
num_overflow_elems);
|
||||
// Transfer the most recent num_take_elems from the overflow
|
||||
// stack to our work queue.
|
||||
diff -ruN jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp
|
||||
--- jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/memory/collectorPolicy.cpp 2014-09-04 22:55:49.271922585 -0400
|
||||
@@ -389,7 +389,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);
|
||||
- FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size));
|
||||
+ FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size));
|
||||
_initial_gen0_size = NewSize;
|
||||
|
||||
// OldSize is already aligned because above we aligned MaxHeapSize to
|
||||
@@ -437,7 +437,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.
|
||||
- max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
|
||||
+ max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
|
||||
}
|
||||
assert(max_new_size > 0, "All paths should set max_new_size");
|
||||
|
||||
@@ -459,23 +459,23 @@
|
||||
// lower limit.
|
||||
_min_gen0_size = NewSize;
|
||||
desired_new_size = NewSize;
|
||||
- max_new_size = MAX2(max_new_size, NewSize);
|
||||
+ max_new_size = MAX2(max_new_size, (size_t)NewSize);
|
||||
} else if (FLAG_IS_ERGO(NewSize)) {
|
||||
// If NewSize is set ergonomically, we should use it as a lower
|
||||
// limit, but use NewRatio to calculate the initial size.
|
||||
_min_gen0_size = NewSize;
|
||||
desired_new_size =
|
||||
- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
|
||||
- max_new_size = MAX2(max_new_size, NewSize);
|
||||
+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);
|
||||
+ max_new_size = MAX2(max_new_size, (size_t)NewSize);
|
||||
} else {
|
||||
// For the case where NewSize is the default, use NewRatio
|
||||
// to size the minimum and initial generation sizes.
|
||||
// Use the default NewSize as the floor for these values. If
|
||||
// NewRatio is overly large, the resulting sizes can be too
|
||||
// small.
|
||||
- _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize);
|
||||
+ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), (size_t)NewSize);
|
||||
desired_new_size =
|
||||
- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
|
||||
+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);
|
||||
}
|
||||
|
||||
assert(_min_gen0_size > 0, "Sanity check");
|
||||
@@ -577,7 +577,7 @@
|
||||
} else {
|
||||
// It's been explicitly set on the command line. Use the
|
||||
// OldSize and then determine the consequences.
|
||||
- _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size);
|
||||
+ _min_gen1_size = MIN2((size_t)OldSize, _min_heap_byte_size - _min_gen0_size);
|
||||
_initial_gen1_size = OldSize;
|
||||
|
||||
// If the user has explicitly set an OldSize that is inconsistent
|
||||
diff -ruN jdk8/hotspot/src/share/vm/memory/metaspace.cpp jdk8/hotspot/src/share/vm/memory/metaspace.cpp
|
||||
--- jdk8/hotspot/src/share/vm/memory/metaspace.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/memory/metaspace.cpp 2014-09-04 22:47:14.071845475 -0400
|
||||
@@ -1431,7 +1431,7 @@
|
||||
|
||||
void MetaspaceGC::post_initialize() {
|
||||
// Reset the high-water mark once the VM initialization is done.
|
||||
- _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), MetaspaceSize);
|
||||
+ _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), (size_t)MetaspaceSize);
|
||||
}
|
||||
|
||||
bool MetaspaceGC::can_expand(size_t word_size, bool is_class) {
|
||||
@@ -1491,7 +1491,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,
|
||||
- MetaspaceSize);
|
||||
+ (size_t)MetaspaceSize);
|
||||
|
||||
if (PrintGCDetails && Verbose) {
|
||||
gclog_or_tty->print_cr("\nMetaspaceGC::compute_new_size: ");
|
||||
@@ -1546,7 +1546,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,
|
||||
- MetaspaceSize);
|
||||
+ (size_t)MetaspaceSize);
|
||||
if (PrintGCDetails && Verbose) {
|
||||
gclog_or_tty->print_cr(" "
|
||||
" maximum_free_percentage: %6.2f"
|
||||
@@ -3197,7 +3197,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,
|
||||
- (CompressedClassSpaceSize/BytesPerWord)*2);
|
||||
+ (size_t)(CompressedClassSpaceSize/BytesPerWord)*2);
|
||||
_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 -ruN jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
|
||||
--- jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2014-09-04 22:47:14.071845475 -0400
|
||||
@@ -48,7 +48,7 @@
|
||||
const size_t beg_index = size_t(index);
|
||||
assert(beg_index < len || len == 0, "index too large");
|
||||
|
||||
- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
|
||||
+ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
|
||||
const size_t end_index = beg_index + stride;
|
||||
T* const base = (T*)a->base();
|
||||
T* const beg = base + beg_index;
|
||||
@@ -82,7 +82,7 @@
|
||||
const size_t beg_index = size_t(index);
|
||||
assert(beg_index < len || len == 0, "index too large");
|
||||
|
||||
- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
|
||||
+ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
|
||||
const size_t end_index = beg_index + stride;
|
||||
T* const base = (T*)a->base();
|
||||
T* const beg = base + beg_index;
|
||||
diff -ruN jdk8/hotspot/src/share/vm/runtime/arguments.cpp jdk8/hotspot/src/share/vm/runtime/arguments.cpp
|
||||
--- jdk8/hotspot/src/share/vm/runtime/arguments.cpp 2014-07-30 06:51:43.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/runtime/arguments.cpp 2014-09-04 22:47:14.072845483 -0400
|
||||
@@ -1244,7 +1244,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
|
||||
- FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
|
||||
+ FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t)NewSize, preferred_max_new_size));
|
||||
} else {
|
||||
FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
|
||||
}
|
||||
@@ -1269,8 +1269,8 @@
|
||||
// Unless explicitly requested otherwise, make young gen
|
||||
// at least min_new, and at most preferred_max_new_size.
|
||||
if (FLAG_IS_DEFAULT(NewSize)) {
|
||||
- FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
|
||||
- FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
|
||||
+ FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t)NewSize, min_new));
|
||||
+ FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t)NewSize));
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Too early to use gclog_or_tty
|
||||
tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
|
||||
@@ -1280,7 +1280,7 @@
|
||||
// so it's NewRatio x of NewSize.
|
||||
if (FLAG_IS_DEFAULT(OldSize)) {
|
||||
if (max_heap > NewSize) {
|
||||
- FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize));
|
||||
+ FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t)(NewRatio*NewSize), max_heap - NewSize));
|
||||
if (PrintGCDetails && Verbose) {
|
||||
// Too early to use gclog_or_tty
|
||||
tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
|
||||
@@ -1401,7 +1401,7 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
-uintx Arguments::max_heap_for_compressed_oops() {
|
||||
+size_t Arguments::max_heap_for_compressed_oops() {
|
||||
// Avoid sign flip.
|
||||
assert(OopEncodingHeapMax > (uint64_t)os::vm_page_size(), "Unusual page size");
|
||||
// We need to fit both the NULL page and the heap into the memory budget, while
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2014-06-12 03:58:35.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2014-06-12 03:58:35.000000000 -0400
|
||||
@@ -38,7 +38,7 @@
|
||||
_cancel(false),
|
||||
_empty(true),
|
||||
_dropped(0) {
|
||||
- _nqueues = MAX2(ParallelGCThreads, (size_t)1);
|
||||
+ _nqueues = MAX2(ParallelGCThreads, (uintx)1);
|
||||
_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);
|
||||
--- jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2014-06-12 03:58:35.000000000 -0400
|
||||
+++ jdk8/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2014-06-12 03:58:35.000000000 -0400
|
||||
@@ -110,7 +110,7 @@
|
||||
};
|
||||
|
||||
G1StringDedupEntryCache::G1StringDedupEntryCache() {
|
||||
- _nlists = MAX2(ParallelGCThreads, (size_t)1);
|
||||
+ _nlists = MAX2(ParallelGCThreads, (uintx)1);
|
||||
_lists = PaddedArray<G1StringDedupEntryFreeList, mtGC>::create_unfreeable((uint)_nlists);
|
||||
}
|
||||
|
1901
java-9-openjdk.spec
1901
java-9-openjdk.spec
File diff suppressed because it is too large
Load Diff
@ -1,20 +0,0 @@
|
||||
--- jdk9/jdk/src/java.base/share/conf/security/java.security
|
||||
+++ jdk9/jdk/src/java.base/share/conf/security/java.security
|
||||
@@ -304,6 +304,8 @@
|
||||
#
|
||||
package.access=sun.misc.,\
|
||||
sun.reflect.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.,\
|
||||
|
||||
#
|
||||
# List of comma-separated packages that start with or equal this string
|
||||
@@ -316,6 +318,8 @@
|
||||
#
|
||||
package.definition=sun.misc.,\
|
||||
sun.reflect.,\
|
||||
+ org.GNOME.Accessibility.,\
|
||||
+ org.GNOME.Bonobo.,\
|
||||
|
||||
#
|
||||
# Determines whether this properties file can be appended to
|
@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=OpenJDK 9 Monitoring & Management Console #ARCH#
|
||||
Comment=Monitor and manage OpenJDK applications for #ARCH#
|
||||
Exec=#JAVA_HOME#/jconsole
|
||||
Icon=java-9
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=sun-tools-jconsole-JConsole
|
||||
Categories=Development;Monitor;Java;
|
||||
Version=1.0
|
@ -1,274 +0,0 @@
|
||||
diff -r c728621e76f2 tapset/jstack.stp.in
|
||||
--- tapset/jstack-9.stp.in Mon Jun 02 18:41:24 2014 +0100
|
||||
+++ tapset/jstack-9.stp.in Sat Jun 14 00:21:14 2014 +0900
|
||||
@@ -45,11 +45,7 @@
|
||||
semantic error: failed to retrieve location attribute for local
|
||||
*/
|
||||
|
||||
-global Universe_methodKlassObj;
|
||||
-global Universe_collectedHeap;
|
||||
-global HeapWordSize;
|
||||
global CodeCache_heap;
|
||||
-global NarrowOopStruct;
|
||||
|
||||
global sp_register;
|
||||
global fp_register;
|
||||
@@ -57,9 +53,8 @@
|
||||
global ptr_size;
|
||||
global ptr_mask;
|
||||
|
||||
-global constantPoolOopDesc_size;
|
||||
+global constantPool_size;
|
||||
global HeapBlock_Header_size;
|
||||
-global oopDesc_size;
|
||||
|
||||
global vm_inited;
|
||||
|
||||
@@ -67,26 +62,6 @@
|
||||
in a bare function and vm_init_end seems a good place to use. */
|
||||
probe hotspot.vm_init_end
|
||||
{
|
||||
- // The parent/type oop for a methodOop.
|
||||
- Universe_methodKlassObj[pid()] = %( systemtap_v >= "1.8"
|
||||
- %? @var("_methodKlassObj@universe.cpp")
|
||||
- %: $_methodKlassObj %);
|
||||
-
|
||||
- /**
|
||||
- * The Universe class holds some of the interesting statics for
|
||||
- * introspection into HotSpot. The CollectedHeap
|
||||
- * (Universe::_collectedHeap) is an abstraction of a java heap for Hotspot
|
||||
- * it contains a _reserved MemRegion which represents a contigous
|
||||
- * region of the address space consisting of HeapWords (which just
|
||||
- * have one field member char *i).
|
||||
- *
|
||||
- * Note that we access it through its "short name" _collectedHeap.
|
||||
- */
|
||||
- Universe_collectedHeap[pid()] = %( systemtap_v >= "1.8"
|
||||
- %? @var("_collectedHeap@universe.cpp")
|
||||
- %: $_collectedHeap %);
|
||||
- HeapWordSize[pid()] = $HeapWordSize;
|
||||
-
|
||||
/**
|
||||
* The CodeCache class contains the static CodeHeap _heap that
|
||||
* is malloced at the start of the vm run and holds all generated
|
||||
@@ -107,17 +82,6 @@
|
||||
%? @var("_heap@codeCache.cpp")
|
||||
%: $_heap %);
|
||||
|
||||
- /**
|
||||
- * Does target process use CompressedOops ?
|
||||
- */
|
||||
- NarrowOopStruct[pid()] = 0;
|
||||
- %( systemtap_v >= "1.8"
|
||||
- %? if (@var("UseCompressedOops@globals.cpp"))
|
||||
- NarrowOopStruct[pid()] = &@var("_narrow_oop@universe.cpp");
|
||||
- %: if($UseCompressedOops)
|
||||
- NarrowOopStruct[pid()] = $_narrow_oop;
|
||||
- %)
|
||||
-
|
||||
// Should really check arch of user space (for 32bit jvm on 64bit kernel).
|
||||
%( arch == "i386" %?
|
||||
sp_register = "esp";
|
||||
@@ -136,22 +100,17 @@
|
||||
|
||||
// Pretend we have an array at address zero and take address of second
|
||||
// element and we have the size.
|
||||
- constantPoolOopDesc_size = &@cast(0, "constantPoolOopDesc")[1];
|
||||
+ constantPool_size = &@cast(0, "ConstantPool")[1];
|
||||
|
||||
// Really should get from dwarf: @size("HeapBlock::Header"), @size("oopDesc")
|
||||
HeapBlock_Header_size = 2 * ptr_size;
|
||||
- oopDesc_size = 2 * ptr_size;
|
||||
|
||||
vm_inited[pid()] = 1;
|
||||
}
|
||||
|
||||
probe hotspot.vm_shutdown
|
||||
{
|
||||
- delete(Universe_methodKlassObj[pid()]);
|
||||
- delete(Universe_collectedHeap[pid()]);
|
||||
- delete(HeapWordSize[pid()]);
|
||||
delete(CodeCache_heap[pid()]);
|
||||
- delete(NarrowOopStruct[pid()]);
|
||||
delete(vm_inited[pid()]);
|
||||
}
|
||||
|
||||
@@ -262,15 +221,7 @@
|
||||
return frame;
|
||||
}
|
||||
|
||||
- // Extract heap and code bounds.
|
||||
- heap_start = @cast(Universe_collectedHeap[pid()],
|
||||
- "CollectedHeap",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_reserved->_start;
|
||||
- heap_size = HeapWordSize[pid()] * @cast(Universe_collectedHeap[pid()],
|
||||
- "CollectedHeap",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_reserved->_word_size;
|
||||
- heap_end = heap_start + heap_size;
|
||||
-
|
||||
+ // Extract code bounds.
|
||||
CodeCache_low = @cast(CodeCache_heap[pid()], "CodeHeap",
|
||||
"@ABS_SERVER_LIBJVM_SO@")->_memory->_low;
|
||||
CodeCache_high = @cast(CodeCache_heap[pid()], "CodeHeap",
|
||||
@@ -351,105 +302,69 @@
|
||||
// For the interpreter (and other code blobs) it is on the
|
||||
// stack relative to the frame pointer.
|
||||
if (blob_name == "nmethod")
|
||||
- methodOopPtr = @cast(blob, "nmethod",
|
||||
+ methodPtr = @cast(blob, "nmethod",
|
||||
"@ABS_SERVER_LIBJVM_SO@")->_method
|
||||
else
|
||||
- methodOopPtr = user_long(fp + (-3 * ptr_size)) & ptr_mask
|
||||
-
|
||||
- // Start optimistic. A methodOop is only valid if it was
|
||||
- // heap allocated. And if the "type class" oop equals the
|
||||
- // Universe::methodKlassObj.
|
||||
- if (heap_start > methodOopPtr || methodOopPtr >= heap_end)
|
||||
- isMethodOop = 0
|
||||
- else
|
||||
- {
|
||||
- if (NarrowOopStruct[pid()])
|
||||
- {
|
||||
- methodOopKlass = @cast(methodOopPtr, "methodOopDesc",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_metadata->_compressed_klass;
|
||||
- methodOopKlass = (@cast(NarrowOopStruct[pid()],
|
||||
- "NarrowOopStruct",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_base
|
||||
- + (methodOopKlass
|
||||
- << @cast(NarrowOopStruct[pid()],
|
||||
- "NarrowOopStruct",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_shift));
|
||||
- }
|
||||
- else
|
||||
- methodOopKlass = @cast(methodOopPtr, "methodOopDesc",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_metadata->_klass;
|
||||
+ methodPtr = user_long(fp + (-3 * ptr_size)) & ptr_mask
|
||||
|
||||
- isMethodOop = (methodOopKlass == Universe_methodKlassObj[pid()]);
|
||||
- }
|
||||
+ // The java class is the holder of the constants (strings)
|
||||
+ // that describe the method and signature. This constant pool
|
||||
+ // contains symbolic information that describe the properties
|
||||
+ // of the class. The indexes for methods and signaturates in
|
||||
+ // the constant pool are Symbols that contain utf8
|
||||
+ // strings (plus lenghts). (We could also sanity check that
|
||||
+ // the tag value is correct [CONSTANT_String = 8]).
|
||||
+ // Note that the class name uses '/' instead of '.' as
|
||||
+ // package name separator and that the method signature is
|
||||
+ // encoded as a method descriptor string. Both of which we
|
||||
+ // don't demangle here.
|
||||
+ constMethod = @cast(methodPtr, "Method",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_constMethod;
|
||||
+ constantPool = @cast(constMethod, "ConstMethod",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_constants;
|
||||
+ constantPool_base = constantPool + constantPool_size;
|
||||
+
|
||||
+ klass = @cast(constantPool, "ConstantPool",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_pool_holder;
|
||||
+ klassSymbol = @cast(klass, "Klass",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_name;
|
||||
+ klassName = &@cast(klassSymbol, "Symbol",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_body[0];
|
||||
+ klassLength = @cast(klassSymbol, "Symbol",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_length;
|
||||
+
|
||||
+ methodIndex = @cast(constMethod, "ConstMethod",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_name_index;
|
||||
+ methodSymbol = user_long(constantPool_base + (methodIndex * ptr_size));
|
||||
+ methodName = &@cast(methodSymbol, "Symbol",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_body[0];
|
||||
+ methodLength = @cast(methodSymbol, "Symbol",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_length;
|
||||
|
||||
- if (isMethodOop)
|
||||
+ if (log_sig)
|
||||
{
|
||||
- // The java class is the holder of the constants (strings)
|
||||
- // that describe the method and signature. This constant pool
|
||||
- // contains symbolic information that describe the properties
|
||||
- // of the class. The indexes for methods and signaturates in
|
||||
- // the constant pool are Symbols that contain utf8
|
||||
- // strings (plus lenghts). (We could also sanity check that
|
||||
- // the tag value is correct [CONSTANT_String = 8]).
|
||||
- // Note that the class name uses '/' instead of '.' as
|
||||
- // package name separator and that the method signature is
|
||||
- // encoded as a method descriptor string. Both of which we
|
||||
- // don't demangle here.
|
||||
- constantPoolOopDesc = @cast(methodOopPtr, "methodOopDesc",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_constants;
|
||||
- constantPoolOop_base = constantPoolOopDesc + constantPoolOopDesc_size;
|
||||
-
|
||||
- klassPtr = @cast(constantPoolOopDesc, "constantPoolOopDesc",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_pool_holder;
|
||||
- klassSymbol = @cast(klassPtr + oopDesc_size, "Klass",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_name;
|
||||
- klassName = &@cast(klassSymbol, "Symbol",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_body[0];
|
||||
- klassLength = @cast(klassSymbol, "Symbol",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_length;
|
||||
-
|
||||
- methodIndex = @cast(methodOopPtr, "methodOopDesc",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_constMethod->_name_index;
|
||||
- methodOopDesc = user_long(constantPoolOop_base + (methodIndex * ptr_size)) - 1;
|
||||
- methodName = &@cast(methodOopDesc, "Symbol",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_body[0];
|
||||
- methodLength = @cast(methodOopDesc, "Symbol",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_length;
|
||||
-
|
||||
- if (log_sig)
|
||||
- {
|
||||
- sigIndex = @cast(methodOopPtr, "methodOopDesc",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_constMethod->_signature_index;
|
||||
- sigOopDesc = user_long(constantPoolOop_base
|
||||
- + (sigIndex * ptr_size)) - 1;
|
||||
- sigName = &@cast(sigOopDesc, "Symbol",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_body[0];
|
||||
- sigLength = @cast(sigOopDesc, "Symbol",
|
||||
- "@ABS_SERVER_LIBJVM_SO@")->_length;
|
||||
- sig = user_string_n(sigName, sigLength);
|
||||
- }
|
||||
- else
|
||||
- sig = "";
|
||||
-
|
||||
- code_name = (log_native
|
||||
- ? sprintf("<%s@0x%x>",
|
||||
- str_replace(blob_name, " ", "_"), pc)
|
||||
- : "");
|
||||
-
|
||||
- frame = sprintf("%s.%s%s%s",
|
||||
- user_string_n(klassName, klassLength),
|
||||
- user_string_n(methodName, methodLength),
|
||||
- sig, code_name);
|
||||
+ sigIndex = @cast(constMethod, "ConstMethod",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_signature_index;
|
||||
+ sigSymbol = user_long(constantPool_base
|
||||
+ + (sigIndex * ptr_size));
|
||||
+ sigName = &@cast(sigSymbol, "Symbol",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_body[0];
|
||||
+ sigLength = @cast(sigSymbol, "Symbol",
|
||||
+ "@ABS_SERVER_LIBJVM_SO@")->_length;
|
||||
+ sig = user_string_n(sigName, sigLength);
|
||||
}
|
||||
else
|
||||
- {
|
||||
- // This is probably just an internal function, not a java
|
||||
- // method, just print the blob_name and continue.
|
||||
- // fp is probably still trusted.
|
||||
- if (log_native)
|
||||
- frame = sprintf("<%s@0x%x>",
|
||||
- str_replace(blob_name, " ", "_"), pc);
|
||||
- }
|
||||
+ sig = "";
|
||||
+
|
||||
+ code_name = (log_native
|
||||
+ ? sprintf("<%s@0x%x>",
|
||||
+ str_replace(blob_name, " ", "_"), pc)
|
||||
+ : "");
|
||||
+
|
||||
+ frame = sprintf("%s.%s%s%s",
|
||||
+ user_string_n(klassName, klassLength),
|
||||
+ user_string_n(methodName, methodLength),
|
||||
+ sig, code_name);
|
||||
|
||||
// We cannot trust the frame pointer of compiled methods.
|
||||
// The server (c2) jit compiler uses the fp register.
|
@ -1,19 +0,0 @@
|
||||
Remove uses of FAR in jpeg code
|
||||
|
||||
Upstream libjpeg-trubo removed the (empty) FAR macro:
|
||||
http://sourceforge.net/p/libjpeg-turbo/code/1312/
|
||||
|
||||
Adjust our code to not use the undefined FAR macro anymore.
|
||||
|
||||
diff --git a/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c b/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
||||
--- jdk9/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
||||
+++ jdk9/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
||||
@@ -1385,7 +1385,7 @@
|
||||
/* and fill it in */
|
||||
dst_ptr = icc_data;
|
||||
for (seq_no = first; seq_no < last; seq_no++) {
|
||||
- JOCTET FAR *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
|
||||
+ JOCTET *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
|
||||
unsigned int length =
|
||||
icc_markers[seq_no]->data_length - ICC_OVERHEAD_LEN;
|
||||
|
@ -1,74 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User andrew
|
||||
# Date 1352129932 0
|
||||
# Node ID e9c857dcb964dbfa5eef3a3590244cb4d999cf7a
|
||||
# Parent 1406789608b76d0906881979335d685855f44190
|
||||
Allow multiple PKCS11 library initialisation to be a non-critical error.
|
||||
|
||||
diff -r 1406789608b7 -r e9c857dcb964 src/share/classes/sun/security/pkcs11/Config.java
|
||||
--- jdk9/jdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java Tue Oct 30 13:05:14 2012 +0000
|
||||
+++ jdk9/jdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Config.java Mon Nov 05 15:38:52 2012 +0000
|
||||
@@ -52,6 +52,7 @@
|
||||
static final int ERR_HALT = 1;
|
||||
static final int ERR_IGNORE_ALL = 2;
|
||||
static final int ERR_IGNORE_LIB = 3;
|
||||
+ static final int ERR_IGNORE_MULTI_INIT = 4;
|
||||
|
||||
// same as allowSingleThreadedModules but controlled via a system property
|
||||
// and applied to all providers. if set to false, no SunPKCS11 instances
|
||||
@@ -980,6 +981,8 @@
|
||||
handleStartupErrors = ERR_IGNORE_LIB;
|
||||
} else if (val.equals("halt")) {
|
||||
handleStartupErrors = ERR_HALT;
|
||||
+ } else if (val.equals("ignoreMultipleInitialisation")) {
|
||||
+ handleStartupErrors = ERR_IGNORE_MULTI_INIT;
|
||||
} else {
|
||||
throw excToken("Invalid value for handleStartupErrors:");
|
||||
}
|
||||
diff -r 1406789608b7 -r e9c857dcb964 src/share/classes/sun/security/pkcs11/SunPKCS11.java
|
||||
--- jdk9/jdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java Tue Oct 30 13:05:14 2012 +0000
|
||||
+++ jdk9/jdk/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java Mon Nov 05 15:38:52 2012 +0000
|
||||
@@ -168,26 +168,37 @@
|
||||
String nssLibraryDirectory = config.getNssLibraryDirectory();
|
||||
String nssSecmodDirectory = config.getNssSecmodDirectory();
|
||||
boolean nssOptimizeSpace = config.getNssOptimizeSpace();
|
||||
+ int errorHandling = config.getHandleStartupErrors();
|
||||
|
||||
if (secmod.isInitialized()) {
|
||||
if (nssSecmodDirectory != null) {
|
||||
String s = secmod.getConfigDir();
|
||||
if ((s != null) &&
|
||||
(s.equals(nssSecmodDirectory) == false)) {
|
||||
- throw new ProviderException("Secmod directory "
|
||||
- + nssSecmodDirectory
|
||||
- + " invalid, NSS already initialized with "
|
||||
- + s);
|
||||
+ String msg = "Secmod directory " + nssSecmodDirectory
|
||||
+ + " invalid, NSS already initialized with " + s;
|
||||
+ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT ||
|
||||
+ errorHandling == Config.ERR_IGNORE_ALL) {
|
||||
+ throw new UnsupportedOperationException(msg);
|
||||
+ } else {
|
||||
+ throw new ProviderException(msg);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
if (nssLibraryDirectory != null) {
|
||||
String s = secmod.getLibDir();
|
||||
if ((s != null) &&
|
||||
(s.equals(nssLibraryDirectory) == false)) {
|
||||
- throw new ProviderException("NSS library directory "
|
||||
+ String msg = "NSS library directory "
|
||||
+ nssLibraryDirectory
|
||||
+ " invalid, NSS already initialized with "
|
||||
- + s);
|
||||
+ + s;
|
||||
+ if (errorHandling == Config.ERR_IGNORE_MULTI_INIT ||
|
||||
+ errorHandling == Config.ERR_IGNORE_ALL) {
|
||||
+ throw new UnsupportedOperationException(msg);
|
||||
+ } else {
|
||||
+ throw new ProviderException(msg);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
} else {
|
@ -1,5 +0,0 @@
|
||||
name = NSS
|
||||
nssLibraryDirectory = @NSS_LIBDIR@
|
||||
nssDbMode = noDb
|
||||
attributes = compatibility
|
||||
handleStartupErrors = ignoreMultipleInitialisation
|
@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=OpenJDK 9 Policy Tool #ARCH#
|
||||
Comment=Manage OpenJDK policy files #ARCH#
|
||||
Exec=#JRE_HOME#/policytool
|
||||
Icon=java-9
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupWMClass=sun-security-tools-PolicyTool
|
||||
Categories=Settings;Java;
|
||||
Version=1.0
|
@ -1,48 +0,0 @@
|
||||
diff --git a/src/cpu/zero/vm/stack_zero.hpp b/src/cpu/zero/vm/stack_zero.hpp
|
||||
--- jdk9/hotspot/src/cpu/zero/vm/stack_zero.hpp
|
||||
+++ jdk9/hotspot/src/cpu/zero/vm/stack_zero.hpp
|
||||
@@ -99,7 +99,7 @@
|
||||
int shadow_pages_size() const {
|
||||
return _shadow_pages_size;
|
||||
}
|
||||
- int abi_stack_available(Thread *thread) const;
|
||||
+ ssize_t abi_stack_available(Thread *thread) const;
|
||||
|
||||
public:
|
||||
void overflow_check(int required_words, TRAPS);
|
||||
diff --git a/src/cpu/zero/vm/stack_zero.inline.hpp b/src/cpu/zero/vm/stack_zero.inline.hpp
|
||||
--- jdk9/hotspot/src/cpu/zero/vm/stack_zero.inline.hpp
|
||||
+++ jdk9/hotspot/src/cpu/zero/vm/stack_zero.inline.hpp
|
||||
@@ -47,12 +47,12 @@
|
||||
// This method returns the amount of ABI stack available for us
|
||||
// to use under normal circumstances. Note that the returned
|
||||
// value can be negative.
|
||||
-inline int ZeroStack::abi_stack_available(Thread *thread) const {
|
||||
+inline ssize_t ZeroStack::abi_stack_available(Thread *thread) const {
|
||||
guarantee(Thread::current() == thread, "should run in the same thread");
|
||||
- int stack_used = thread->stack_base() - (address) &stack_used
|
||||
+ ssize_t stack_used = thread->stack_base() - (address) &stack_used
|
||||
+ (JavaThread::stack_guard_zone_size() + JavaThread::stack_shadow_zone_size());
|
||||
- int stack_free = thread->stack_size() - stack_used;
|
||||
+ ssize_t stack_free = thread->stack_size() - stack_used;
|
||||
return stack_free;
|
||||
}
|
||||
|
||||
#endif // CPU_ZERO_VM_STACK_ZERO_INLINE_HPP
|
||||
diff --git a/src/os/linux/vm/os_linux.cpp b/src/os/linux/vm/os_linux.cpp
|
||||
--- jdk9/hotspot/src/os/posix/vm/os_posix.cpp
|
||||
+++ jdk9/hotspot/src/os/posix/vm/os_posix.cpp
|
||||
@@ -4791,6 +4791,13 @@
|
||||
JavaThread::stack_shadow_zone_size();
|
||||
|
||||
_java_thread_min_stack_allowed = align_size_up(_java_thread_min_stack_allowed, vm_page_size());
|
||||
+#ifdef ZERO
|
||||
+ // If this is Zero, allow at the very minimum one page each for the
|
||||
+ // Zero stack and the native stack. This won't make any difference
|
||||
+ // for 4k pages, but is significant for large pages.
|
||||
+ _java_thread_min_stack_allowed = MAX2(_java_thread_min_stack_allowed,
|
||||
+ align_size_up((size_t)(JavaThread::stack_guard_zone_size()+JavaThread::stack_shadow_zone_size()+2) * vm_page_size(), vm_page_size());
|
||||
+#endif
|
||||
|
||||
size_t stack_size_in_bytes = ThreadStackSize * K;
|
||||
if (stack_size_in_bytes != 0 &&
|
675
pr2126-9.patch
675
pr2126-9.patch
@ -1,675 +0,0 @@
|
||||
diff --git a/src/java.base/share/classes/sun/security/ssl/NamedGroup.java b/src/java.base/share/classes/sun/security/ssl/NamedGroup.java
|
||||
--- openjdk/jdk/src/java.base/share/classes/sun/security/ssl/NamedGroup.java
|
||||
+++ openjdk/jdk/src/java.base/share/classes/sun/security/ssl/NamedGroup.java
|
||||
@@ -34,57 +34,6 @@
|
||||
//
|
||||
// See sun.security.util.CurveDB for the OIDs
|
||||
|
||||
- // NIST K-163
|
||||
- SECT163_K1(1, NAMED_GROUP_ECDHE, "sect163k1", "1.3.132.0.1", true),
|
||||
-
|
||||
- SECT163_R1(2, NAMED_GROUP_ECDHE, "sect163r1", "1.3.132.0.2", false),
|
||||
-
|
||||
- // NIST B-163
|
||||
- SECT163_R2(3, NAMED_GROUP_ECDHE, "sect163r2", "1.3.132.0.15", true),
|
||||
-
|
||||
- SECT193_R1(4, NAMED_GROUP_ECDHE, "sect193r1", "1.3.132.0.24", false),
|
||||
- SECT193_R2(5, NAMED_GROUP_ECDHE, "sect193r2", "1.3.132.0.25", false),
|
||||
-
|
||||
- // NIST K-233
|
||||
- SECT233_K1(6, NAMED_GROUP_ECDHE, "sect233k1", "1.3.132.0.26", true),
|
||||
-
|
||||
- // NIST B-233
|
||||
- SECT233_R1(7, NAMED_GROUP_ECDHE, "sect233r1", "1.3.132.0.27", true),
|
||||
-
|
||||
- SECT239_K1(8, NAMED_GROUP_ECDHE, "sect239k1", "1.3.132.0.3", false),
|
||||
-
|
||||
- // NIST K-283
|
||||
- SECT283_K1(9, NAMED_GROUP_ECDHE, "sect283k1", "1.3.132.0.16", true),
|
||||
-
|
||||
- // NIST B-283
|
||||
- SECT283_R1(10, NAMED_GROUP_ECDHE, "sect283r1", "1.3.132.0.17", true),
|
||||
-
|
||||
- // NIST K-409
|
||||
- SECT409_K1(11, NAMED_GROUP_ECDHE, "sect409k1", "1.3.132.0.36", true),
|
||||
-
|
||||
- // NIST B-409
|
||||
- SECT409_R1(12, NAMED_GROUP_ECDHE, "sect409r1", "1.3.132.0.37", true),
|
||||
-
|
||||
- // NIST K-571
|
||||
- SECT571_K1(13, NAMED_GROUP_ECDHE, "sect571k1", "1.3.132.0.38", true),
|
||||
-
|
||||
- // NIST B-571
|
||||
- SECT571_R1(14, NAMED_GROUP_ECDHE, "sect571r1", "1.3.132.0.39", true),
|
||||
-
|
||||
- SECP160_K1(15, NAMED_GROUP_ECDHE, "secp160k1", "1.3.132.0.9", false),
|
||||
- SECP160_R1(16, NAMED_GROUP_ECDHE, "secp160r1", "1.3.132.0.8", false),
|
||||
- SECP160_R2(17, NAMED_GROUP_ECDHE, "secp160r2", "1.3.132.0.30", false),
|
||||
- SECP192_K1(18, NAMED_GROUP_ECDHE, "secp192k1", "1.3.132.0.31", false),
|
||||
-
|
||||
- // NIST P-192
|
||||
- SECP192_R1(19, NAMED_GROUP_ECDHE, "secp192r1", "1.2.840.10045.3.1.1", true),
|
||||
-
|
||||
- SECP224_K1(20, NAMED_GROUP_ECDHE, "secp224k1", "1.3.132.0.32", false),
|
||||
- // NIST P-224
|
||||
- SECP224_R1(21, NAMED_GROUP_ECDHE, "secp224r1", "1.3.132.0.33", true),
|
||||
-
|
||||
- SECP256_K1(22, NAMED_GROUP_ECDHE, "secp256k1", "1.3.132.0.10", false),
|
||||
-
|
||||
// NIST P-256
|
||||
SECP256_R1(23, NAMED_GROUP_ECDHE, "secp256r1", "1.2.840.10045.3.1.7", true),
|
||||
|
||||
diff --git a/src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java b/src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
|
||||
--- openjdk/jdk/src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
|
||||
+++ openjdk/jdk/src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
|
||||
@@ -116,12 +116,6 @@
|
||||
NamedGroup.SECP256_R1,
|
||||
NamedGroup.SECP384_R1,
|
||||
NamedGroup.SECP521_R1,
|
||||
- NamedGroup.SECT283_K1,
|
||||
- NamedGroup.SECT283_R1,
|
||||
- NamedGroup.SECT409_K1,
|
||||
- NamedGroup.SECT409_R1,
|
||||
- NamedGroup.SECT571_K1,
|
||||
- NamedGroup.SECT571_R1,
|
||||
|
||||
// FFDHE 2048
|
||||
NamedGroup.FFDHE_2048,
|
||||
@@ -136,15 +130,6 @@
|
||||
NamedGroup.SECP256_R1,
|
||||
NamedGroup.SECP384_R1,
|
||||
NamedGroup.SECP521_R1,
|
||||
- NamedGroup.SECT283_K1,
|
||||
- NamedGroup.SECT283_R1,
|
||||
- NamedGroup.SECT409_K1,
|
||||
- NamedGroup.SECT409_R1,
|
||||
- NamedGroup.SECT571_K1,
|
||||
- NamedGroup.SECT571_R1,
|
||||
-
|
||||
- // non-NIST curves
|
||||
- NamedGroup.SECP256_K1,
|
||||
|
||||
// FFDHE 2048
|
||||
NamedGroup.FFDHE_2048,
|
||||
diff --git a/src/java.base/share/classes/sun/security/util/CurveDB.java b/src/java.base/share/classes/sun/security/util/CurveDB.java
|
||||
--- openjdk/jdk/src/java.base/share/classes/sun/security/util/CurveDB.java
|
||||
+++ openjdk/jdk/src/java.base/share/classes/sun/security/util/CurveDB.java
|
||||
@@ -168,114 +168,6 @@
|
||||
Pattern nameSplitPattern = Pattern.compile(SPLIT_PATTERN);
|
||||
|
||||
/* SEC2 prime curves */
|
||||
- add("secp112r1", "1.3.132.0.6", P,
|
||||
- "DB7C2ABF62E35E668076BEAD208B",
|
||||
- "DB7C2ABF62E35E668076BEAD2088",
|
||||
- "659EF8BA043916EEDE8911702B22",
|
||||
- "09487239995A5EE76B55F9C2F098",
|
||||
- "A89CE5AF8724C0A23E0E0FF77500",
|
||||
- "DB7C2ABF62E35E7628DFAC6561C5",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp112r2", "1.3.132.0.7", P,
|
||||
- "DB7C2ABF62E35E668076BEAD208B",
|
||||
- "6127C24C05F38A0AAAF65C0EF02C",
|
||||
- "51DEF1815DB5ED74FCC34C85D709",
|
||||
- "4BA30AB5E892B4E1649DD0928643",
|
||||
- "adcd46f5882e3747def36e956e97",
|
||||
- "36DF0AAFD8B8D7597CA10520D04B",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("secp128r1", "1.3.132.0.28", P,
|
||||
- "FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF",
|
||||
- "FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFC",
|
||||
- "E87579C11079F43DD824993C2CEE5ED3",
|
||||
- "161FF7528B899B2D0C28607CA52C5B86",
|
||||
- "CF5AC8395BAFEB13C02DA292DDED7A83",
|
||||
- "FFFFFFFE0000000075A30D1B9038A115",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp128r2", "1.3.132.0.29", P,
|
||||
- "FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF",
|
||||
- "D6031998D1B3BBFEBF59CC9BBFF9AEE1",
|
||||
- "5EEEFCA380D02919DC2C6558BB6D8A5D",
|
||||
- "7B6AA5D85E572983E6FB32A7CDEBC140",
|
||||
- "27B6916A894D3AEE7106FE805FC34B44",
|
||||
- "3FFFFFFF7FFFFFFFBE0024720613B5A3",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("secp160k1", "1.3.132.0.9", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73",
|
||||
- "0000000000000000000000000000000000000000",
|
||||
- "0000000000000000000000000000000000000007",
|
||||
- "3B4C382CE37AA192A4019E763036F4F5DD4D7EBB",
|
||||
- "938CF935318FDCED6BC28286531733C3F03C4FEE",
|
||||
- "0100000000000000000001B8FA16DFAB9ACA16B6B3",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp160r1", "1.3.132.0.8", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC",
|
||||
- "1C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA45",
|
||||
- "4A96B5688EF573284664698968C38BB913CBFC82",
|
||||
- "23A628553168947D59DCC912042351377AC5FB32",
|
||||
- "0100000000000000000001F4C8F927AED3CA752257",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp160r2", "1.3.132.0.30", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC73",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAC70",
|
||||
- "B4E134D3FB59EB8BAB57274904664D5AF50388BA",
|
||||
- "52DCB034293A117E1F4FF11B30F7199D3144CE6D",
|
||||
- "FEAFFEF2E331F296E071FA0DF9982CFEA7D43F2E",
|
||||
- "0100000000000000000000351EE786A818F3A1A16B",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp192k1", "1.3.132.0.31", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEE37",
|
||||
- "000000000000000000000000000000000000000000000000",
|
||||
- "000000000000000000000000000000000000000000000003",
|
||||
- "DB4FF10EC057E9AE26B07D0280B7F4341DA5D1B1EAE06C7D",
|
||||
- "9B2F2F6D9C5628A7844163D015BE86344082AA88D95E2F9D",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFE26F2FC170F69466A74DEFD8D",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp192r1 [NIST P-192, X9.62 prime192v1]", "1.2.840.10045.3.1.1", PD,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC",
|
||||
- "64210519E59C80E70FA7E9AB72243049FEB8DEECC146B9B1",
|
||||
- "188DA80EB03090F67CBF20EB43A18800F4FF0AFD82FF1012",
|
||||
- "07192B95FFC8DA78631011ED6B24CDD573F977A11E794811",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFF99DEF836146BC9B1B4D22831",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp224k1", "1.3.132.0.32", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFE56D",
|
||||
- "00000000000000000000000000000000000000000000000000000000",
|
||||
- "00000000000000000000000000000000000000000000000000000005",
|
||||
- "A1455B334DF099DF30FC28A169A467E9E47075A90F7E650EB6B7A45C",
|
||||
- "7E089FED7FBA344282CAFBD6F7E319F7C0B0BD59E2CA4BDB556D61A5",
|
||||
- "010000000000000000000000000001DCE8D2EC6184CAF0A971769FB1F7",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp224r1 [NIST P-224]", "1.3.132.0.33", PD,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000001",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFE",
|
||||
- "B4050A850C04B3ABF54132565044B0B7D7BFD8BA270B39432355FFB4",
|
||||
- "B70E0CBD6BB4BF7F321390B94A03C1D356C21122343280D6115C1D21",
|
||||
- "BD376388B5F723FB4C22DFE6CD4375A05A07476444D5819985007E34",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFF16A2E0B8F03E13DD29455C5C2A3D",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("secp256k1", "1.3.132.0.10", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F",
|
||||
- "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
- "0000000000000000000000000000000000000000000000000000000000000007",
|
||||
- "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798",
|
||||
- "483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
add("secp256r1 [NIST P-256, X9.62 prime256v1]", "1.2.840.10045.3.1.7", PD,
|
||||
"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF",
|
||||
"FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC",
|
||||
@@ -303,435 +195,6 @@
|
||||
"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409",
|
||||
1, nameSplitPattern);
|
||||
|
||||
- /* ANSI X9.62 prime curves */
|
||||
- add("X9.62 prime192v2", "1.2.840.10045.3.1.2", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC",
|
||||
- "CC22D6DFB95C6B25E49C0D6364A4E5980C393AA21668D953",
|
||||
- "EEA2BAE7E1497842F2DE7769CFE9C989C072AD696F48034A",
|
||||
- "6574D11D69B6EC7A672BB82A083DF2F2B0847DE970B2DE15",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFE5FB1A724DC80418648D8DD31",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 prime192v3", "1.2.840.10045.3.1.3", P,
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFC",
|
||||
- "22123DC2395A05CAA7423DAECCC94760A7D462256BD56916",
|
||||
- "7D29778100C65A1DA1783716588DCE2B8B4AEE8E228F1896",
|
||||
- "38A90F22637337334B49DCB66A6DC8F9978ACA7648A943B0",
|
||||
- "FFFFFFFFFFFFFFFFFFFFFFFF7A62D031C83F4294F640EC13",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 prime239v1", "1.2.840.10045.3.1.4", P,
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF",
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC",
|
||||
- "6B016C3BDCF18941D0D654921475CA71A9DB2FB27D1D37796185C2942C0A",
|
||||
- "0FFA963CDCA8816CCC33B8642BEDF905C3D358573D3F27FBBD3B3CB9AAAF",
|
||||
- "7DEBE8E4E90A5DAE6E4054CA530BA04654B36818CE226B39FCCB7B02F1AE",
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFF9E5E9A9F5D9071FBD1522688909D0B",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 prime239v2", "1.2.840.10045.3.1.5", P,
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF",
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC",
|
||||
- "617FAB6832576CBBFED50D99F0249C3FEE58B94BA0038C7AE84C8C832F2C",
|
||||
- "38AF09D98727705120C921BB5E9E26296A3CDCF2F35757A0EAFD87B830E7",
|
||||
- "5B0125E4DBEA0EC7206DA0FC01D9B081329FB555DE6EF460237DFF8BE4BA",
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF800000CFA7E8594377D414C03821BC582063",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 prime239v3", "1.2.840.10045.3.1.6", P,
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFF",
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF8000000000007FFFFFFFFFFC",
|
||||
- "255705FA2A306654B1F4CB03D6A750A30C250102D4988717D9BA15AB6D3E",
|
||||
- "6768AE8E18BB92CFCF005C949AA2C6D94853D0E660BBF854B1C9505FE95A",
|
||||
- "1607E6898F390C06BC1D552BAD226F3B6FCFE48B6E818499AF18E3ED6CF3",
|
||||
- "7FFFFFFFFFFFFFFFFFFFFFFF7FFFFF975DEB41B3A6057C3C432146526551",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- /* SEC2 binary curves */
|
||||
- add("sect113r1", "1.3.132.0.4", B,
|
||||
- "020000000000000000000000000201",
|
||||
- "003088250CA6E7C7FE649CE85820F7",
|
||||
- "00E8BEE4D3E2260744188BE0E9C723",
|
||||
- "009D73616F35F4AB1407D73562C10F",
|
||||
- "00A52830277958EE84D1315ED31886",
|
||||
- "0100000000000000D9CCEC8A39E56F",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect113r2", "1.3.132.0.5", B,
|
||||
- "020000000000000000000000000201",
|
||||
- "00689918DBEC7E5A0DD6DFC0AA55C7",
|
||||
- "0095E9A9EC9B297BD4BF36E059184F",
|
||||
- "01A57A6A7B26CA5EF52FCDB8164797",
|
||||
- "00B3ADC94ED1FE674C06E695BABA1D",
|
||||
- "010000000000000108789B2496AF93",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect131r1", "1.3.132.0.22", B,
|
||||
- "080000000000000000000000000000010D",
|
||||
- "07A11B09A76B562144418FF3FF8C2570B8",
|
||||
- "0217C05610884B63B9C6C7291678F9D341",
|
||||
- "0081BAF91FDF9833C40F9C181343638399",
|
||||
- "078C6E7EA38C001F73C8134B1B4EF9E150",
|
||||
- "0400000000000000023123953A9464B54D",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect131r2", "1.3.132.0.23", B,
|
||||
- "080000000000000000000000000000010D",
|
||||
- "03E5A88919D7CAFCBF415F07C2176573B2",
|
||||
- "04B8266A46C55657AC734CE38F018F2192",
|
||||
- "0356DCD8F2F95031AD652D23951BB366A8",
|
||||
- "0648F06D867940A5366D9E265DE9EB240F",
|
||||
- "0400000000000000016954A233049BA98F",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect163k1 [NIST K-163]", "1.3.132.0.1", BD,
|
||||
- "0800000000000000000000000000000000000000C9",
|
||||
- "000000000000000000000000000000000000000001",
|
||||
- "000000000000000000000000000000000000000001",
|
||||
- "02FE13C0537BBC11ACAA07D793DE4E6D5E5C94EEE8",
|
||||
- "0289070FB05D38FF58321F2E800536D538CCDAA3D9",
|
||||
- "04000000000000000000020108A2E0CC0D99F8A5EF",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect163r1", "1.3.132.0.2", B,
|
||||
- "0800000000000000000000000000000000000000C9",
|
||||
- "07B6882CAAEFA84F9554FF8428BD88E246D2782AE2",
|
||||
- "0713612DCDDCB40AAB946BDA29CA91F73AF958AFD9",
|
||||
- "0369979697AB43897789566789567F787A7876A654",
|
||||
- "00435EDB42EFAFB2989D51FEFCE3C80988F41FF883",
|
||||
- "03FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect163r2 [NIST B-163]", "1.3.132.0.15", BD,
|
||||
- "0800000000000000000000000000000000000000C9",
|
||||
- "000000000000000000000000000000000000000001",
|
||||
- "020A601907B8C953CA1481EB10512F78744A3205FD",
|
||||
- "03F0EBA16286A2D57EA0991168D4994637E8343E36",
|
||||
- "00D51FBC6C71A0094FA2CDD545B11C5C0C797324F1",
|
||||
- "040000000000000000000292FE77E70C12A4234C33",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect193r1", "1.3.132.0.24", B,
|
||||
- "02000000000000000000000000000000000000000000008001",
|
||||
- "0017858FEB7A98975169E171F77B4087DE098AC8A911DF7B01",
|
||||
- "00FDFB49BFE6C3A89FACADAA7A1E5BBC7CC1C2E5D831478814",
|
||||
- "01F481BC5F0FF84A74AD6CDF6FDEF4BF6179625372D8C0C5E1",
|
||||
- "0025E399F2903712CCF3EA9E3A1AD17FB0B3201B6AF7CE1B05",
|
||||
- "01000000000000000000000000C7F34A778F443ACC920EBA49",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect193r2", "1.3.132.0.25", B,
|
||||
- "02000000000000000000000000000000000000000000008001",
|
||||
- "0163F35A5137C2CE3EA6ED8667190B0BC43ECD69977702709B",
|
||||
- "00C9BB9E8927D4D64C377E2AB2856A5B16E3EFB7F61D4316AE",
|
||||
- "00D9B67D192E0367C803F39E1A7E82CA14A651350AAE617E8F",
|
||||
- "01CE94335607C304AC29E7DEFBD9CA01F596F927224CDECF6C",
|
||||
- "010000000000000000000000015AAB561B005413CCD4EE99D5",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect233k1 [NIST K-233]", "1.3.132.0.26", BD,
|
||||
- "020000000000000000000000000000000000000004000000000000000001",
|
||||
- "000000000000000000000000000000000000000000000000000000000000",
|
||||
- "000000000000000000000000000000000000000000000000000000000001",
|
||||
- "017232BA853A7E731AF129F22FF4149563A419C26BF50A4C9D6EEFAD6126",
|
||||
- "01DB537DECE819B7F70F555A67C427A8CD9BF18AEB9B56E0C11056FAE6A3",
|
||||
- "008000000000000000000000000000069D5BB915BCD46EFB1AD5F173ABDF",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("sect233r1 [NIST B-233]", "1.3.132.0.27", B,
|
||||
- "020000000000000000000000000000000000000004000000000000000001",
|
||||
- "000000000000000000000000000000000000000000000000000000000001",
|
||||
- "0066647EDE6C332C7F8C0923BB58213B333B20E9CE4281FE115F7D8F90AD",
|
||||
- "00FAC9DFCBAC8313BB2139F1BB755FEF65BC391F8B36F8F8EB7371FD558B",
|
||||
- "01006A08A41903350678E58528BEBF8A0BEFF867A7CA36716F7E01F81052",
|
||||
- "01000000000000000000000000000013E974E72F8A6922031D2603CFE0D7",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect239k1", "1.3.132.0.3", B,
|
||||
- "800000000000000000004000000000000000000000000000000000000001",
|
||||
- "000000000000000000000000000000000000000000000000000000000000",
|
||||
- "000000000000000000000000000000000000000000000000000000000001",
|
||||
- "29A0B6A887A983E9730988A68727A8B2D126C44CC2CC7B2A6555193035DC",
|
||||
- "76310804F12E549BDB011C103089E73510ACB275FC312A5DC6B76553F0CA",
|
||||
- "2000000000000000000000000000005A79FEC67CB6E91F1C1DA800E478A5",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("sect283k1 [NIST K-283]", "1.3.132.0.16", BD,
|
||||
- "0800000000000000000000000000000000000000000000000000000000000000000010A1",
|
||||
- "000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
- "000000000000000000000000000000000000000000000000000000000000000000000001",
|
||||
- "0503213F78CA44883F1A3B8162F188E553CD265F23C1567A16876913B0C2AC2458492836",
|
||||
- "01CCDA380F1C9E318D90F95D07E5426FE87E45C0E8184698E45962364E34116177DD2259",
|
||||
- "01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9AE2ED07577265DFF7F94451E061E163C61",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("sect283r1 [NIST B-283]", "1.3.132.0.17", B,
|
||||
- "0800000000000000000000000000000000000000000000000000000000000000000010A1",
|
||||
- "000000000000000000000000000000000000000000000000000000000000000000000001",
|
||||
- "027B680AC8B8596DA5A4AF8A19A0303FCA97FD7645309FA2A581485AF6263E313B79A2F5",
|
||||
- "05F939258DB7DD90E1934F8C70B0DFEC2EED25B8557EAC9C80E2E198F8CDBECD86B12053",
|
||||
- "03676854FE24141CB98FE6D4B20D02B4516FF702350EDDB0826779C813F0DF45BE8112F4",
|
||||
- "03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF90399660FC938A90165B042A7CEFADB307",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect409k1 [NIST K-409]", "1.3.132.0.36", BD,
|
||||
- "02000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001",
|
||||
- "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
- "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
|
||||
- "0060F05F658F49C1AD3AB1890F7184210EFD0987E307C84C27ACCFB8F9F67CC2C460189EB5AAAA62EE222EB1B35540CFE9023746",
|
||||
- "01E369050B7C4E42ACBA1DACBF04299C3460782F918EA427E6325165E9EA10E3DA5F6C42E9C55215AA9CA27A5863EC48D8E0286B",
|
||||
- "007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5F83B2D4EA20400EC4557D5ED3E3E7CA5B4B5C83B8E01E5FCF",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("sect409r1 [NIST B-409]", "1.3.132.0.37", B,
|
||||
- "02000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001",
|
||||
- "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
|
||||
- "0021A5C2C8EE9FEB5C4B9A753B7B476B7FD6422EF1F3DD674761FA99D6AC27C8A9A197B272822F6CD57A55AA4F50AE317B13545F",
|
||||
- "015D4860D088DDB3496B0C6064756260441CDE4AF1771D4DB01FFE5B34E59703DC255A868A1180515603AEAB60794E54BB7996A7",
|
||||
- "0061B1CFAB6BE5F32BBFA78324ED106A7636B9C5A7BD198D0158AA4F5488D08F38514F1FDF4B4F40D2181B3681C364BA0273C706",
|
||||
- "010000000000000000000000000000000000000000000000000001E2AAD6A612F33307BE5FA47C3C9E052F838164CD37D9A21173",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("sect571k1 [NIST K-571]", "1.3.132.0.38", BD,
|
||||
- "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425",
|
||||
- "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||
- "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
|
||||
- "026EB7A859923FBC82189631F8103FE4AC9CA2970012D5D46024804801841CA44370958493B205E647DA304DB4CEB08CBBD1BA39494776FB988B47174DCA88C7E2945283A01C8972",
|
||||
- "0349DC807F4FBF374F4AEADE3BCA95314DD58CEC9F307A54FFC61EFC006D8A2C9D4979C0AC44AEA74FBEBBB9F772AEDCB620B01A7BA7AF1B320430C8591984F601CD4C143EF1C7A3",
|
||||
- "020000000000000000000000000000000000000000000000000000000000000000000000131850E1F19A63E4B391A8DB917F4138B630D84BE5D639381E91DEB45CFE778F637C1001",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("sect571r1 [NIST B-571]", "1.3.132.0.39", B,
|
||||
- "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425",
|
||||
- "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
|
||||
- "02F40E7E2221F295DE297117B7F3D62F5C6A97FFCB8CEFF1CD6BA8CE4A9A18AD84FFABBD8EFA59332BE7AD6756A66E294AFD185A78FF12AA520E4DE739BACA0C7FFEFF7F2955727A",
|
||||
- "0303001D34B856296C16C0D40D3CD7750A93D1D2955FA80AA5F40FC8DB7B2ABDBDE53950F4C0D293CDD711A35B67FB1499AE60038614F1394ABFA3B4C850D927E1E7769C8EEC2D19",
|
||||
- "037BF27342DA639B6DCCFFFEB73D69D78C6C27A6009CBBCA1980F8533921E8A684423E43BAB08A576291AF8F461BB2A8B3531D2F0485C19B16E2F1516E23DD3C1A4827AF1B8AC15B",
|
||||
- "03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE661CE18FF55987308059B186823851EC7DD9CA1161DE93D5174D66E8382E9BB2FE84E47",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- /* ANSI X9.62 binary curves */
|
||||
- add("X9.62 c2tnb191v1", "1.2.840.10045.3.0.5", B,
|
||||
- "800000000000000000000000000000000000000000000201",
|
||||
- "2866537B676752636A68F56554E12640276B649EF7526267",
|
||||
- "2E45EF571F00786F67B0081B9495A3D95462F5DE0AA185EC",
|
||||
- "36B3DAF8A23206F9C4F299D7B21A9C369137F2C84AE1AA0D",
|
||||
- "765BE73433B3F95E332932E70EA245CA2418EA0EF98018FB",
|
||||
- "40000000000000000000000004A20E90C39067C893BBB9A5",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb191v2", "1.2.840.10045.3.0.6", B,
|
||||
- "800000000000000000000000000000000000000000000201",
|
||||
- "401028774D7777C7B7666D1366EA432071274F89FF01E718",
|
||||
- "0620048D28BCBD03B6249C99182B7C8CD19700C362C46A01",
|
||||
- "3809B2B7CC1B28CC5A87926AAD83FD28789E81E2C9E3BF10",
|
||||
- "17434386626D14F3DBF01760D9213A3E1CF37AEC437D668A",
|
||||
- "20000000000000000000000050508CB89F652824E06B8173",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb191v3", "1.2.840.10045.3.0.7", B,
|
||||
- "800000000000000000000000000000000000000000000201",
|
||||
- "6C01074756099122221056911C77D77E77A777E7E7E77FCB",
|
||||
- "71FE1AF926CF847989EFEF8DB459F66394D90F32AD3F15E8",
|
||||
- "375D4CE24FDE434489DE8746E71786015009E66E38A926DD",
|
||||
- "545A39176196575D985999366E6AD34CE0A77CD7127B06BE",
|
||||
- "155555555555555555555555610C0B196812BFB6288A3EA3",
|
||||
- 6, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb239v1", "1.2.840.10045.3.0.11", B,
|
||||
- "800000000000000000000000000000000000000000000000001000000001",
|
||||
- "32010857077C5431123A46B808906756F543423E8D27877578125778AC76",
|
||||
- "790408F2EEDAF392B012EDEFB3392F30F4327C0CA3F31FC383C422AA8C16",
|
||||
- "57927098FA932E7C0A96D3FD5B706EF7E5F5C156E16B7E7C86038552E91D",
|
||||
- "61D8EE5077C33FECF6F1A16B268DE469C3C7744EA9A971649FC7A9616305",
|
||||
- "2000000000000000000000000000000F4D42FFE1492A4993F1CAD666E447",
|
||||
- 4, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb239v2", "1.2.840.10045.3.0.12", B,
|
||||
- "800000000000000000000000000000000000000000000000001000000001",
|
||||
- "4230017757A767FAE42398569B746325D45313AF0766266479B75654E65F",
|
||||
- "5037EA654196CFF0CD82B2C14A2FCF2E3FF8775285B545722F03EACDB74B",
|
||||
- "28F9D04E900069C8DC47A08534FE76D2B900B7D7EF31F5709F200C4CA205",
|
||||
- "5667334C45AFF3B5A03BAD9DD75E2C71A99362567D5453F7FA6E227EC833",
|
||||
- "1555555555555555555555555555553C6F2885259C31E3FCDF154624522D",
|
||||
- 6, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb239v3", "1.2.840.10045.3.0.13", B,
|
||||
- "800000000000000000000000000000000000000000000000001000000001",
|
||||
- "01238774666A67766D6676F778E676B66999176666E687666D8766C66A9F",
|
||||
- "6A941977BA9F6A435199ACFC51067ED587F519C5ECB541B8E44111DE1D40",
|
||||
- "70F6E9D04D289C4E89913CE3530BFDE903977D42B146D539BF1BDE4E9C92",
|
||||
- "2E5A0EAF6E5E1305B9004DCE5C0ED7FE59A35608F33837C816D80B79F461",
|
||||
- "0CCCCCCCCCCCCCCCCCCCCCCCCCCCCCAC4912D2D9DF903EF9888B8A0E4CFF",
|
||||
- 0xA, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb359v1", "1.2.840.10045.3.0.18", B,
|
||||
- "800000000000000000000000000000000000000000000000000000000000000000000000100000000000000001",
|
||||
- "5667676A654B20754F356EA92017D946567C46675556F19556A04616B567D223A5E05656FB549016A96656A557",
|
||||
- "2472E2D0197C49363F1FE7F5B6DB075D52B6947D135D8CA445805D39BC345626089687742B6329E70680231988",
|
||||
- "3C258EF3047767E7EDE0F1FDAA79DAEE3841366A132E163ACED4ED2401DF9C6BDCDE98E8E707C07A2239B1B097",
|
||||
- "53D7E08529547048121E9C95F3791DD804963948F34FAE7BF44EA82365DC7868FE57E4AE2DE211305A407104BD",
|
||||
- "01AF286BCA1AF286BCA1AF286BCA1AF286BCA1AF286BC9FB8F6B85C556892C20A7EB964FE7719E74F490758D3B",
|
||||
- 0x4C, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2tnb431r1", "1.2.840.10045.3.0.20", B,
|
||||
- "800000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000001",
|
||||
- "1A827EF00DD6FC0E234CAF046C6A5D8A85395B236CC4AD2CF32A0CADBDC9DDF620B0EB9906D0957F6C6FEACD615468DF104DE296CD8F",
|
||||
- "10D9B4A3D9047D8B154359ABFB1B7F5485B04CEB868237DDC9DEDA982A679A5A919B626D4E50A8DD731B107A9962381FB5D807BF2618",
|
||||
- "120FC05D3C67A99DE161D2F4092622FECA701BE4F50F4758714E8A87BBF2A658EF8C21E7C5EFE965361F6C2999C0C247B0DBD70CE6B7",
|
||||
- "20D0AF8903A96F8D5FA2C255745D3C451B302C9346D9B7E485E7BCE41F6B591F3E8F6ADDCBB0BC4C2F947A7DE1A89B625D6A598B3760",
|
||||
- "0340340340340340340340340340340340340340340340340340340323C313FAB50589703B5EC68D3587FEC60D161CC149C1AD4A91",
|
||||
- 0x2760, nameSplitPattern);
|
||||
-
|
||||
- /* ANSI X9.62 binary curves from the 1998 standard but forbidden
|
||||
- * in the 2005 version of the standard.
|
||||
- * We don't register them but leave them here for the time being in
|
||||
- * case we need to support them after all.
|
||||
- */
|
||||
-/*
|
||||
- add("X9.62 c2pnb163v1", "1.2.840.10045.3.0.1", B,
|
||||
- "080000000000000000000000000000000000000107",
|
||||
- "072546B5435234A422E0789675F432C89435DE5242",
|
||||
- "00C9517D06D5240D3CFF38C74B20B6CD4D6F9DD4D9",
|
||||
- "07AF69989546103D79329FCC3D74880F33BBE803CB",
|
||||
- "01EC23211B5966ADEA1D3F87F7EA5848AEF0B7CA9F",
|
||||
- "0400000000000000000001E60FC8821CC74DAEAFC1",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb163v2", "1.2.840.10045.3.0.2", B,
|
||||
- "080000000000000000000000000000000000000107",
|
||||
- "0108B39E77C4B108BED981ED0E890E117C511CF072",
|
||||
- "0667ACEB38AF4E488C407433FFAE4F1C811638DF20",
|
||||
- "0024266E4EB5106D0A964D92C4860E2671DB9B6CC5",
|
||||
- "079F684DDF6684C5CD258B3890021B2386DFD19FC5",
|
||||
- "03FFFFFFFFFFFFFFFFFFFDF64DE1151ADBB78F10A7",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb163v3", "1.2.840.10045.3.0.3", B,
|
||||
- "080000000000000000000000000000000000000107",
|
||||
- "07A526C63D3E25A256A007699F5447E32AE456B50E",
|
||||
- "03F7061798EB99E238FD6F1BF95B48FEEB4854252B",
|
||||
- "02F9F87B7C574D0BDECF8A22E6524775F98CDEBDCB",
|
||||
- "05B935590C155E17EA48EB3FF3718B893DF59A05D0",
|
||||
- "03FFFFFFFFFFFFFFFFFFFE1AEE140F110AFF961309",
|
||||
- 2, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb176w1", "1.2.840.10045.3.0.4", B,
|
||||
- "0100000000000000000000000000000000080000000007",
|
||||
- "E4E6DB2995065C407D9D39B8D0967B96704BA8E9C90B",
|
||||
- "5DDA470ABE6414DE8EC133AE28E9BBD7FCEC0AE0FFF2",
|
||||
- "8D16C2866798B600F9F08BB4A8E860F3298CE04A5798",
|
||||
- "6FA4539C2DADDDD6BAB5167D61B436E1D92BB16A562C",
|
||||
- "00010092537397ECA4F6145799D62B0A19CE06FE26AD",
|
||||
- 0xFF6E, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb208w1", "1.2.840.10045.3.0.10", B,
|
||||
- "010000000000000000000000000000000800000000000000000007",
|
||||
- "0000000000000000000000000000000000000000000000000000",
|
||||
- "C8619ED45A62E6212E1160349E2BFA844439FAFC2A3FD1638F9E",
|
||||
- "89FDFBE4ABE193DF9559ECF07AC0CE78554E2784EB8C1ED1A57A",
|
||||
- "0F55B51A06E78E9AC38A035FF520D8B01781BEB1A6BB08617DE3",
|
||||
- "000101BAF95C9723C57B6C21DA2EFF2D5ED588BDD5717E212F9D",
|
||||
- 0xFE48, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb272w1", "1.2.840.10045.3.0.16", B,
|
||||
- "010000000000000000000000000000000000000000000000000000010000000000000B",
|
||||
- "91A091F03B5FBA4AB2CCF49C4EDD220FB028712D42BE752B2C40094DBACDB586FB20",
|
||||
- "7167EFC92BB2E3CE7C8AAAFF34E12A9C557003D7C73A6FAF003F99F6CC8482E540F7",
|
||||
- "6108BABB2CEEBCF787058A056CBE0CFE622D7723A289E08A07AE13EF0D10D171DD8D",
|
||||
- "10C7695716851EEF6BA7F6872E6142FBD241B830FF5EFCACECCAB05E02005DDE9D23",
|
||||
- "000100FAF51354E0E39E4892DF6E319C72C8161603FA45AA7B998A167B8F1E629521",
|
||||
- 0xFF06, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb304w1", "1.2.840.10045.3.0.17", B,
|
||||
- "010000000000000000000000000000000000000000000000000000000000000000000000000807",
|
||||
- "FD0D693149A118F651E6DCE6802085377E5F882D1B510B44160074C1288078365A0396C8E681",
|
||||
- "BDDB97E555A50A908E43B01C798EA5DAA6788F1EA2794EFCF57166B8C14039601E55827340BE",
|
||||
- "197B07845E9BE2D96ADB0F5F3C7F2CFFBD7A3EB8B6FEC35C7FD67F26DDF6285A644F740A2614",
|
||||
- "E19FBEB76E0DA171517ECF401B50289BF014103288527A9B416A105E80260B549FDC1B92C03B",
|
||||
- "000101D556572AABAC800101D556572AABAC8001022D5C91DD173F8FB561DA6899164443051D",
|
||||
- 0xFE2E, nameSplitPattern);
|
||||
-
|
||||
- add("X9.62 c2pnb368w1", "1.2.840.10045.3.0.19", B,
|
||||
- "0100000000000000000000000000000000000000000000000000000000000000000000002000000000000000000007",
|
||||
- "E0D2EE25095206F5E2A4F9ED229F1F256E79A0E2B455970D8D0D865BD94778C576D62F0AB7519CCD2A1A906AE30D",
|
||||
- "FC1217D4320A90452C760A58EDCD30C8DD069B3C34453837A34ED50CB54917E1C2112D84D164F444F8F74786046A",
|
||||
- "1085E2755381DCCCE3C1557AFA10C2F0C0C2825646C5B34A394CBCFA8BC16B22E7E789E927BE216F02E1FB136A5F",
|
||||
- "7B3EB1BDDCBA62D5D8B2059B525797FC73822C59059C623A45FF3843CEE8F87CD1855ADAA81E2A0750B80FDA2310",
|
||||
- "00010090512DA9AF72B08349D98A5DD4C7B0532ECA51CE03E2D10F3B7AC579BD87E909AE40A6F131E9CFCE5BD967",
|
||||
- 0xFF70, nameSplitPattern);
|
||||
-*/
|
||||
-
|
||||
- /*
|
||||
- * Brainpool curves (RFC 5639)
|
||||
- * (Twisted curves are not included)
|
||||
- */
|
||||
-
|
||||
- add("brainpoolP160r1", "1.3.36.3.3.2.8.1.1.1", P,
|
||||
- "E95E4A5F737059DC60DFC7AD95B3D8139515620F",
|
||||
- "340E7BE2A280EB74E2BE61BADA745D97E8F7C300",
|
||||
- "1E589A8595423412134FAA2DBDEC95C8D8675E58",
|
||||
- "BED5AF16EA3F6A4F62938C4631EB5AF7BDBCDBC3",
|
||||
- "1667CB477A1A8EC338F94741669C976316DA6321",
|
||||
- "E95E4A5F737059DC60DF5991D45029409E60FC09",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("brainpoolP192r1", "1.3.36.3.3.2.8.1.1.3", P,
|
||||
- "C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297",
|
||||
- "6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF",
|
||||
- "469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9",
|
||||
- "C0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD6",
|
||||
- "14B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F",
|
||||
- "C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("brainpoolP224r1", "1.3.36.3.3.2.8.1.1.5", P,
|
||||
- "D7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF",
|
||||
- "68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43",
|
||||
- "2580F63CCFE44138870713B1A92369E33E2135D266DBB372386C400B",
|
||||
- "0D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C1E6EFDEE12C07D",
|
||||
- "58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D3761402CD",
|
||||
- "D7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("brainpoolP256r1", "1.3.36.3.3.2.8.1.1.7", P,
|
||||
- "A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377",
|
||||
- "7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9",
|
||||
- "26DC5C6CE94A4B44F330B5D9BBD77CBF958416295CF7E1CE6BCCDC18FF8C07B6",
|
||||
- "8BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262",
|
||||
- "547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997",
|
||||
- "A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("brainpoolP320r1", "1.3.36.3.3.2.8.1.1.9", P,
|
||||
- "D35E472036BC4FB7E13C785ED201E065F98FCFA6F6F40DEF4F92B9EC7893EC28FCD412B1F1B32E27",
|
||||
- "3EE30B568FBAB0F883CCEBD46D3F3BB8A2A73513F5EB79DA66190EB085FFA9F492F375A97D860EB4",
|
||||
- "520883949DFDBC42D3AD198640688A6FE13F41349554B49ACC31DCCD884539816F5EB4AC8FB1F1A6",
|
||||
- "43BD7E9AFB53D8B85289BCC48EE5BFE6F20137D10A087EB6E7871E2A10A599C710AF8D0D39E20611",
|
||||
- "14FDD05545EC1CC8AB4093247F77275E0743FFED117182EAA9C77877AAAC6AC7D35245D1692E8EE1",
|
||||
- "D35E472036BC4FB7E13C785ED201E065F98FCFA5B68F12A32D482EC7EE8658E98691555B44C59311",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("brainpoolP384r1", "1.3.36.3.3.2.8.1.1.11", P,
|
||||
- "8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B412B1DA197FB71123ACD3A729901D1A71874700133107EC53",
|
||||
- "7BC382C63D8C150C3C72080ACE05AFA0C2BEA28E4FB22787139165EFBA91F90F8AA5814A503AD4EB04A8C7DD22CE2826",
|
||||
- "04A8C7DD22CE28268B39B55416F0447C2FB77DE107DCD2A62E880EA53EEB62D57CB4390295DBC9943AB78696FA504C11",
|
||||
- "1D1C64F068CF45FFA2A63A81B7C13F6B8847A3E77EF14FE3DB7FCAFE0CBD10E8E826E03436D646AAEF87B2E247D4AF1E",
|
||||
- "8ABE1D7520F9C2A45CB1EB8E95CFD55262B70B29FEEC5864E19C054FF99129280E4646217791811142820341263C5315",
|
||||
- "8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7CF3AB6AF6B7FC3103B883202E9046565",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
- add("brainpoolP512r1", "1.3.36.3.3.2.8.1.1.13", P,
|
||||
- "AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA703308717D4D9B009BC66842AECDA12AE6A380E62881FF2F2D82C68528AA6056583A48F3",
|
||||
- "7830A3318B603B89E2327145AC234CC594CBDD8D3DF91610A83441CAEA9863BC2DED5D5AA8253AA10A2EF1C98B9AC8B57F1117A72BF2C7B9E7C1AC4D77FC94CA",
|
||||
- "3DF91610A83441CAEA9863BC2DED5D5AA8253AA10A2EF1C98B9AC8B57F1117A72BF2C7B9E7C1AC4D77FC94CADC083E67984050B75EBAE5DD2809BD638016F723",
|
||||
- "81AEE4BDD82ED9645A21322E9C4C6A9385ED9F70B5D916C1B43B62EEF4D0098EFF3B1F78E2D0D48D50D1687B93B97D5F7C6D5047406A5E688B352209BCB9F822",
|
||||
- "7DDE385D566332ECC0EABFA9CF7822FDF209F70024A57B1AA000C55B881F8111B2DCDE494A5F485E5BCA4BD88A2763AED1CA2B2FA8F0540678CD1E0F3AD80892",
|
||||
- "AADD9DB8DBE9C48B3FD4E6AE33C9FC07CB308DB3B3C9D20ED6639CCA70330870553E5C414CA92619418661197FAC10471DB1D381085DDADDB58796829CA90069",
|
||||
- 1, nameSplitPattern);
|
||||
-
|
||||
specCollection = Collections.unmodifiableCollection(oidMap.values());
|
||||
}
|
||||
}
|
||||
diff --git a/test/sun/security/ec/TestEC.java b/test/sun/security/ec/TestEC.java
|
||||
--- openjdk/jdk/test/sun/security/ec/TestEC.java
|
||||
+++ openjdk/jdk/test/sun/security/ec/TestEC.java
|
||||
@@ -35,8 +35,8 @@
|
||||
* @library ../pkcs11/sslecc
|
||||
* @library ../../../java/security/testlibrary
|
||||
* @modules jdk.crypto.cryptoki/sun.security.pkcs11.wrapper
|
||||
- * @run main/othervm -Djdk.tls.namedGroups="secp256r1,sect193r1" TestEC
|
||||
- * @run main/othervm/java.security.policy=TestEC.policy -Djdk.tls.namedGroups="secp256r1,sect193r1" TestEC
|
||||
+ * @run main/othervm -Djdk.tls.namedGroups="secp256r1" TestEC
|
||||
+ * @run main/othervm/java.security.policy=TestEC.policy -Djdk.tls.namedGroups="secp256r1" TestEC
|
||||
*/
|
||||
|
||||
import java.security.NoSuchProviderException;
|
||||
diff -r bd66ea2fdde3 test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java
|
||||
--- openjdk/jdk/test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java Thu Jul 27 18:04:48 2017 +0000
|
||||
+++ openjdk/jdk/test/sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java Fri Oct 06 13:18:47 2017 +0200
|
||||
@@ -34,9 +34,9 @@
|
||||
* @library ..
|
||||
* @library ../../../../java/security/testlibrary
|
||||
* @modules jdk.crypto.cryptoki
|
||||
- * @run main/othervm -Djdk.tls.namedGroups="secp256r1,sect193r1"
|
||||
+ * @run main/othervm -Djdk.tls.namedGroups="secp256r1"
|
||||
* ClientJSSEServerJSSE
|
||||
- * @run main/othervm -Djdk.tls.namedGroups="secp256r1,sect193r1"
|
||||
+ * @run main/othervm -Djdk.tls.namedGroups="secp256r1"
|
||||
* ClientJSSEServerJSSE sm policy
|
||||
*/
|
@ -1,129 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
ZIP_SRC=jdk/src/java.base/share/native/libzip/zlib/
|
||||
JPEG_SRC=jdk/src/java.desktop/share/native/libjavajpeg/
|
||||
GIF_SRC=jdk/src/java.desktop/share/native/libsplashscreen/giflib/
|
||||
PNG_SRC=jdk/src/java.desktop/share/native/libsplashscreen/libpng/
|
||||
LCMS_SRC=jdk/src/java.desktop/share/native/liblcms/
|
||||
|
||||
cd openjdk
|
||||
|
||||
echo "Removing built-in libs (they will be linked)"
|
||||
|
||||
echo "Removing zlib"
|
||||
if [ ! -d ${ZIP_SRC} ]; then
|
||||
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -rvf ${ZIP_SRC}
|
||||
|
||||
echo "Removing libjpeg"
|
||||
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that sound definitely exist
|
||||
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -vf ${JPEG_SRC}/jcomapi.c
|
||||
rm -vf ${JPEG_SRC}/jdapimin.c
|
||||
rm -vf ${JPEG_SRC}/jdapistd.c
|
||||
rm -vf ${JPEG_SRC}/jdcoefct.c
|
||||
rm -vf ${JPEG_SRC}/jdcolor.c
|
||||
rm -vf ${JPEG_SRC}/jdct.h
|
||||
rm -vf ${JPEG_SRC}/jddctmgr.c
|
||||
rm -vf ${JPEG_SRC}/jdhuff.c
|
||||
rm -vf ${JPEG_SRC}/jdhuff.h
|
||||
rm -vf ${JPEG_SRC}/jdinput.c
|
||||
rm -vf ${JPEG_SRC}/jdmainct.c
|
||||
rm -vf ${JPEG_SRC}/jdmarker.c
|
||||
rm -vf ${JPEG_SRC}/jdmaster.c
|
||||
rm -vf ${JPEG_SRC}/jdmerge.c
|
||||
rm -vf ${JPEG_SRC}/jdphuff.c
|
||||
rm -vf ${JPEG_SRC}/jdpostct.c
|
||||
rm -vf ${JPEG_SRC}/jdsample.c
|
||||
rm -vf ${JPEG_SRC}/jerror.c
|
||||
rm -vf ${JPEG_SRC}/jerror.h
|
||||
rm -vf ${JPEG_SRC}/jidctflt.c
|
||||
rm -vf ${JPEG_SRC}/jidctfst.c
|
||||
rm -vf ${JPEG_SRC}/jidctint.c
|
||||
rm -vf ${JPEG_SRC}/jidctred.c
|
||||
rm -vf ${JPEG_SRC}/jinclude.h
|
||||
rm -vf ${JPEG_SRC}/jmemmgr.c
|
||||
rm -vf ${JPEG_SRC}/jmemsys.h
|
||||
rm -vf ${JPEG_SRC}/jmemnobs.c
|
||||
rm -vf ${JPEG_SRC}/jmorecfg.h
|
||||
rm -vf ${JPEG_SRC}/jpegint.h
|
||||
rm -vf ${JPEG_SRC}/jpeglib.h
|
||||
rm -vf ${JPEG_SRC}/jquant1.c
|
||||
rm -vf ${JPEG_SRC}/jquant2.c
|
||||
rm -vf ${JPEG_SRC}/jutils.c
|
||||
rm -vf ${JPEG_SRC}/jcapimin.c
|
||||
rm -vf ${JPEG_SRC}/jcapistd.c
|
||||
rm -vf ${JPEG_SRC}/jccoefct.c
|
||||
rm -vf ${JPEG_SRC}/jccolor.c
|
||||
rm -vf ${JPEG_SRC}/jcdctmgr.c
|
||||
rm -vf ${JPEG_SRC}/jchuff.c
|
||||
rm -vf ${JPEG_SRC}/jchuff.h
|
||||
rm -vf ${JPEG_SRC}/jcinit.c
|
||||
rm -vf ${JPEG_SRC}/jconfig.h
|
||||
rm -vf ${JPEG_SRC}/jcmainct.c
|
||||
rm -vf ${JPEG_SRC}/jcmarker.c
|
||||
rm -vf ${JPEG_SRC}/jcmaster.c
|
||||
rm -vf ${JPEG_SRC}/jcparam.c
|
||||
rm -vf ${JPEG_SRC}/jcphuff.c
|
||||
rm -vf ${JPEG_SRC}/jcprepct.c
|
||||
rm -vf ${JPEG_SRC}/jcsample.c
|
||||
rm -vf ${JPEG_SRC}/jctrans.c
|
||||
rm -vf ${JPEG_SRC}/jdtrans.c
|
||||
rm -vf ${JPEG_SRC}/jfdctflt.c
|
||||
rm -vf ${JPEG_SRC}/jfdctfst.c
|
||||
rm -vf ${JPEG_SRC}/jfdctint.c
|
||||
rm -vf ${JPEG_SRC}/jversion.h
|
||||
rm -vf ${JPEG_SRC}/README
|
||||
|
||||
echo "Removing giflib"
|
||||
if [ ! -d ${GIF_SRC} ]; then
|
||||
echo "${GIF_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -rvf ${GIF_SRC}
|
||||
|
||||
echo "Removing libpng"
|
||||
if [ ! -d ${PNG_SRC} ]; then
|
||||
echo "${PNG_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -rvf ${PNG_SRC}
|
||||
|
||||
echo "Removing lcms"
|
||||
if [ ! -d ${LCMS_SRC} ]; then
|
||||
echo "${LCMS_SRC} does not exist. Refusing to proceed."
|
||||
exit 1
|
||||
fi
|
||||
rm -vf ${LCMS_SRC}/cmscam02.c
|
||||
rm -vf ${LCMS_SRC}/cmscgats.c
|
||||
rm -vf ${LCMS_SRC}/cmscnvrt.c
|
||||
rm -vf ${LCMS_SRC}/cmserr.c
|
||||
rm -vf ${LCMS_SRC}/cmsgamma.c
|
||||
rm -vf ${LCMS_SRC}/cmsgmt.c
|
||||
rm -vf ${LCMS_SRC}/cmshalf.c
|
||||
rm -vf ${LCMS_SRC}/cmsintrp.c
|
||||
rm -vf ${LCMS_SRC}/cmsio0.c
|
||||
rm -vf ${LCMS_SRC}/cmsio1.c
|
||||
rm -vf ${LCMS_SRC}/cmslut.c
|
||||
rm -vf ${LCMS_SRC}/cmsmd5.c
|
||||
rm -vf ${LCMS_SRC}/cmsmtrx.c
|
||||
rm -vf ${LCMS_SRC}/cmsnamed.c
|
||||
rm -vf ${LCMS_SRC}/cmsopt.c
|
||||
rm -vf ${LCMS_SRC}/cmspack.c
|
||||
rm -vf ${LCMS_SRC}/cmspcs.c
|
||||
rm -vf ${LCMS_SRC}/cmsplugin.c
|
||||
rm -vf ${LCMS_SRC}/cmsps2.c
|
||||
rm -vf ${LCMS_SRC}/cmssamp.c
|
||||
rm -vf ${LCMS_SRC}/cmssm.c
|
||||
rm -vf ${LCMS_SRC}/cmstypes.c
|
||||
rm -vf ${LCMS_SRC}/cmsvirt.c
|
||||
rm -vf ${LCMS_SRC}/cmswtpnt.c
|
||||
rm -vf ${LCMS_SRC}/cmsxform.c
|
||||
rm -vf ${LCMS_SRC}/lcms2.h
|
||||
rm -vf ${LCMS_SRC}/lcms2_internal.h
|
||||
rm -vf ${LCMS_SRC}/lcms2_plugin.h
|
@ -1,19 +0,0 @@
|
||||
--- openjdk/jdk/src/java.base/share/conf/security/java.security.orig 2018-01-18 12:22:46.148339081 +0100
|
||||
+++ openjdk/jdk/src/java.base/share/conf/security/java.security 2018-01-18 12:25:12.225469321 +0100
|
||||
@@ -66,7 +66,6 @@
|
||||
#endif
|
||||
security.provider.tbd=SUN
|
||||
security.provider.tbd=SunRsaSign
|
||||
-security.provider.tbd=SunEC
|
||||
security.provider.tbd=SunJSSE
|
||||
security.provider.tbd=SunJCE
|
||||
security.provider.tbd=SunJGSS
|
||||
@@ -681,7 +680,7 @@
|
||||
# Example:
|
||||
# jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
|
||||
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
|
||||
- EC keySize < 224, DES40_CBC, RC4_40
|
||||
+ EC, ECDHE, ECDH, DES40_CBC, RC4_40
|
||||
|
||||
#
|
||||
# Legacy algorithms for Secure Socket Layer/Transport Layer Security (SSL/TLS)
|
@ -1,12 +0,0 @@
|
||||
--- jdk9/jdk/make/gensrc/GensrcX11Wrappers.gmk
|
||||
+++ jdk9/jdk/make/gensrc/GensrcX11Wrappers.gmk
|
||||
@@ -117,7 +117,8 @@
|
||||
$(call LogInfo, Verifying X11 wrapper sizes)
|
||||
$(call MakeDir, $(@D))
|
||||
$(GENSRC_X11WRAPPERS_TMP)/sizer.$*.exe | $(SORT) > $@.tmp
|
||||
- $(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp $(GENSRC_X11WRAPPERS_TMP)/sizes.$*
|
||||
+ $(SORT) $(GENSRC_X11WRAPPERS_TMP)/sizes.$* > $@-orig.tmp
|
||||
+ $(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification-orig.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
GENSRC_X11WRAPPERS += $(GENSRC_X11WRAPPERS_TMP)/sizes.$(OPENJDK_TARGET_CPU_BITS).verification
|
2
sources
2
sources
@ -1,2 +0,0 @@
|
||||
SHA512 (jdk-updates-jdk9u-jdk-9.0.4+11.tar.xz) = 88e07166a2b0b447489b0b33ae45da1184f57ee8ca108e2b9d2d356e00003111512f5b7af2d364219c6478ecede9e8bd5f9ee51669e8a73a7572b5451d075634
|
||||
SHA512 (systemtap-tapset-3.6.0pre02.tar.xz) = 848f42ef7ca751e723fd50e3a6da14c0965ad4da37ea3331568658e27497b7a7e4b9aad3dedd264ad0bb5566c37a92302b905f10258a4e2c89dc4ba609e55481
|
@ -1,184 +0,0 @@
|
||||
#!/bin/bash -x
|
||||
# Generates the 'source tarball' for JDK 8 projects and update spec infrastructure
|
||||
# By default, this script regenerate source as they are currently used.
|
||||
# so if the version of sources change, this file changes and is pushed
|
||||
#
|
||||
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
||||
# PROJECT_NAME=jdk9
|
||||
# REPO_NAME=jdk9
|
||||
# VERSION=inDevelopment (but keyword tip will still do its job)
|
||||
#
|
||||
# If you don't, default are used and so already uploaded tarball regenerated
|
||||
# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
|
||||
#
|
||||
# For other useful variables see generate_source_tarball.sh
|
||||
#
|
||||
# the used values are then substituted to spec and sources
|
||||
|
||||
if [ ! "x$PR2126" = "x" ] ; then
|
||||
if [ ! -f "$PR2126" ] ; then
|
||||
echo "You have specified PR2126 as $PR2126 but it does not exists. exiting"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
if [ "x$PROJECT_NAME" = "x" ] ; then
|
||||
PROJECT_NAME="jdk-updates"
|
||||
fi
|
||||
if [ "x$REPO_NAME" = "x" ] ; then
|
||||
REPO_NAME="jdk9u"
|
||||
fi
|
||||
if [ "x$VERSION" = "x" ] ; then
|
||||
VERSION="jdk-9.0.1+11"
|
||||
fi
|
||||
|
||||
if [ "x$COMPRESSION" = "x" ] ; then
|
||||
# rhel 5 needs tar.gz
|
||||
COMPRESSION=xz
|
||||
fi
|
||||
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||
fi
|
||||
#if [ "x$PKG" = "x" ] ; then
|
||||
# URL=`cat .git/config | grep url`
|
||||
# PKG=${URL##*/}
|
||||
#fi
|
||||
if [ "x$SPEC" = "x" ] ; then
|
||||
SPEC=${PKG}.spec
|
||||
fi
|
||||
if [ "x$RELEASE" = "x" ] ; then
|
||||
RELEASE=1
|
||||
fi
|
||||
|
||||
FILENAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||
|
||||
if [ ! -f ${FILENAME} ] ; then
|
||||
echo "Generating ${FILENAME}"
|
||||
. ./generate_source_tarball.sh
|
||||
else
|
||||
echo "${FILENAME} already exists, using"
|
||||
fi
|
||||
|
||||
echo "nothing more TBD for 9!!"
|
||||
exit 0
|
||||
|
||||
echo "Touching spec: $SPEC"
|
||||
sed -i "s/^%global\s\+project.*/%global project ${PROJECT_NAME}/" $SPEC
|
||||
sed -i "s/^%global\s\+repo.*/%global repo ${REPO_NAME}/" $SPEC
|
||||
sed -i "s/^%global\s\+revision.*/%global revision ${VERSION}/" $SPEC
|
||||
# updated sources, resetting release
|
||||
sed -i "s/^Release:.*/Release: $RELEASE.%{buildver}%{?dist}/" $SPEC
|
||||
|
||||
#https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#Bash
|
||||
function levenshtein {
|
||||
if [ "$#" -ne "2" ]; then
|
||||
echo "Usage: $0 word1 word2" >&2
|
||||
elif [ "${#1}" -lt "${#2}" ]; then
|
||||
levenshtein "$2" "$1"
|
||||
else
|
||||
local str1len=$((${#1}))
|
||||
local str2len=$((${#2}))
|
||||
local d i j
|
||||
for i in $(seq 0 $(((str1len+1)*(str2len+1)))); do
|
||||
d[i]=0
|
||||
done
|
||||
for i in $(seq 0 $((str1len))); do
|
||||
d[$((i+0*str1len))]=$i
|
||||
done
|
||||
for j in $(seq 0 $((str2len))); do
|
||||
d[$((0+j*(str1len+1)))]=$j
|
||||
done
|
||||
|
||||
for j in $(seq 1 $((str2len))); do
|
||||
for i in $(seq 1 $((str1len))); do
|
||||
[ "${1:i-1:1}" = "${2:j-1:1}" ] && local cost=0 || local cost=1
|
||||
local del=$((d[(i-1)+str1len*j]+1))
|
||||
local ins=$((d[i+str1len*(j-1)]+1))
|
||||
local alt=$((d[(i-1)+str1len*(j-1)]+cost))
|
||||
d[i+str1len*j]=$(echo -e "$del\n$ins\n$alt" | sort -n | head -1)
|
||||
done
|
||||
done
|
||||
echo ${d[str1len+str1len*(str2len)]}
|
||||
fi
|
||||
}
|
||||
# generate shenandoah hotspot
|
||||
# that means supply the underlying script with new values
|
||||
# to new filename.
|
||||
MAIN_VERSION=$VERSION
|
||||
if [ "x$VERSION" = "xtip" ] ; then
|
||||
VERSION="tip"
|
||||
else
|
||||
#hardcoding version for anything else except tip
|
||||
VERSION="aarch64-shenandoah-jdk8u131-b12-shenandoah-merge-2017-04-20"
|
||||
fi
|
||||
MAIN_REPO_NAME=$REPO_NAME
|
||||
REPO_NAME=jdk8u-shenandoah
|
||||
MAIN_FILE_NAME_ROOT=$FILE_NAME_ROOT
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||
FILENAME_SH=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||
REPOS="hotspot"
|
||||
|
||||
if [ ! -f ${FILENAME_SH} ] ; then
|
||||
echo "Generating ${FILENAME_SH}"
|
||||
. ./generate_source_tarball.sh
|
||||
else
|
||||
echo "${FILENAME_SH} already exists, using"
|
||||
fi
|
||||
|
||||
sed -i "s/^Source1:.*/Source1: ${FILENAME_SH}/" $SPEC
|
||||
git --no-pager diff $SPEC
|
||||
|
||||
# find the most similar sources name and replace it by newly generated one.
|
||||
echo "Old sources"
|
||||
cat sources
|
||||
a_sources=`cat sources | sed "s/.*(//g" | sed "s/).*//g" | sed "s/.*\s\+//g"`
|
||||
winner=""
|
||||
winnerDistance=999999
|
||||
for x in $a_sources ; do
|
||||
distance=`levenshtein $x ${FILENAME}`
|
||||
if [ $distance -lt $winnerDistance ] ; then
|
||||
winner=$x
|
||||
winnerDistance=$distance
|
||||
fi
|
||||
done
|
||||
sum=`md5sum ${FILENAME}`
|
||||
sed -i "s;.*$winner;$sum;" sources
|
||||
# now shenandoah hotspot
|
||||
winner=""
|
||||
winnerDistance=999999
|
||||
for x in $a_sources ; do
|
||||
distance=`levenshtein $x ${FILENAME_SH}`
|
||||
if [ $distance -lt $winnerDistance ] ; then
|
||||
winner=$x
|
||||
winnerDistance=$distance
|
||||
fi
|
||||
done
|
||||
sum=`md5sum ${FILENAME_SH}`
|
||||
sed -i "s;.*$winner;$sum;" sources
|
||||
|
||||
echo "New sources"
|
||||
cat sources
|
||||
a_sources=`cat sources | sed "s/.*(//g" | sed "s/).*//g" | sed "s/.*\s\+//g"`
|
||||
echo " you can get inspired by following %changelog template:"
|
||||
user_name=`whoami`
|
||||
user_record=$(getent passwd $user_name)
|
||||
user_gecos_field=$(echo "$user_record" | cut -d ':' -f 5)
|
||||
user_full_name=$(echo "$user_gecos_field" | cut -d ',' -f 1)
|
||||
spec_date=`date +"%a %b %d %Y"`
|
||||
# See spec:
|
||||
revision_helper=`echo ${MAIN_VERSION%-*}`
|
||||
updatever=`echo ${revision_helper##*u}`
|
||||
buildver=`echo ${MAIN_VERSION##*-}`
|
||||
echo "* $spec_date $user_full_name <$user_name@redhat.com> - 1:1.8.0.$updatever-$RELEASE.$buildver"
|
||||
echo "- updated to $MAIN_VERSION (from $PROJECT_NAME/$MAIN_REPO_NAME)"
|
||||
echo "- updated to $VERSION (from $PROJECT_NAME/$REPO_NAME) of hotspot"
|
||||
echo "- used $FILENAME as new sources"
|
||||
echo "- used $FILENAME_SH as new sources for hotspot"
|
||||
|
||||
echo " execute:"
|
||||
echo "fedpkg/rhpkg new-sources "$a_sources
|
||||
echo " to upload sources"
|
||||
echo "you can verify by fedpkg/rhpkg prep --arch XXXX on all architectures: x86_64 i386 i586 i686 ppc ppc64 ppc64le s390 s390x aarch64 armv7hl"
|
||||
|
Loading…
Reference in New Issue
Block a user