Skip to content

Commit e3e3e2f

Browse files
author
J. Duke
committed
Merge
2 parents 16c7de0 + b964ec0 commit e3e3e2f

File tree

146 files changed

+1970
-3062
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+1970
-3062
lines changed

.hgtags-top-repo

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,3 +227,4 @@ d2dcb110e9dbaf9903c05b211df800e78e4b394e jdk8-b100
227227
b7e64be81c8a7690703df5711f4fc2375da8a9cb jdk8-b103
228228
96c1b9b7524b52c3fcefc90ffad4c767396727c8 jdk8-b104
229229
5166118c59178b5d31001bc4058e92486ee07d9b jdk8-b105
230+
8e7b4d9fb00fdf1334376aeac050c9bca6d1b383 jdk8-b106

common/autoconf/generated-configure.sh

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3818,7 +3818,7 @@ fi
38183818
#CUSTOM_AUTOCONF_INCLUDE
38193819

38203820
# Do not change or remove the following line, it is needed for consistency checks:
3821-
DATE_WHEN_GENERATED=1377850299
3821+
DATE_WHEN_GENERATED=1378914658
38223822

38233823
###############################################################################
38243824
#
@@ -6775,6 +6775,18 @@ test -n "$target_alias" &&
67756775
VAR_CPU_BITS=64
67766776
VAR_CPU_ENDIAN=big
67776777
;;
6778+
s390)
6779+
VAR_CPU=s390
6780+
VAR_CPU_ARCH=s390
6781+
VAR_CPU_BITS=32
6782+
VAR_CPU_ENDIAN=big
6783+
;;
6784+
s390x)
6785+
VAR_CPU=s390x
6786+
VAR_CPU_ARCH=s390
6787+
VAR_CPU_BITS=64
6788+
VAR_CPU_ENDIAN=big
6789+
;;
67786790
sparc)
67796791
VAR_CPU=sparc
67806792
VAR_CPU_ARCH=sparc
@@ -6883,6 +6895,18 @@ $as_echo "$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU" >&6; }
68836895
VAR_CPU_BITS=64
68846896
VAR_CPU_ENDIAN=big
68856897
;;
6898+
s390)
6899+
VAR_CPU=s390
6900+
VAR_CPU_ARCH=s390
6901+
VAR_CPU_BITS=32
6902+
VAR_CPU_ENDIAN=big
6903+
;;
6904+
s390x)
6905+
VAR_CPU=s390x
6906+
VAR_CPU_ARCH=s390
6907+
VAR_CPU_BITS=64
6908+
VAR_CPU_ENDIAN=big
6909+
;;
68866910
sparc)
68876911
VAR_CPU=sparc
68886912
VAR_CPU_ARCH=sparc

common/autoconf/platform.m4

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
6060
VAR_CPU_BITS=64
6161
VAR_CPU_ENDIAN=big
6262
;;
63+
s390)
64+
VAR_CPU=s390
65+
VAR_CPU_ARCH=s390
66+
VAR_CPU_BITS=32
67+
VAR_CPU_ENDIAN=big
68+
;;
69+
s390x)
70+
VAR_CPU=s390x
71+
VAR_CPU_ARCH=s390
72+
VAR_CPU_BITS=64
73+
VAR_CPU_ENDIAN=big
74+
;;
6375
sparc)
6476
VAR_CPU=sparc
6577
VAR_CPU_ARCH=sparc

corba/.hgtags

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,3 +227,4 @@ a013024b07475782f1fa8e196e950b34b4077663 jdk8-b101
227227
49c4a777fdfd648d4c3fffc940fdb97a23108ca8 jdk8-b103
228228
d411c60a8c2fe8fdc572af907775e90f7eefd513 jdk8-b104
229229
4e38de7c767e34104fa147b5b346d9fe6b731279 jdk8-b105
230+
2e3a056c84a71eba78945c18b05397858ffd7ad0 jdk8-b106

hotspot/.hgtags

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,3 +373,5 @@ c4697c1c448416108743b59118b4a2498b339d0c jdk8-b102
373373
c1604d5885a6f2adc0bcea2fa142a8f6bafad2f0 hs25-b47
374374
acac3bde66b2c22791c257a8d99611d6d08c6713 jdk8-b105
375375
18b4798adbc42c6fa16f5ecb7d5cd3ca130754bf hs25-b48
376+
aed585cafc0d9655726af6d1e1081d1c94cb3b5c jdk8-b106
377+
50794d8ac11c9579b41dec4de23b808fef9f34a1 hs25-b49

