Skip to content

Commit d7e78ea

Browse files
author
duke
committed
Added webrev for lilliput/20
1 parent 69ca58a commit d7e78ea

File tree

3 files changed

+3
-0
lines changed

3 files changed

+3
-0
lines changed

lilliput/20/09/commits.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"commit":{"message":"Merge branch 'master' into klass-from-header-c1"},"files":[{"filename":"src\/hotspot\/cpu\/aarch64\/c1_LIRAssembler_aarch64.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.hpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_Runtime1.cpp"},{"filename":"src\/hotspot\/share\/oops\/oop.cpp"},{"filename":"src\/hotspot\/share\/oops\/oop.inline.hpp"}],"sha":"6136cf9463eb0037de170184848089246952d524"},{"commit":{"message":"AArch64 implementation"},"files":[{"filename":"src\/hotspot\/cpu\/aarch64\/c1_CodeStubs_aarch64.cpp"},{"filename":"src\/hotspot\/cpu\/aarch64\/c1_LIRAssembler_aarch64.cpp"},{"filename":"src\/hotspot\/cpu\/aarch64\/c1_Runtime1_aarch64.cpp"}],"sha":"5dcd4b5534a7054182dfcc921aab84c2f400b88c"},{"commit":{"message":"Merge remote-tracking branch 'origin\/klass-from-header-c1' into klass-from-header-c1"},"files":[],"sha":"6b24f6c6564e1607c824ae1c2bda31cacd291c1b"},{"commit":{"message":"Merge remote-tracking branch 'upstream\/master' into klass-from-header-c1"},"files":[],"sha":"53996f2be96d27c71516f3320416bcce2af172f2"},{"commit":{"message":"Increase code size estimate"},"files":[],"sha":"2f2741dbef1ba2147bda2799bd28a0f66e641397"},{"commit":{"message":"Merge branch 'master' into klass-from-header-c1"},"files":[{"filename":"src\/hotspot\/cpu\/aarch64\/c1_LIRAssembler_aarch64.cpp"}],"sha":"8e6844bc91545da5f23be099c8f664d9ffa6266a"},{"commit":{"message":"Merge remote-tracking branch 'jdk-upstream\/master' into klass-from-header-c1"},"files":[{"filename":"src\/hotspot\/cpu\/aarch64\/c1_CodeStubs_aarch64.cpp"},{"filename":"src\/hotspot\/cpu\/arm\/c1_CodeStubs_arm.cpp"},{"filename":"src\/hotspot\/cpu\/ppc\/c1_CodeStubs_ppc.cpp"},{"filename":"src\/hotspot\/cpu\/s390\/c1_CodeStubs_s390.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.hpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"},{"filename":"src\/hotspot\/share\/oops\/oop.inline.hpp"}],"sha":"0a71eed560165b85fb71781358137d2f7f1c3de0"},{"commit":{"message":"Merge remote-tracking branch 'upstream\/master' into klass-from-header-c1"},"files":[],"sha":"747fa3d355220af98e4b006ea441bd926436d435"},{"commit":{"message":"Basic arm implementation"},"files":[{"filename":"src\/hotspot\/cpu\/arm\/c1_CodeStubs_arm.cpp"}],"sha":"0f0d8802bb174f0e3379f9ee3d3b5dbc44c8f45f"},{"commit":{"message":"Basic s390 implementation"},"files":[{"filename":"src\/hotspot\/cpu\/s390\/c1_CodeStubs_s390.cpp"}],"sha":"ab9f60369967548953259045a5a11cd2da7c6353"},{"commit":{"message":"Basic ppc implementation"},"files":[{"filename":"src\/hotspot\/cpu\/ppc\/c1_CodeStubs_ppc.cpp"}],"sha":"5a7c3efe19773e5bce1ffd5a697827ef9aa22bea"},{"commit":{"message":"Use long jump"},"files":[],"sha":"3dcd521579534f15b17d1b231b73c23738beff94"},{"commit":{"message":"Basic aarch64 implementation"},"files":[{"filename":"src\/hotspot\/cpu\/aarch64\/c1_CodeStubs_aarch64.cpp"}],"sha":"ee89ba25862c841820b557cd346ebc282d23bc2c"},{"commit":{"message":"Merge remote-tracking branch 'origin\/klass-from-header-c1' into klass-from-header-c1"},"files":[],"sha":"f7c0dfef09c7c5d6ce7a675e09b84609068f72eb"},{"commit":{"message":"Don't create load_klass C1 runtime call stub in 32bit builds"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"}],"sha":"7f89b3144306ba6ac8a4344dd2c24dae3060133b"},{"commit":{"message":"Merge branch 'master' into klass-from-header-c1"},"files":[{"filename":"src\/hotspot\/share\/oops\/oop.inline.hpp"}],"sha":"a04787d861445fb279456a5650009580b14fa055"},{"commit":{"message":"Revert unnecessary changes"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"}],"sha":"c0a9a50fdbc9f54b91d8d3bf26c2de80a4473beb"},{"commit":{"message":"Merge branch 'master' into klass-from-header-c1"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/share\/oops\/oop.inline.hpp"}],"sha":"9b753b9f571ea67b0046771d59212a1a60dfaa2d"},{"commit":{"message":"Merge branch 'master' into klass-from-header-c1"},"files":[],"sha":"a8e0c666f195685d32bb1021193e033edca50478"},{"commit":{"message":"Swap xchg and store_register() to avoid trashing the argument"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp"}],"sha":"a3a5c375bddb4909fb4cf14e2b6dc438c8723059"},{"commit":{"message":"Merge remote-tracking branch 'origin\/klass-from-header-c1' into klass-from-header-c1"},"files":[],"sha":"5f1299b58a70d6ed5e7a94c346960e064471076e"},{"commit":{"message":"Use xchg instead of push\/pop to preserve rax in load-klass runtime call stub"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_CodeStubs.hpp"}],"sha":"99f2e06b59d9ae1f4de606c78890e10e34095a87"},{"commit":{"message":"Merge remote-tracking branch 'upstream\/master' into klass-from-header-c1"},"files":[{"filename":"src\/hotspot\/share\/oops\/oop.cpp"}],"sha":"a53e845aea13ffae2b4102c273bd35a86c7cccb5"},{"commit":{"message":"Merge branch 'master' into klass-from-header-c1"},"files":[],"sha":"251f558d2871081815b33f9636beb4297f81aaed"},{"commit":{"message":"Make mark-load opaque in the LIR of load-klass"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.hpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"}],"sha":"ea0c483acb3eae23acab35ea6c5c955aa7f56155"},{"commit":{"message":"Use any register for getting the Klass* result, and shuffle slow-path regs accordingly"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"}],"sha":"8ae7b389de5b39d2ed052d2115d95909d4ad3a82"},{"commit":{"message":"Replace one more direct C1 klass-load with new routine to load from header"},"files":[],"sha":"782c3d81155d6699007bb62e70767c75048ed4af"},{"commit":{"message":"Use common runtime entry for interpreter and C1 load-klass slow-path"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"},{"filename":"src\/hotspot\/share\/oops\/oop.cpp"}],"sha":"4fed6a26e4697178e28da4c851ea12f4f76de0d9"},{"commit":{"message":"Revert unrelated changes"},"files":[],"sha":"fccb8d07a4064527191d91a9c311b48737763f70"},{"commit":{"message":"x86_32 implementation"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.hpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"}],"sha":"99e3f6a4b53d79bb2677ddf85c4be4e33349927a"},{"commit":{"message":"Remove obsolete code"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"}],"sha":"d128858d123a93ffd402c8271f8dc15880f1d284"},{"commit":{"message":"Replace remaining klass-loads in C1 with new code"},"files":[{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"}],"sha":"5c32158d98041db46145c8f586afea78897fabba"},{"commit":{"message":"Allocate klass register in rax to avoid thrashing it"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"},{"filename":"src\/hotspot\/share\/oops\/oop.cpp"}],"sha":"850fdc97b0bde0b91d53694ab9ec49d51fd18e9f"},{"commit":{"message":"Load Klass* from header, C1 impl"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_CodeStubs.hpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIR.hpp"},{"filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_Runtime1.cpp"},{"filename":"src\/hotspot\/share\/c1\/c1_Runtime1.hpp"},{"filename":"src\/hotspot\/share\/oops\/oop.cpp"}],"sha":"90ede727bde263fc727486a556ebdf2587c03a7a"},{"commit":{"message":"Emit null-checks before load_klass with correct offset"},"files":[{"filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp"},{"filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp"}],"sha":"dc73c69478d9bd1ee6e8a5163f6991f24f09c052"},{"commit":{"message":"Use constant instead of literal in xor-test-sequence"},"files":[],"sha":"a7ac46c02b60367fe5a5dfc68f1bcd607efe991e"},{"commit":{"message":"Update comment about xorb\/xorq encoding"},"files":[],"sha":"99f9a36bd246c352dc59431cae25e477f9f4b583"},{"commit":{"message":"Load Klass* from header in interpreter (x86)"},"files":[{"filename":"src\/hotspot\/share\/oops\/oop.cpp"}],"sha":"444464a17f07f3a96db7a670d3a364f50320b901"}]

lilliput/20/09/comparison.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"files":[{"patch":"@@ -256,0 +256,14 @@\n+void LoadKlassStub::emit_code(LIR_Assembler* ce) {\n+ __ bind(_entry);\n+ Register res = _result->as_register();\n+ ce->store_parameter(_obj->as_register(), 0);\n+ if (res != r0) {\n+ __ push(RegSet::of(r0), sp);\n+ }\n+ __ far_jump(RuntimeAddress(Runtime1::entry_for(Runtime1::load_klass_id)));\n+ if (res != r0) {\n+ __ mov(res, r0);\n+ __ pop(RegSet::of(r0), sp);\n+ }\n+ __ b(_continuation);\n+}\n","filename":"src\/hotspot\/cpu\/aarch64\/c1_CodeStubs_aarch64.cpp","additions":14,"deletions":0,"binary":false,"changes":14,"status":"modified"},{"patch":"@@ -2591,0 +2591,1 @@\n+ Register tmp = rscratch1;\n@@ -2597,6 +2598,14 @@\n- if (UseCompressedClassPointers) {\n- __ ldrw(result, Address (obj, oopDesc::klass_offset_in_bytes()));\n- __ decode_klass_not_null(result);\n- } else {\n- __ ldr(result, Address (obj, oopDesc::klass_offset_in_bytes()));\n- }\n+ assert(UseCompressedClassPointers, \"expects UseCompressedClassPointers\");\n+\n+ \/\/ Check if we can take the (common) fast path, if obj is unlocked.\n+ __ ldr(tmp, Address(obj, oopDesc::mark_offset_in_bytes()));\n+ __ eor(tmp, tmp, markWord::unlocked_value);\n+ __ tst(tmp, markWord::lock_mask_in_place);\n+ __ br(Assembler::NE, *op->stub()->entry());\n+\n+ \/\/ Fast-path: shift and decode Klass*.\n+ __ mov(result, tmp);\n+ __ lsr(result, result, markWord::klass_shift);\n+ __ decode_klass_not_null(result);\n+\n+ __ bind(*op->stub()->continuation());\n","filename":"src\/hotspot\/cpu\/aarch64\/c1_LIRAssembler_aarch64.cpp","additions":15,"deletions":6,"binary":false,"changes":21,"status":"modified"},{"patch":"@@ -276,2 +276,2 @@\n-static OopMap* save_live_registers(StubAssembler* sasm,\n- bool save_fpu_registers = true) {\n+static void save_live_registers_no_oop_map(StubAssembler* sasm,\n+ bool save_fpu_registers = true) {\n@@ -291,0 +291,1 @@\n+}\n@@ -292,0 +293,3 @@\n+static OopMap* save_live_registers(StubAssembler* sasm,\n+ bool save_fpu_registers = true) {\n+ save_live_registers_no_oop_map(sasm, save_fpu_registers);\n@@ -718,0 +722,10 @@\n+ case load_klass_id:\n+ {\n+ StubFrame f(sasm, \"load_klass\", dont_gc_arguments);\n+ save_live_registers_no_oop_map(sasm, true);\n+ f.load_argument(0, r0); \/\/ obj\n+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, oopDesc::load_klass_runtime), r0);\n+ restore_live_registers_except_r0(sasm, true);\n+ }\n+ break;\n+\n","filename":"src\/hotspot\/cpu\/aarch64\/c1_Runtime1_aarch64.cpp","additions":16,"deletions":2,"binary":false,"changes":18,"status":"modified"},{"patch":"@@ -246,0 +246,3 @@\n+void LoadKlassStub::emit_code(LIR_Assembler* ce) {\n+ \/\/ Currently not needed.\n+}\n","filename":"src\/hotspot\/cpu\/arm\/c1_CodeStubs_arm.cpp","additions":3,"deletions":0,"binary":false,"changes":3,"status":"modified"},{"patch":"@@ -322,0 +322,3 @@\n+void LoadKlassStub::emit_code(LIR_Assembler* ce) {\n+ \/\/ Currently not needed.\n+}\n","filename":"src\/hotspot\/cpu\/ppc\/c1_CodeStubs_ppc.cpp","additions":3,"deletions":0,"binary":false,"changes":3,"status":"modified"},{"patch":"@@ -273,0 +273,4 @@\n+void LoadKlassStub::emit_code(LIR_Assembler* ce) {\n+ \/\/ Currently not needed.\n+}\n+\n","filename":"src\/hotspot\/cpu\/s390\/c1_CodeStubs_s390.cpp","additions":4,"deletions":0,"binary":false,"changes":4,"status":"modified"},{"patch":"@@ -303,0 +303,16 @@\n+void LoadKlassStub::emit_code(LIR_Assembler* ce) {\n+ __ bind(_entry);\n+ Register res = _result->as_register();\n+ ce->store_parameter(_obj->as_register(), 0);\n+ if (res != rax) {\n+ \/\/ This preserves rax and allows it to be used as return-register,\n+ \/\/ without messing with the stack.\n+ __ xchgptr(rax, res);\n+ }\n+ __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::load_klass_id)));\n+ if (res != rax) {\n+ \/\/ Swap back rax, and move result to correct register.\n+ __ xchgptr(rax, res);\n+ }\n+ __ jmp(_continuation);\n+}\n","filename":"src\/hotspot\/cpu\/x86\/c1_CodeStubs_x86.cpp","additions":16,"deletions":0,"binary":false,"changes":16,"status":"modified"},{"patch":"@@ -3528,5 +3528,0 @@\n- CodeEmitInfo* info = op->info();\n- if (info != NULL) {\n- add_debug_info_for_null_check_here(info);\n- }\n-\n@@ -3534,4 +3529,19 @@\n- if (UseCompressedClassPointers) {\n- __ movl(result, Address(obj, oopDesc::klass_offset_in_bytes()));\n- __ decode_klass_not_null(result, rscratch1);\n- } else\n+ Register tmp = rscratch1;\n+ assert_different_registers(tmp, obj);\n+ assert_different_registers(tmp, result);\n+\n+ if (op->info() != NULL) {\n+ add_debug_info_for_null_check_here(op->info());\n+ }\n+ \/\/ Check if we can take the (common) fast path, if obj is unlocked.\n+ __ movq(tmp, Address(obj, oopDesc::mark_offset_in_bytes()));\n+ __ xorq(tmp, markWord::unlocked_value);\n+ __ testb(tmp, markWord::lock_mask_in_place);\n+ __ jcc(Assembler::notZero, *op->stub()->entry());\n+\n+ \/\/ Fast-path: shift and decode Klass*.\n+ __ movq(result, tmp);\n+ __ shrq(result, markWord::klass_shift);\n+ __ decode_klass_not_null(result, tmp);\n+#else\n+ __ load_klass(result, obj, noreg \/*not needed*\/);\n@@ -3539,1 +3549,0 @@\n- __ movptr(result, Address(obj, oopDesc::klass_offset_in_bytes()));\n","filename":"src\/hotspot\/cpu\/x86\/c1_LIRAssembler_x86.cpp","additions":19,"deletions":10,"binary":false,"changes":29,"status":"modified"},{"patch":"@@ -1114,1 +1114,11 @@\n-\n+#ifdef _LP64\n+ case load_klass_id:\n+ {\n+ StubFrame f(sasm, \"load_klass\", dont_gc_arguments);\n+ sasm->save_live_registers_no_oop_map(true);\n+ f.load_argument(0, c_rarg0); \/\/ obj\n+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, oopDesc::load_klass_runtime), c_rarg0);\n+ sasm->restore_live_registers_except_rax(true);\n+ }\n+ break;\n+#endif\n","filename":"src\/hotspot\/cpu\/x86\/c1_Runtime1_x86.cpp","additions":11,"deletions":1,"binary":false,"changes":12,"status":"modified"},{"patch":"@@ -552,0 +552,19 @@\n+class LoadKlassStub: public CodeStub {\n+private:\n+ LIR_Opr _obj;\n+ LIR_Opr _result;\n+\n+public:\n+ LoadKlassStub(LIR_Opr obj, LIR_Opr result) :\n+ CodeStub(), _obj(obj), _result(result) {};\n+\n+ virtual void emit_code(LIR_Assembler* e);\n+ virtual void visit(LIR_OpVisitState* visitor) {\n+ visitor->do_input(_obj);\n+ visitor->do_output(_result);\n+ }\n+#ifndef PRODUCT\n+virtual void print_name(outputStream* out) const { out->print(\"LoadKlassStub\"); }\n+#endif \/\/ PRODUCT\n+};\n+\n","filename":"src\/hotspot\/share\/c1\/c1_CodeStubs.hpp","additions":19,"deletions":0,"binary":false,"changes":19,"status":"modified"},{"patch":"@@ -885,0 +885,1 @@\n+ do_stub(opLoadKlass->_stub);\n@@ -1061,0 +1062,1 @@\n+ masm->append_code_stub(stub());\n@@ -1981,0 +1983,1 @@\n+ out->print(\"[lbl:\" INTPTR_FORMAT \"]\", p2i(stub()->entry()));\n","filename":"src\/hotspot\/share\/c1\/c1_LIR.cpp","additions":3,"deletions":0,"binary":false,"changes":3,"status":"modified"},{"patch":"@@ -1831,0 +1831,1 @@\n+ CodeStub* _stub;\n@@ -1832,1 +1833,1 @@\n- LIR_OpLoadKlass(LIR_Opr obj, LIR_Opr result, CodeEmitInfo* info)\n+ LIR_OpLoadKlass(LIR_Opr obj, LIR_Opr result, CodeEmitInfo* info, CodeStub* stub)\n@@ -1835,1 +1836,1 @@\n- {}\n+ , _stub(stub) {}\n@@ -1838,0 +1839,1 @@\n+ CodeStub* stub() const { return _stub; }\n@@ -2286,1 +2288,1 @@\n- void load_klass(LIR_Opr obj, LIR_Opr result, CodeEmitInfo* info) { append(new LIR_OpLoadKlass(obj, result, info)); }\n+ void load_klass(LIR_Opr obj, LIR_Opr result, CodeEmitInfo* info, CodeStub* stub) { append(new LIR_OpLoadKlass(obj, result, info, stub)); }\n","filename":"src\/hotspot\/share\/c1\/c1_LIR.hpp","additions":5,"deletions":3,"binary":false,"changes":8,"status":"modified"},{"patch":"@@ -1235,1 +1235,3 @@\n- __ load_klass(obj, klass, null_check_info);\n+ CodeStub* slow_path = new LoadKlassStub(obj, klass);\n+ __ load_klass(obj, klass, null_check_info, slow_path);\n+ __ branch_destination(slow_path->continuation());\n","filename":"src\/hotspot\/share\/c1\/c1_LIRGenerator.cpp","additions":3,"deletions":1,"binary":false,"changes":4,"status":"modified"},{"patch":"@@ -241,0 +241,1 @@\n+ case load_klass_id:\n","filename":"src\/hotspot\/share\/c1\/c1_Runtime1.cpp","additions":1,"deletions":0,"binary":false,"changes":1,"status":"modified"},{"patch":"@@ -66,0 +66,1 @@\n+ stub(load_klass) \\\n","filename":"src\/hotspot\/share\/c1\/c1_Runtime1.hpp","additions":1,"deletions":0,"binary":false,"changes":1,"status":"modified"},{"patch":"@@ -180,1 +180,4 @@\n- return oop(o)->klass();\n+ oop obj = oop(o);\n+ assert(oopDesc::is_oop(obj), \"need a valid oop here: \" PTR_FORMAT, p2i(o));\n+ Klass* klass = obj->klass();\n+ return klass;\n","filename":"src\/hotspot\/share\/oops\/oop.cpp","additions":4,"deletions":1,"binary":false,"changes":5,"status":"modified"},{"patch":"@@ -377,0 +377,1 @@\n+ assert(header.is_marked(), \"only decode when actually forwarded\");\n","filename":"src\/hotspot\/share\/oops\/oop.inline.hpp","additions":1,"deletions":0,"binary":false,"changes":1,"status":"modified"}]}

lilliput/20/09/metadata.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"head":{"repo":{"full_name":"rkennke\/lilliput","html_url":"https:\/\/github.com\/rkennke\/lilliput"},"sha":"6136cf9463eb0037de170184848089246952d524"},"created_at":"2021-12-22T19:49:06.063672435Z","base":{"repo":{"full_name":"openjdk\/lilliput","html_url":"https:\/\/git.openjdk.java.net\/lilliput"},"sha":"e8ff7a0f142eaf91af802380da65fe9cef024e1b"}}

0 commit comments

Comments
 (0)