Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge foreign-memaccess #296

Closed
wants to merge 80 commits into from
Closed
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
a0d6a8a
8251166: Add automated testcases for changes done in JDK-8214112
Aug 16, 2020
4264cd9
8251124: doclint errors about missing accessibility support in HTML f…
Aug 16, 2020
d634869
8249674: Redo: Nimbus JTree renderer properties persist across L&F ch…
trebari Aug 17, 2020
0cf76bd
8251125: doclint errors about missing references in Swing javadoc
trebari Aug 17, 2020
2ef8626
8239137: JAWS does not always announce the value of JSliders in JColo…
Aug 17, 2020
69c0df6
8250849: Address reliance on default constructors in the javax.swing.…
prsadhuk Aug 17, 2020
fbad5a0
8022535: [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails
mrserb Aug 17, 2020
a1c2933
8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java
mrserb Aug 17, 2020
f1e0780
8251930: Native types mismatch in hotspot
AntonKozlov Aug 18, 2020
d8d3cc3
8250851: Address reliance on default constructors in the javax.swing.…
prsadhuk Aug 19, 2020
e6a0c6c
8250852: Address reliance on default constructors in the javax.swing.…
prsadhuk Aug 19, 2020
fc19aa9
8200281: Add missing @Override annotations in ImageIO plugins
kkuabhis Aug 20, 2020
2847cd5
Merge
prsadhuk Aug 21, 2020
9d00332
8252127: Optimize sun.invoke.util.BytecodeDescriptor.unparse
dreis2211 Aug 21, 2020
fac22ce
8252043: Move inner class metaspace cleaning out of safepoint cleanup…
coleenp Aug 21, 2020
e56002c
8242263: Diagnose synchronization on primitive wrappers
pchilano Aug 21, 2020
fc0d883
8252149: Compilation error after JDK-8252043
coleenp Aug 21, 2020
fcd005c
8251527: CTW: C2 (Shenandoah) compilation fails with SEGV due to unha…
rwestrel Aug 19, 2020
4ee601c
8252128: Remove javax.transaction Exception references
Aug 21, 2020
d1ab20c
8252126: 'GVars.stw_random = os::random()' lost by JDK-8246476
Aug 21, 2020
5db57dc
8252125: add an "inflating" entry to the "table" of bit patterns in s…
Aug 21, 2020
ca6d638
8251384: [TESTBUG] jvmti tests should not be executed with minimal VM
Aug 21, 2020
31d108c
8251918: [Graal] Crash in DumpTimeSharedClassInfo::add_verification_c…
calvinccheung Aug 22, 2020
6612598
8251998: remove usage of PropertyResolvingWrapper in vmTestbase/jit/t
iignatev Aug 22, 2020
fb8ceae
Merge
prsadhuk Aug 22, 2020
56881d6
8249096: Clean up code for DumpLoadedClassList
yminqi Aug 22, 2020
e4eaa23
8252056: Move DumpRegion/ReadClosure/WriteClosure to archiveUtils.hpp
iklam Aug 23, 2020
97f8261
8252124: Restore Dynalink tests
szegedi Aug 23, 2020
8ce2053
8252186: remove FileInstaller action from vmTestbase/jit/graph tests
iignatev Aug 24, 2020
58a3e40
8251848: JMap.histo() and JMap.dump() should parse sub-arguments simi…
Aug 24, 2020
8ebe591
8252101: Add description of expected behavior of using "live" and "al…
Aug 24, 2020
eaedded
8248190: Enable Power10 system and implement new byte-reverse instruc…
Aug 25, 2020
d4626d8
8251542: Several small Javadoc errors in java.base
Vipin-Sharma Aug 25, 2020
9e6782d
8251988: jpackage --runtime-image fails on mac when using JDK11 based…
Aug 25, 2020
5585e6f
8251155: HostIdentifier fails to canonicalize hostnames starting with…
DamonFool Aug 5, 2020
afce1f4
8251203: Fix "no comment" warnings in java.base/java.lang and java/io
Aug 25, 2020
13c176b
8252058: [JVMCI] Rework setting is_method_handle_invoke flag in jvmci…
mur47x111 Aug 25, 2020
0ea0338
8252331: JDK-8252058 is causing failures in Tier1
Aug 25, 2020
52117c6
8251850: Refactor ResourceMark and DeoptResourceMark for better code …
Aug 26, 2020
c4bb35e
8249293: Unsafe stackwalk in VM_GetOrSetLocal::doit_prologue()
reinrich Jul 31, 2020
27b5007
8252290: Remove unused enum in CallGenerator
shipilev Aug 26, 2020
25af8d8
8252291: C2: Assignment in conditional in loopUnswitch.cpp
shipilev Aug 26, 2020
7856c1a
8252108: Modify nsk/stress/stack tests to check page size
nick-arm Aug 26, 2020
b4787e6
8252259: AArch64: Adjust default value of FLOATPRESSURE
Aug 26, 2020
0c20de1
8250598: Hyper-V is detected in spite of running on host OS
YaSuenag Aug 26, 2020
6c4a27c
8251093: Improve C1 register allocator logging and debugging support
chhagedorn Aug 26, 2020
b978ebe
8244386: convert runtime/Safepoint/AssertSafepointCheckConsistency te…
coleenp Aug 26, 2020
84e62e8
8252037: Optimized build is broken
chhagedorn Aug 26, 2020
55dd440
8230918: j.l.NASE in javap
Aug 26, 2020
0df797d
8238157: Remove intermittent key from AmazonCA.java
rhalade Aug 26, 2020
f879698
8241003: Deprecate "denigrated" java.security.cert APIs that represen…
seanjmullan Aug 26, 2020
88f93f3
8251561: Fix doclint warnings in the java.xml package
JoeWang-Java Aug 26, 2020
a6f41d5
8252151: Remove excessive inclusion of arguments.hpp
iklam Aug 26, 2020
d4e6262
8252398: minimal debug build broken - CURRENT_PC undefined in resourc…
iklam Aug 26, 2020
f586b6c
8252264: tools/javac/flags/LockedFlagClash.java fails to compile
DamonFool Aug 25, 2020
c98fd38
8251127: clean up FileInstaller $test.src $cwd in remaining vmTestbas…
iignatev Aug 27, 2020
84d2c26
8252296: Shenandoah: crash in CallNode::extract_projections
rwestrel Aug 25, 2020
7a702ae
Added tag jdk-16+13 for changeset fd07cdb26fc7
JesperIRL Aug 27, 2020
0483ff5
8252362: C2: Remove no-op checking for callee-saved-floats
shipilev Aug 27, 2020
124db3b
8252215: Remove VerifyOptoOopOffsets flag
shipilev Aug 27, 2020
c31bcc5
8252404: compiler/c1/TestTraceLinearScanLevel.java fails with release…
DamonFool Aug 27, 2020
0351595
8252223: ZGC: Convert ZPage to use delegating constructor
stefank Aug 27, 2020
16d8f5f
8252224: ZGC: Convert ZValue to use alias templates
stefank Aug 27, 2020
0831098
8247759: ZGC: Replace ZGC specific array implementations with Growabl…
stefank Aug 27, 2020
56d8e8a
8189744: Deprecate the JDK-specific API for setting socket options, j…
pconcannon Aug 27, 2020
6a85e14
8241486: G1/Z give warning when using LoopStripMiningIter and turn of…
rwestrel Aug 21, 2020
6ed221c
8251551: Use .md filename extension for README
edvbld Aug 27, 2020
01dc264
8251552: Add minimal CONTRIBUTING.md file
edvbld Aug 27, 2020
c663323
8252292: 8240795 may cause anti-dependence to be missed
rwestrel Aug 24, 2020
0504064
8237041: AssertionError in parsing
lahodaj Aug 27, 2020
edf36d9
8252467: AOT need to process new markId DEOPT_MH_HANDLER_ENTRY in com…
Aug 27, 2020
235ef8e
8252458: Test tools/javac/parser/JavacParserTest.java fails on Window…
lahodaj Aug 27, 2020
ba7f7fe
8251921: Expand default constructor warning to cover more cases
jddarcy Aug 27, 2020
9523001
8251557: Avoid dumping unused symbols/strings into the CDS archive
iklam Aug 28, 2020
4b1b547
8251538: Modernize and lint Dynalink code
szegedi Aug 28, 2020
13918a4
8252414: Redundant suspend check when determining if a java thread is…
robehn Aug 28, 2020
80d8891
8245462: HttpClient send throws InterruptedException when interrupted…
dfuch Aug 28, 2020
b02d9ac
Automatic merge of jdk:master into master
Aug 28, 2020
39e27c7
Automatic merge of master into foreign-memaccess
Aug 28, 2020
5d20d0c
Merge branch 'foreign-abi' into 49
JornVernee Sep 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
1 change: 1 addition & 0 deletions .hgtags
Original file line number Diff line number Diff line change
@@ -660,3 +660,4 @@ b01985b4f88f554f97901e53e1ba314681dd9c19 jdk-16+10
e3f940bd3c8fcdf4ca704c6eb1ac745d155859d5 jdk-15+36
5c18d696c7ce724ca36df13933aa53f50e12b9e0 jdk-16+11
fc8e62b399bd93d06e8d13dc3b384c450e853dcd jdk-16+12
fd07cdb26fc70243ef23d688b545514f4ddf1c2b jdk-16+13
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Contributing to the JDK

Please see <https://openjdk.java.net/contribute/> for how to contribute.
12 changes: 0 additions & 12 deletions README

This file was deleted.

11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Welcome to the JDK!

For build instructions please see the
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
or either of these files:

- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)