hotspot/agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,9 +354,16 @@ public int getAllFieldsCount() {
354354
public boolean getIsMarkedDependent() { return isMarkedDependent.getValue(this) != 0; }
355355
public long getVtableLen() { return vtableLen.getValue(this); }
356356
public long getItableLen() { return itableLen.getValue(this); }
357-
public Symbol getGenericSignature() { return getConstants().getSymbolAt(genericSignatureIndex.getValue(this)); }
358357
public long majorVersion() { return majorVersion.getValue(this); }
359358
public long minorVersion() { return minorVersion.getValue(this); }
359+
public Symbol getGenericSignature() {
360+
long index = genericSignatureIndex.getValue(this);
361+
if (index != 0) {
362+
return getConstants().getSymbolAt(index);
363+
} else {
364+
return null;
365+
}
366+
}
360367

361368
// "size helper" == instance size in words
362369
public long getSizeHelper() {

hotspot/make/bsd/makefiles/gcc.make

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,21 @@ ifeq ($(USE_CLANG), true)
129129
130130
# We only use precompiled headers for the JVM build
131131
CFLAGS += $(VM_PCH_FLAG)
132-
133-
# There are some files which don't like precompiled headers
134-
# The following files are build with 'OPT_CFLAGS/NOOPT' (-O0) in the opt build.
135-
# But Clang doesn't support a precompiled header which was compiled with -O3
136-
# to be used in a compilation unit which uses '-O0'. We could also prepare an
137-
# extra '-O0' PCH file for the opt build and use it here, but it's probably
138-
# not worth the effort as long as only two files need this special handling.
132+
133+
# The following files are compiled at various optimization
134+
# levels due to optimization issues encountered at the
135+
# 'OPT_CFLAGS_DEFAULT' level. The Clang compiler issues a compile
136+
# time error if there is an optimization level specification
137+
# skew between the PCH file and the C++ file. Especially if the
138+
# PCH file is compiled at a higher optimization level than
139+
# the C++ file. One solution might be to prepare extra optimization
140+
# level specific PCH files for the opt build and use them here, but
141+
# it's probably not worth the effort as long as only a few files
142+
# need this special handling.
139143
PCH_FLAG/loopTransform.o = $(PCH_FLAG/NO_PCH)
140144
PCH_FLAG/sharedRuntimeTrig.o = $(PCH_FLAG/NO_PCH)
141145
PCH_FLAG/sharedRuntimeTrans.o = $(PCH_FLAG/NO_PCH)
146+
PCH_FLAG/unsafe.o = $(PCH_FLAG/NO_PCH)
142147
143148
endif
144149
else # ($(USE_CLANG), true)
@@ -306,6 +311,7 @@ OPT_CFLAGS/NOOPT=-O0
306311
ifeq ($(USE_CLANG), true)
307312
ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 2), 1)
308313
OPT_CFLAGS/loopTransform.o += $(OPT_CFLAGS/NOOPT)
314+
OPT_CFLAGS/unsafe.o += -O1
309315
endif
310316
else
311317
# 6835796. Problem in GCC 4.3.0 with mulnode.o optimized compilation.

hotspot/make/hotspot_version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2013
3535

3636
HS_MAJOR_VER=25
3737
HS_MINOR_VER=0
38-
HS_BUILD_NUMBER=48
38+
HS_BUILD_NUMBER=49
3939

4040
JDK_MAJOR_VER=1
4141
JDK_MINOR_VER=8

hotspot/make/windows/create.bat

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ for /F %%i in ('sh %HotSpotWorkSpace%/make/windows/get_msc_ver.sh') do set %%i
8282

8383
echo **************************************************************
8484
set ProjectFile=%HotSpotBuildSpace%\jvm.vcproj
85+
echo MSC_VER = "%MSC_VER%"
8586
if "%MSC_VER%" == "1200" (
8687
set ProjectFile=%HotSpotBuildSpace%\jvm.dsp
8788
echo Will generate VC6 project {unsupported}
@@ -96,11 +97,17 @@ if "%MSC_VER%" == "1600" (
9697
echo Will generate VC10 {Visual Studio 2010}
9798
set ProjectFile=%HotSpotBuildSpace%\jvm.vcxproj
9899
) else (
100+
if "%MSC_VER%" == "1700" (
101+
echo Will generate VC10 {compatible with Visual Studio 2012}
102+
echo After opening in VS 2012, click "Update" when prompted.
103+
set ProjectFile=%HotSpotBuildSpace%\jvm.vcxproj
104+
) else (
99105
echo Will generate VC7 project {Visual Studio 2003 .NET}
100106
)
101107
)
102108
)
103109
)
110+
)
104111
echo %ProjectFile%
105112
echo **************************************************************
106113

hotspot/make/windows/makefiles/rules.make

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ VcVersion=VC9
6969
VcVersion=VC10
7070
ProjectFile=jvm.vcxproj
7171

72+
!elseif "$(MSC_VER)" == "1700"
73+
# This is VS2012, but it loads VS10 projects just fine (and will
74+
# upgrade them automatically to VS2012 format).
75+
76+
VcVersion=VC10
77+
ProjectFile=jvm.vcxproj
78+
7279
!else
7380

7481
VcVersion=VC7

hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
307307
assert(a_byte == *start++, "should be the same code");
308308
}
309309
#endif
310-
} else if (_id == load_mirror_id) {
310+
} else if (_id == load_mirror_id || _id == load_appendix_id) {
311311
// produce a copy of the load mirror instruction for use by the being initialized case
312312
#ifdef ASSERT
313313
address start = __ pc();
@@ -384,6 +384,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
384384
case access_field_id: target = Runtime1::entry_for(Runtime1::access_field_patching_id); break;
385385
case load_klass_id: target = Runtime1::entry_for(Runtime1::load_klass_patching_id); reloc_type = relocInfo::metadata_type; break;
386386
case load_mirror_id: target = Runtime1::entry_for(Runtime1::load_mirror_patching_id); reloc_type = relocInfo::oop_type; break;
387+
case load_appendix_id: target = Runtime1::entry_for(Runtime1::load_appendix_patching_id); reloc_type = relocInfo::oop_type; break;
387388
default: ShouldNotReachHere();
388389
}
389390
__ bind(call_patch);
@@ -397,7 +398,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
397398
ce->add_call_info_here(_info);
398399
__ br(Assembler::always, false, Assembler::pt, _patch_site_entry);
399400
__ delayed()->nop();
400-
if (_id == load_klass_id || _id == load_mirror_id) {
401+
if (_id == load_klass_id || _id == load_mirror_id || _id == load_appendix_id) {
401402
CodeSection* cs = __ code_section();
402403
address pc = (address)_pc_start;
403404
RelocIterator iter(cs, pc, pc + 1);

hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -520,7 +520,7 @@ void LIR_Assembler::jobject2reg(jobject o, Register reg) {
520520
void LIR_Assembler::jobject2reg_with_patching(Register reg, CodeEmitInfo *info) {
521521
// Allocate a new index in table to hold the object once it's been patched
522522
int oop_index = __ oop_recorder()->allocate_oop_index(NULL);
523-
PatchingStub* patch = new PatchingStub(_masm, PatchingStub::load_mirror_id, oop_index);
523+
PatchingStub* patch = new PatchingStub(_masm, patching_id(info), oop_index);
524524

525525
AddressLiteral addrlit(NULL, oop_Relocation::spec(oop_index));
526526
assert(addrlit.rspec().type() == relocInfo::oop_type, "must be an oop reloc");

hotspot/src/cpu/sparc/vm/c1_Runtime1_sparc.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,12 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
804804
}
805805
break;
806806

807+
case load_appendix_patching_id:
808+
{ __ set_info("load_appendix_patching", dont_gc_arguments);
809+
oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_appendix_patching));
810+
}
811+
break;
812+
807813
case dtrace_object_alloc_id:
808814
{ // O0: object
809815
__ set_info("dtrace_object_alloc", dont_gc_arguments);

hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
402402
case access_field_id: target = Runtime1::entry_for(Runtime1::access_field_patching_id); break;
403403
case load_klass_id: target = Runtime1::entry_for(Runtime1::load_klass_patching_id); reloc_type = relocInfo::metadata_type; break;
404404
case load_mirror_id: target = Runtime1::entry_for(Runtime1::load_mirror_patching_id); reloc_type = relocInfo::oop_type; break;
405+
case load_appendix_id: target = Runtime1::entry_for(Runtime1::load_appendix_patching_id); reloc_type = relocInfo::oop_type; break;
405406
default: ShouldNotReachHere();
406407
}
407408
__ bind(call_patch);
@@ -419,7 +420,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
419420
for (int j = __ offset() ; j < jmp_off + 5 ; j++ ) {
420421
__ nop();
421422
}
422-
if (_id == load_klass_id || _id == load_mirror_id) {
423+
if (_id == load_klass_id || _id == load_mirror_id || _id == load_appendix_id) {
423424
CodeSection* cs = __ code_section();
424425
RelocIterator iter(cs, (address)_pc_start, (address)(_pc_start + 1));
425426
relocInfo::change_reloc_info_for_address(&iter, (address) _pc_start, reloc_type, relocInfo::none);

hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ int LIR_Assembler::check_icache() {
362362

363363
void LIR_Assembler::jobject2reg_with_patching(Register reg, CodeEmitInfo* info) {
364364
jobject o = NULL;
365-
PatchingStub* patch = new PatchingStub(_masm, PatchingStub::load_mirror_id);
365+
PatchingStub* patch = new PatchingStub(_masm, patching_id(info));
366366
__ movoop(reg, o);
367367
patching_epilog(patch, lir_patch_normal, reg, info);
368368
}

hotspot/src/cpu/x86/vm/c1_Runtime1_x86.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,6 +1499,13 @@ OopMapSet* Runtime1::generate_code_for(StubID id, StubAssembler* sasm) {
14991499
}
15001500
break;
15011501

1502+
case load_appendix_patching_id:
1503+
{ StubFrame f(sasm, "load_appendix_patching", dont_gc_arguments);
1504+
// we should set up register map
1505+
oop_maps = generate_patching(sasm, CAST_FROM_FN_PTR(address, move_appendix_patching));
1506+
}
1507+
break;
1508+
15021509
case dtrace_object_alloc_id:
15031510
{ // rax,: object
15041511
StubFrame f(sasm, "dtrace_object_alloc", dont_gc_arguments);

0 commit comments

Comments
 (0)