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

8305895: Implementation: JEP 450: Compact Object Headers (Experimental) #13961

Closed
wants to merge 112 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
619e3fa
8305898: Alternative self-forwarding mechanism
rkennke May 3, 2023
7dca17a
Replace uses of decode_pointer() with forwardee()
rkennke May 3, 2023
d6c0bd0
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 3, 2023
0d066ea
Merge branch 'JDK-8305896' into JDK-8305898
May 4, 2023
efb08a6
Use forwardee() in forward_to_atomic() method
May 4, 2023
909a810
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 4, 2023
b9c8ca0
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 4, 2023
ba3e684
8305895: Implementation: JEP: Compact Object Headers (Experimental)
rkennke May 5, 2023
146c815
x86 parts
May 6, 2023
2850ce8
x86_32 build fixes
rkennke May 6, 2023
2bb8782
Zero build fix
rkennke May 6, 2023
d885810
Fix release builds
rkennke May 6, 2023
34d6a5b
Dummy impls for unsupported platforms
rkennke May 6, 2023
8c19ca2
Remove mistake
rkennke May 6, 2023
f1da451
Disable part of oop verification with compact headers
rkennke May 6, 2023
1ace1a2
SA implementation
rkennke May 7, 2023
f0dfd1c
CDS support
rkennke May 7, 2023
2d45015
Various little fixes
rkennke May 7, 2023
65f14d8
Turn off CDS when UseCompactObjectHeaders is not at default setting
rkennke May 7, 2023
e10140e
CDS fix
rkennke May 7, 2023
36453f5
SA fix
rkennke May 7, 2023
2d20bd3
Fix OldLayoutCheck test
rkennke May 7, 2023
23d1b59
Fix typeArrayOop gtest
rkennke May 7, 2023
1245588
Turn off UseCompactObjectHeaders by default
May 7, 2023
e89f70f
Check UseCompactObjectHeaders flag in TestPLABPromotion
rkennke May 8, 2023
d2e70c7
Add BaseOffsets test
rkennke May 8, 2023
85529de
Some GC fixes
rkennke May 8, 2023
7b87ae9
Imporve GetObjectSizeIntrinsicsTest
rkennke May 8, 2023
ab4aea0
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 8, 2023
15a8626
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 8, 2023
05222a8
Merge branch 'JDK-8305898' into JDK-8305895
rkennke May 8, 2023
2d580f8
Use new lightweight locking with compact headers
rkennke May 8, 2023
a258413
Allow to resolve mark with LW locking
rkennke May 8, 2023
1313a45
Update src/hotspot/share/oops/oop.inline.hpp
rkennke May 9, 2023
06e555d
Update src/hotspot/share/oops/oop.inline.hpp
rkennke May 9, 2023
1d3e833
Update src/hotspot/share/oops/oop.inline.hpp
rkennke May 9, 2023
a559e8d
Update src/hotspot/share/oops/oop.inline.hpp
rkennke May 9, 2023
94e3d07
@shipilev suggestions
May 9, 2023
a142343
Merge branch 'JDK-8305896' into JDK-8305898
May 9, 2023
915c20b
Fix assert
May 9, 2023
6d39d57
Fix asserts (again)
May 9, 2023
eb04cd7
Update src/hotspot/share/oops/oop.inline.hpp
rkennke May 10, 2023
40c1b0b
Update src/hotspot/share/oops/oop.inline.hpp
rkennke May 10, 2023
4d9713c
Rename self-forwarded -> forward-failed
rkennke May 10, 2023
39c3372
Merge remote-tracking branch 'origin/JDK-8305898' into JDK-8305898
rkennke May 10, 2023
b39b71b
@shipilev comments, round 1
rkennke May 10, 2023
8761447
Fix build
rkennke May 10, 2023
48e8d10
@shipilev review, round 2
rkennke May 10, 2023
58046e5
Merge branch 'JDK-8305898' into JDK-8305895
rkennke May 10, 2023
0229792
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 10, 2023
0d43ed2
Merge branch 'JDK-8305898' into JDK-8305895
rkennke May 10, 2023
866771c
wqRevert "Rename self-forwarded -> forward-failed"
rkennke May 11, 2023
95341f0
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 11, 2023
7bd036a
Merge branch 'JDK-8305898' into JDK-8305895
rkennke May 11, 2023
698384e
More @shipilev comments
rkennke May 11, 2023
a725dfb
Move compact klass offset into C2
rkennke May 11, 2023
e7a0f67
Merge remote-tracking branch 'origin/JDK-8305895' into JDK-8305895
rkennke May 11, 2023
f281791
Fix args checking
May 11, 2023
d83ff0e
Fix some uses of klass_offset_in_bytes()
May 11, 2023
0334fe7
Re-format some hash-code related code-paths
rkennke May 12, 2023
07e1ede
Use plain mark() instead of mark_acquire()
rkennke May 12, 2023
32e00c2
Merge remote-tracking branch 'origin/JDK-8305895' into JDK-8305895
rkennke May 12, 2023
d44247c
Some hashcode improvements (mostly SA)
rkennke May 12, 2023
00f6d40
Remove obsolete code
rkennke May 12, 2023
5788eea
@colenp review comments
May 12, 2023
880d564
Merge branch 'JDK-8305896' into JDK-8305898
May 12, 2023
28276ed
Merge branch 'JDK-8305898' into JDK-8305895-v2
May 12, 2023
e660731
Disable CDS tests when running with +UseCompactObjectHeaders
May 12, 2023
5b4b07e
Handle klass offset in JVMCI
May 12, 2023
be314ff
Remove obsolete check
May 12, 2023
a6e9f10
Consolidate _LP64 #ifdef
rkennke May 12, 2023
6a9187a
Fix 32bit builds
rkennke May 12, 2023
69d469a
Properly deal with flag mismatch in CDS
rkennke May 12, 2023
4d947d9
Fix ZGC support
rkennke May 12, 2023
e7c2370
Merge remote-tracking branch 'origin/JDK-8305895-v2' into JDK-8305895-v2
rkennke May 12, 2023
d35cfb4
Fix tests on 32bit builds
rkennke May 13, 2023
5a03f81
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke May 13, 2023
4c2c30d
Fix and extend BaseOffsets test
rkennke May 15, 2023
3a18945
Optimize allocation path (fewer instructions) by @shipilev
rkennke May 15, 2023
5f60e0c
ZGC fixlets
rkennke May 15, 2023
9e934ba
Merge branch 'JDK-8305896' into JDK-8305898
rkennke May 17, 2023
4895ad8
Update comment about mark-word layout
rkennke May 17, 2023
c313fc8
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke May 17, 2023
efeee86
Adjust alt-forwarding tests to deal with product & experimental flag
rkennke May 17, 2023
3519da7
Merge branch 'JDK-8305896' into JDK-8305898
May 18, 2023
58d5a51
Merge branch 'JDK-8305898' into JDK-8305895-v2
May 18, 2023
0edc3eb
ZGC fix
May 18, 2023
3838ac0
Merge branch 'JDK-8305896' into JDK-8305898
Jun 16, 2023
a8c8cbc
Merge remote-tracking branch 'origin/JDK-8305898' into JDK-8305895-v2
rkennke Jun 19, 2023
a9773c1
Ensure safe Klass* access in G1 and ParGC promotion path
rkennke Jun 29, 2023
3d00c2b
Attempt to relax dst reg of loadNKlassCompact
rkennke Aug 10, 2023
cd5f237
Merge branch 'JDK-8305896' into JDK-8305898
rkennke Aug 11, 2023
c846c5a
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke Aug 11, 2023
7cc73c9
Fix merge error
rkennke Aug 12, 2023
4e6c15b
ZGC fixes
rkennke Aug 25, 2023
2a00d30
Merge branch 'JDK-8305896' into JDK-8305898
rkennke Aug 25, 2023
b934436
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke Aug 25, 2023
a76bc68
Fix CDS
rkennke Sep 19, 2023
f85554a
Missing include
Sep 20, 2023
1c0d91f
Cleanup and add asserts
Sep 21, 2023
dbb74fb
Merge branch 'JDK-8305896' into JDK-8305898
rkennke Sep 29, 2023
4b92a27
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke Sep 29, 2023
792d7f4
Revert C2 klass_offset changes
Oct 11, 2023
9202842
Make C2 LoadNKlassCompactHeader more robust
Oct 11, 2023
f08f147
Fix scale decoding
rkennke Oct 12, 2023
467ccb8
Adjust itable stub size estimate on aarch64
rkennke Oct 16, 2023
66051fd
Fix CDS tests with ZGC
rkennke Oct 16, 2023
365b4f8
8319724: [Lilliput] ParallelGC: Forwarded objects found during heap i…
rkennke Nov 9, 2023
eee8ab5
Merge branch 'JDK-8305896' into JDK-8305898
rkennke Nov 9, 2023
e1f118f
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke Nov 9, 2023
1a4dda1
Merge branch 'JDK-8305896' into JDK-8305898
rkennke Dec 11, 2023
c5a5b5c
Merge branch 'JDK-8305898' into JDK-8305895-v2
rkennke Dec 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Dummy impls for unsupported platforms
  • Loading branch information