See <https://openjdk.java.net/> for more information about
the OpenJDK Community and the JDK.
2 changes: 2 additions & 0 deletions make/Docs.gmk
Original file line number Diff line number Diff line change
@@ -298,6 +298,8 @@ define SetupApiDocsGenerationBody
# Create a string like "-Xdoclint:all,-syntax,-html,..."
$1_OPTIONS += -Xdoclint:all,$$(call CommaList, $$(addprefix -, \
$$(JAVADOC_DISABLED_DOCLINT)))
# Ignore the doclint warnings in the W3C DOM package
$1_OPTIONS += -Xdoclint/package:-org.w3c.*

$1_DOC_TITLE := $$($1_LONG_NAME)<br>Version $$(VERSION_SPECIFICATION) API \
Specification
9 changes: 8 additions & 1 deletion src/hotspot/cpu/aarch64/aarch64.ad
Original file line number Diff line number Diff line change
@@ -3164,7 +3164,7 @@ encode %{
if (con < (address)(uintptr_t)os::vm_page_size()) {
__ mov(dst_reg, con);
} else {
uintptr_t offset;
uint64_t offset;
__ adrp(dst_reg, con, offset);
__ add(dst_reg, dst_reg, offset);
}
@@ -3516,6 +3516,13 @@ encode %{
// Load markWord from object into displaced_header.
__ ldr(disp_hdr, Address(oop, oopDesc::mark_offset_in_bytes()));

if (DiagnoseSyncOnPrimitiveWrappers != 0) {
__ load_klass(tmp, oop);
__ ldrw(tmp, Address(tmp, Klass::access_flags_offset()));
__ tstw(tmp, JVM_ACC_IS_BOX_CLASS);
__ br(Assembler::NE, cont);
}

if (UseBiasedLocking && !UseOptoBiasInlining) {
__ biased_locking_enter(box, oop, disp_hdr, tmp, true, cont);
}
4 changes: 2 additions & 2 deletions src/hotspot/cpu/aarch64/assembler_aarch64.cpp
Original file line number Diff line number Diff line change
@@ -1543,7 +1543,7 @@ void Address::lea(MacroAssembler *as, Register r) const {
}
}

void Assembler::adrp(Register reg1, const Address &dest, uintptr_t &byte_offset) {
void Assembler::adrp(Register reg1, const Address &dest, uint64_t &byte_offset) {
ShouldNotReachHere();
}

@@ -1714,7 +1714,7 @@ void Assembler::add_sub_immediate(Register Rd, Register Rn, unsigned uimm, int o

bool Assembler::operand_valid_for_add_sub_immediate(int64_t imm) {
bool shift = false;
uint64_t uimm = (uint64_t)uabs(imm);
uint64_t uimm = (uint64_t)uabs((jlong)imm);
if (uimm < (1 << 12))
return true;
if (uimm < (1 << 24)
10 changes: 8 additions & 2 deletions src/hotspot/cpu/aarch64/assembler_aarch64.hpp
Original file line number Diff line number Diff line change
@@ -380,9 +380,15 @@ class Address {
: _base(r), _index(noreg), _offset(0), _mode(base_plus_offset), _target(0) { }
Address(Register r, int o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, int64_t o)
Address(Register r, long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, uint64_t o)
Address(Register r, long long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned int o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned long long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
#ifdef ASSERT
Address(Register r, ByteSize disp)
15 changes: 11 additions & 4 deletions src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -73,11 +73,18 @@ int C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr
// save object being locked into the BasicObjectLock
str(obj, Address(disp_hdr, BasicObjectLock::obj_offset_in_bytes()));

null_check_offset = offset();

if (DiagnoseSyncOnPrimitiveWrappers != 0) {
load_klass(hdr, obj);
ldrw(hdr, Address(hdr, Klass::access_flags_offset()));
tstw(hdr, JVM_ACC_IS_BOX_CLASS);
br(Assembler::NE, slow_case);
}

if (UseBiasedLocking) {
assert(scratch != noreg, "should have scratch register at this point");
null_check_offset = biased_locking_enter(disp_hdr, obj, hdr, scratch, false, done, &slow_case);
} else {
null_check_offset = offset();
biased_locking_enter(disp_hdr, obj, hdr, scratch, false, done, &slow_case);
}

// Load object header
2 changes: 1 addition & 1 deletion src/hotspot/cpu/aarch64/c2_globals_aarch64.hpp
Original file line number Diff line number Diff line change
@@ -46,7 +46,7 @@ define_pd_global(intx, CompileThreshold, 10000);

define_pd_global(intx, OnStackReplacePercentage, 140);
define_pd_global(intx, ConditionalMoveLimit, 3);
define_pd_global(intx, FLOATPRESSURE, 64);
define_pd_global(intx, FLOATPRESSURE, 32);
define_pd_global(intx, FreqInlineSize, 325);
define_pd_global(intx, MinJumpTableSize, 10);
define_pd_global(intx, INTPRESSURE, 24);
7 changes: 7 additions & 0 deletions src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp
Original file line number Diff line number Diff line change
@@ -725,6 +725,13 @@ void InterpreterMacroAssembler::lock_object(Register lock_reg)
// Load object pointer into obj_reg %c_rarg3
ldr(obj_reg, Address(lock_reg, obj_offset));

if (DiagnoseSyncOnPrimitiveWrappers != 0) {
load_klass(tmp, obj_reg);
ldrw(tmp, Address(tmp, Klass::access_flags_offset()));
tstw(tmp, JVM_ACC_IS_BOX_CLASS);
br(Assembler::NE, slow_case);
}

if (UseBiasedLocking) {
biased_locking_enter(lock_reg, obj_reg, swap_reg, tmp, false, done, &slow_case);
}
90 changes: 43 additions & 47 deletions src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
Original file line number Diff line number Diff line change
@@ -389,7 +389,7 @@ void MacroAssembler::far_call(Address entry, CodeBuffer *cbuf, Register tmp) {
assert(CodeCache::find_blob(entry.target()) != NULL,
"destination of far call not found in code cache");
if (far_branches()) {
uintptr_t offset;
uint64_t offset;
// We can use ADRP here because we know that the total size of
// the code cache cannot exceed 2Gb.
adrp(tmp, entry, offset);
@@ -407,7 +407,7 @@ void MacroAssembler::far_jump(Address entry, CodeBuffer *cbuf, Register tmp) {
assert(CodeCache::find_blob(entry.target()) != NULL,
"destination of far call not found in code cache");
if (far_branches()) {
uintptr_t offset;
uint64_t offset;
// We can use ADRP here because we know that the total size of
// the code cache cannot exceed 2Gb.
adrp(tmp, entry, offset);
@@ -444,14 +444,14 @@ void MacroAssembler::reserved_stack_check() {
bind(no_reserved_zone_enabling);
}

int MacroAssembler::biased_locking_enter(Register lock_reg,
Register obj_reg,
Register swap_reg,
Register tmp_reg,
bool swap_reg_contains_mark,
Label& done,
Label* slow_case,
BiasedLockingCounters* counters) {
void MacroAssembler::biased_locking_enter(Register lock_reg,
Register obj_reg,
Register swap_reg,
Register tmp_reg,
bool swap_reg_contains_mark,
Label& done,
Label* slow_case,
BiasedLockingCounters* counters) {
assert(UseBiasedLocking, "why call this otherwise?");
assert_different_registers(lock_reg, obj_reg, swap_reg);

@@ -471,9 +471,7 @@ int MacroAssembler::biased_locking_enter(Register lock_reg,
// pointers to allow age to be placed into low bits
// First check to see whether biasing is even enabled for this object
Label cas_label;
int null_check_offset = -1;
if (!swap_reg_contains_mark) {
null_check_offset = offset();
ldr(swap_reg, mark_addr);
}
andr(tmp_reg, swap_reg, markWord::biased_lock_mask_in_place);
@@ -601,8 +599,6 @@ int MacroAssembler::biased_locking_enter(Register lock_reg,
}

bind(cas_label);

return null_check_offset;
}

void MacroAssembler::biased_locking_exit(Register obj_reg, Register temp_reg, Label& done) {
@@ -1503,7 +1499,7 @@ void MacroAssembler::movptr(Register r, uintptr_t imm64) {
#ifndef PRODUCT
{
char buffer[64];
snprintf(buffer, sizeof(buffer), "0x%" PRIX64, imm64);
snprintf(buffer, sizeof(buffer), "0x%" PRIX64, (uint64_t)imm64);
block_comment(buffer);
}
#endif
@@ -2583,43 +2579,43 @@ void MacroAssembler::debug64(char* msg, int64_t pc, int64_t regs[])
#endif
if (os::message_box(msg, "Execution stopped, print registers?")) {
ttyLocker ttyl;
tty->print_cr(" pc = 0x%016lx", pc);
tty->print_cr(" pc = 0x%016" PRIx64, pc);
#ifndef PRODUCT
tty->cr();
findpc(pc);
tty->cr();
#endif
tty->print_cr(" r0 = 0x%016lx", regs[0]);
tty->print_cr(" r1 = 0x%016lx", regs[1]);
tty->print_cr(" r2 = 0x%016lx", regs[2]);
tty->print_cr(" r3 = 0x%016lx", regs[3]);
tty->print_cr(" r4 = 0x%016lx", regs[4]);
tty->print_cr(" r5 = 0x%016lx", regs[5]);
tty->print_cr(" r6 = 0x%016lx", regs[6]);
tty->print_cr(" r7 = 0x%016lx", regs[7]);
tty->print_cr(" r8 = 0x%016lx", regs[8]);
tty->print_cr(" r9 = 0x%016lx", regs[9]);
tty->print_cr("r10 = 0x%016lx", regs[10]);
tty->print_cr("r11 = 0x%016lx", regs[11]);
tty->print_cr("r12 = 0x%016lx", regs[12]);
tty->print_cr("r13 = 0x%016lx", regs[13]);
tty->print_cr("r14 = 0x%016lx", regs[14]);
tty->print_cr("r15 = 0x%016lx", regs[15]);
tty->print_cr("r16 = 0x%016lx", regs[16]);
tty->print_cr("r17 = 0x%016lx", regs[17]);
tty->print_cr("r18 = 0x%016lx", regs[18]);
tty->print_cr("r19 = 0x%016lx", regs[19]);
tty->print_cr("r20 = 0x%016lx", regs[20]);
tty->print_cr("r21 = 0x%016lx", regs[21]);
tty->print_cr("r22 = 0x%016lx", regs[22]);
tty->print_cr("r23 = 0x%016lx", regs[23]);
tty->print_cr("r24 = 0x%016lx", regs[24]);
tty->print_cr("r25 = 0x%016lx", regs[25]);
tty->print_cr("r26 = 0x%016lx", regs[26]);
tty->print_cr("r27 = 0x%016lx", regs[27]);
tty->print_cr("r28 = 0x%016lx", regs[28]);
tty->print_cr("r30 = 0x%016lx", regs[30]);
tty->print_cr("r31 = 0x%016lx", regs[31]);
tty->print_cr(" r0 = 0x%016" PRIx64, regs[0]);
tty->print_cr(" r1 = 0x%016" PRIx64, regs[1]);
tty->print_cr(" r2 = 0x%016" PRIx64, regs[2]);
tty->print_cr(" r3 = 0x%016" PRIx64, regs[3]);
tty->print_cr(" r4 = 0x%016" PRIx64, regs[4]);
tty->print_cr(" r5 = 0x%016" PRIx64, regs[5]);
tty->print_cr(" r6 = 0x%016" PRIx64, regs[6]);
tty->print_cr(" r7 = 0x%016" PRIx64, regs[7]);
tty->print_cr(" r8 = 0x%016" PRIx64, regs[8]);
tty->print_cr(" r9 = 0x%016" PRIx64, regs[9]);
tty->print_cr("r10 = 0x%016" PRIx64, regs[10]);
tty->print_cr("r11 = 0x%016" PRIx64, regs[11]);
tty->print_cr("r12 = 0x%016" PRIx64, regs[12]);
tty->print_cr("r13 = 0x%016" PRIx64, regs[13]);
tty->print_cr("r14 = 0x%016" PRIx64, regs[14]);
tty->print_cr("r15 = 0x%016" PRIx64, regs[15]);
tty->print_cr("r16 = 0x%016" PRIx64, regs[16]);
tty->print_cr("r17 = 0x%016" PRIx64, regs[17]);
tty->print_cr("r18 = 0x%016" PRIx64, regs[18]);
tty->print_cr("r19 = 0x%016" PRIx64, regs[19]);
tty->print_cr("r20 = 0x%016" PRIx64, regs[20]);
tty->print_cr("r21 = 0x%016" PRIx64, regs[21]);
tty->print_cr("r22 = 0x%016" PRIx64, regs[22]);
tty->print_cr("r23 = 0x%016" PRIx64, regs[23]);
tty->print_cr("r24 = 0x%016" PRIx64, regs[24]);
tty->print_cr("r25 = 0x%016" PRIx64, regs[25]);
tty->print_cr("r26 = 0x%016" PRIx64, regs[26]);
tty->print_cr("r27 = 0x%016" PRIx64, regs[27]);
tty->print_cr("r28 = 0x%016" PRIx64, regs[28]);
tty->print_cr("r30 = 0x%016" PRIx64, regs[30]);
tty->print_cr("r31 = 0x%016" PRIx64, regs[31]);
BREAKPOINT;
}
}
39 changes: 12 additions & 27 deletions src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp
Original file line number Diff line number Diff line change
@@ -111,15 +111,11 @@ class MacroAssembler: public Assembler {
// tmp_reg must be supplied and must not be rscratch1 or rscratch2
// Optional slow case is for implementations (interpreter and C1) which branch to
// slow case directly. Leaves condition codes set for C2's Fast_Lock node.
// Returns offset of first potentially-faulting instruction for null
// check info (currently consumed only by C1). If
// swap_reg_contains_mark is true then returns -1 as it is assumed
// the calling code has already passed any potential faults.
int biased_locking_enter(Register lock_reg, Register obj_reg,
Register swap_reg, Register tmp_reg,
bool swap_reg_contains_mark,
Label& done, Label* slow_case = NULL,
BiasedLockingCounters* counters = NULL);
void biased_locking_enter(Register lock_reg, Register obj_reg,
Register swap_reg, Register tmp_reg,
bool swap_reg_contains_mark,
Label& done, Label* slow_case = NULL,
BiasedLockingCounters* counters = NULL);
void biased_locking_exit (Register obj_reg, Register temp_reg, Label& done);


@@ -493,31 +489,20 @@ class MacroAssembler: public Assembler {
// now mov instructions for loading absolute addresses and 32 or
// 64 bit integers

inline void mov(Register dst, address addr)
{
mov_immediate64(dst, (uint64_t)addr);
}
inline void mov(Register dst, address addr) { mov_immediate64(dst, (uint64_t)addr); }

inline void mov(Register dst, uint64_t imm64)
{
mov_immediate64(dst, imm64);
}
inline void mov(Register dst, int imm64) { mov_immediate64(dst, (uint64_t)imm64); }
inline void mov(Register dst, long imm64) { mov_immediate64(dst, (uint64_t)imm64); }
inline void mov(Register dst, long long imm64) { mov_immediate64(dst, (uint64_t)imm64); }
inline void mov(Register dst, unsigned int imm64) { mov_immediate64(dst, (uint64_t)imm64); }
inline void mov(Register dst, unsigned long imm64) { mov_immediate64(dst, (uint64_t)imm64); }
inline void mov(Register dst, unsigned long long imm64) { mov_immediate64(dst, (uint64_t)imm64); }

inline void movw(Register dst, uint32_t imm32)
{
mov_immediate32(dst, imm32);
}

inline void mov(Register dst, int64_t l)
{
mov(dst, (uint64_t)l);
}

inline void mov(Register dst, int i)
{
mov(dst, (int64_t)i);
}

void mov(Register dst, RegisterOrConstant src) {
if (src.is_register())
mov(dst, src.as_register());
1 change: 1 addition & 0 deletions src/hotspot/cpu/aarch64/vm_version_aarch64.cpp
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@
#include "asm/macroAssembler.hpp"
#include "asm/macroAssembler.inline.hpp"
#include "memory/resourceArea.hpp"
#include "runtime/arguments.hpp"
#include "runtime/java.hpp"
#include "runtime/os.hpp"
#include "runtime/stubCodeGenerator.hpp"
Loading