Skip to content

Commit 2a8e3b8

Browse files
author
Vladimir Kozlov
committed
8382174: Clarify the meaning of address cast in ADD() macro
Reviewed-by: aseoane, adinn, asmehra, dfenacci
1 parent 5acbf8b commit 2a8e3b8

17 files changed

Lines changed: 93 additions & 73 deletions

src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12825,7 +12825,7 @@ class StubGenerator: public StubCodeGenerator {
1282512825
#if INCLUDE_CDS
1282612826
static void init_AOTAddressTable(GrowableArray<address>& external_addresses) {
1282712827
// external data defined in this file
12828-
#define ADD(addr) external_addresses.append((address)addr);
12828+
#define ADD(addr) external_addresses.append((address)(addr));
1282912829
ADD(_sha256_round_consts);
1283012830
ADD(_sha512_round_consts);
1283112831
ADD(_sha3_round_consts);

src/hotspot/cpu/aarch64/stubRoutines_aarch64.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -435,10 +435,8 @@ void StubRoutines::init_AOTAddressTable() {
435435
AOTCodeCache::publish_external_addresses(external_addresses);
436436
}
437437

438-
439-
#define ADD(addr) external_addresses.append((address)addr);
440-
441438
void StubRoutines::aarch64::init_AOTAddressTable(GrowableArray<address>& external_addresses) {
439+
#define ADD(addr) external_addresses.append((address)(addr));
442440
ADD(_kyberConsts);
443441
ADD(_dilithiumConsts);
444442
// this is added in generic code
@@ -449,7 +447,6 @@ void StubRoutines::aarch64::init_AOTAddressTable(GrowableArray<address>& externa
449447
ADD(_dcos_coef);
450448
ADD(_two_over_pi);
451449
ADD(_pio2);
452-
}
453-
454450
#undef ADD
451+
}
455452
#endif // INCLUDE_CDS

src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ static jlong *double_signflip_pool = double_quadword(&fp_signmask_pool[4*2], (jl
7474
#if INCLUDE_CDS
7575
// publish external addresses defined in this file
7676
void LIR_Assembler::init_AOTAddressTable(GrowableArray<address>& external_addresses) {
77-
#define ADD(addr) external_addresses.append((address)addr);
77+
#define ADD(addr) external_addresses.append((address)(addr));
7878
ADD(float_signmask_pool);
7979
ADD(double_signmask_pool);
8080
ADD(float_signflip_pool);

src/hotspot/cpu/x86/stubGenerator_x86_64_constants.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,9 @@ void StubGenerator::init_AOTAddressTable_constants(GrowableArray<address>& exter
247247
ADD(_SC_2);
248248
ADD(_SC_3);
249249
ADD(_SC_4);
250-
ADD(_PI_4);
251-
ADD(((address)_PI_4+8));
250+
// Use value which was already cast to (address): StubGenerator::PI_4;
251+
ADD(PI_4);
252+
ADD(PI_4 + 8);
252253
ADD(_PI32INV);
253254
ADD(_NEG_ZERO);
254255
ADD(_P_1);

src/hotspot/cpu/x86/stubGenerator_x86_64_exp.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -397,13 +397,14 @@ address StubGenerator::generate_libmExp() {
397397

398398
#if INCLUDE_CDS
399399
void StubGenerator::init_AOTAddressTable_exp(GrowableArray<address>& external_addresses) {
400-
#define ADD(addr) external_addresses.append((address)addr);
401-
ADD(_cv);
402-
ADD(((address)_cv+16));
403-
ADD(((address)_cv+32));
404-
ADD(((address)_cv+48));
405-
ADD(((address)_cv+64));
406-
ADD(((address)_cv+80));
400+
#define ADD(addr) external_addresses.append((address)(addr));
401+
address cv = (address)_cv;
402+
ADD(cv);
403+
ADD(cv + 16);
404+
ADD(cv + 32);
405+
ADD(cv + 48);
406+
ADD(cv + 64);
407+
ADD(cv + 80);
407408
ADD(_mmask);
408409
ADD(_bias);
409410
ADD(_Tbl_addr);

src/hotspot/cpu/x86/stubGenerator_x86_64_fmod.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ address StubGenerator::generate_libmFmod() {
537537

538538
#if INCLUDE_CDS
539539
void StubGenerator::init_AOTAddressTable_fmod(GrowableArray<address>& external_addresses) {
540-
#define ADD(addr) external_addresses.append((address)addr);
540+
#define ADD(addr) external_addresses.append((address)(addr));
541541
ADD(CONST_NaN);
542542
ADD(CONST_1p260);
543543
ADD(CONST_MAX);

src/hotspot/cpu/x86/stubGenerator_x86_64_ghash.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ void StubGenerator::generateHtbl_eight_blocks(Register htbl) {
558558

559559
#if INCLUDE_CDS
560560
void StubGenerator::init_AOTAddressTable_ghash(GrowableArray<address>& external_addresses) {
561-
#define ADD(addr) external_addresses.append((address)addr);
561+
#define ADD(addr) external_addresses.append((address)(addr));
562562
ADD(GHASH_SHUFFLE_MASK);
563563
ADD(GHASH_LONG_SWAP_MASK);
564564
ADD(GHASH_BYTE_SWAP_MASK);

src/hotspot/cpu/x86/stubGenerator_x86_64_log.cpp

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -729,22 +729,28 @@ address StubGenerator::generate_libmLog10() {
729729

730730
#if INCLUDE_CDS
731731
void StubGenerator::init_AOTAddressTable_log(GrowableArray<address>& external_addresses) {
732-
#define ADD(addr) external_addresses.append((address)addr);
732+
#define ADD(addr) external_addresses.append((address)(addr));
733+
address log2 = (address)_log2;
734+
address coeff = (address)_coeff;
735+
address LOG10_E = (address)_LOG10_E;
736+
address log2_log10 = (address)_log2_log10;
737+
address coeff_log10 = (address)_coeff_log10;
738+
733739
ADD(_L_tbl);
734-
ADD(_log2);
735-
ADD(((address)_log2+8));
736-
ADD(_coeff);
737-
ADD(((address)_coeff+16));
738-
ADD(((address)_coeff+32));
740+
ADD(log2);
741+
ADD(log2 + 8);
742+
ADD(coeff);
743+
ADD(coeff + 16);
744+
ADD(coeff + 32);
739745
ADD(_HIGHSIGMASK_log10);
740-
ADD(_LOG10_E);
741-
ADD(((address)_LOG10_E+8));
746+
ADD(LOG10_E);
747+
ADD(LOG10_E + 8);
742748
ADD(_L_tbl_log10);
743-
ADD(_log2_log10);
744-
ADD(((address)_log2_log10+8));
745-
ADD(_coeff_log10);
746-
ADD(((address)_coeff_log10+16));
747-
ADD(((address)_coeff_log10+32));
749+
ADD(log2_log10);
750+
ADD(log2_log10 + 8);
751+
ADD(coeff_log10);
752+
ADD(coeff_log10 + 16);
753+
ADD(coeff_log10 + 32);
748754
#undef ADD
749755
}
750756
#endif // INCLUDE_CDS

src/hotspot/cpu/x86/stubGenerator_x86_64_poly1305.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1709,7 +1709,7 @@ void StubGenerator::poly1305_msg_mul_reduce_vec4_avx2(
17091709

17101710
#if INCLUDE_CDS
17111711
void StubGenerator::init_AOTAddressTable_poly1305(GrowableArray<address>& external_addresses) {
1712-
#define ADD(addr) external_addresses.append((address)addr);
1712+
#define ADD(addr) external_addresses.append((address)(addr));
17131713
ADD(POLY1305_PAD_MSG);
17141714
ADD(POLY1305_MASK42);
17151715
ADD(POLY1305_MASK44);

src/hotspot/cpu/x86/stubGenerator_x86_64_poly_mont.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@ address StubGenerator::generate_intpoly_assign() {
788788

789789
#if INCLUDE_CDS
790790
void StubGenerator::init_AOTAddressTable_poly_mont(GrowableArray<address>& external_addresses) {
791-
#define ADD(addr) external_addresses.append((address)addr);
791+
#define ADD(addr) external_addresses.append((address)(addr));
792792
// use accessors to retrieve all correct addresses
793793
ADD(shift_1L());
794794
ADD(shift_1R());

0 commit comments

Comments
 (0)