rkennke committed May 6, 2023
commit 34d6a5b13cb70ccea5179a7019145f977fa5abe1
4 changes: 4 additions & 0 deletions src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,10 @@ void MonitorExitStub::emit_code(LIR_Assembler* ce) {
__ b(_continuation);
}

void LoadKlassStub::emit_code(LIR_Assembler* ce) {
// Currently not needed.
Unimplemented();
}

// Call return is directly after patch word
int PatchingStub::_patch_info_offset = 0;
Expand Down
4 changes: 4 additions & 0 deletions src/hotspot/cpu/ppc/c1_CodeStubs_ppc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,10 @@ void MonitorExitStub::emit_code(LIR_Assembler* ce) {
__ b(_continuation);
}

void LoadKlassStub::emit_code(LIR_Assembler* ce) {
// Currently not needed.
Unimplemented();
}

// Implementation of patching:
// - Copy the code at given offset to an inlined buffer (first the bytes, then the number of bytes).
Expand Down
5 changes: 5 additions & 0 deletions src/hotspot/cpu/riscv/c1_CodeStubs_riscv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,11 @@ void MonitorExitStub::emit_code(LIR_Assembler* ce) {
__ far_jump(RuntimeAddress(Runtime1::entry_for(exit_id)));
}

void LoadKlassStub::emit_code(LIR_Assembler* ce) {
// Currently not needed.
Unimplemented();
}

// Implementation of patching:
// - Copy the code at given offset to an inlined buffer (first the bytes, then the number of bytes)
// - Replace original code with a call to the stub
Expand Down
5 changes: 5 additions & 0 deletions src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,11 @@ void MonitorExitStub::emit_code(LIR_Assembler* ce) {
__ branch_optimized(Assembler::bcondAlways, _continuation);
}

void LoadKlassStub::emit_code(LIR_Assembler* ce) {
// Currently not needed.
Unimplemented();
}

// Implementation of patching:
// - Copy the code at given offset to an inlined buffer (first the bytes, then the number of bytes).
// - Replace original code with a call to the stub.
Expand Down
2 changes: 2 additions & 0 deletions src/hotspot/share/c1/c1_CodeStubs.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,7 @@ class ArrayCopyStub: public CodeStub {
#endif // PRODUCT
};

#if define(AARCH64) || defined(X86)
class LoadKlassStub: public CodeStub {
private:
LIR_Opr _result;
Expand All @@ -598,5 +599,6 @@ class LoadKlassStub: public CodeStub {
virtual void print_name(outputStream* out) const { out->print("LoadKlassStub"); }
#endif // PRODUCT
};
#endif

#endif // SHARE_C1_C1_CODESTUBS_HPP