+{"files":[{"patch":"@@ -191,0 +191,1 @@\n+ IncompressibleRegion ir(this); \\\n","filename":"src\/hotspot\/cpu\/riscv\/assembler_riscv.cpp","additions":1,"deletions":0,"binary":false,"changes":1,"status":"modified"},{"patch":"@@ -442,1 +442,2 @@\n- relocate(InternalAddress(dest).rspec());\n+ relocate(InternalAddress(dest).rspec()); \\\n+ IncompressibleRegion ir(this); \/* relocations *\/\n@@ -488,0 +489,1 @@\n+ IncompressibleRegion ir(this); \\\n@@ -562,0 +564,1 @@\n+ IncompressibleRegion ir(this); \\\n@@ -705,0 +708,1 @@\n+ IncompressibleRegion ir(this); \\\n@@ -748,0 +752,1 @@\n+ IncompressibleRegion ir(this); \\\n@@ -2056,1 +2061,1 @@\n-\/\/ __ add(...); \/\/ this instruction will be compressed into 'c.and' when possible\n+\/\/ __ add(...); \/\/ this instruction will be compressed into 'c.add' when possible\n@@ -2062,1 +2067,1 @@\n-\/\/ __ add(...); \/\/ this instruction will be compressed into 'c.and' when possible\n+\/\/ __ add(...); \/\/ this instruction will be compressed into 'c.add' when possible\n@@ -2107,0 +2112,21 @@\n+public:\n+ \/\/ Emit a relocation.\n+ void relocate(RelocationHolder const& rspec, int format = 0) {\n+ AbstractAssembler::relocate(rspec, format);\n+ }\n+ void relocate(relocInfo::relocType rtype, int format = 0) {\n+ AbstractAssembler::relocate(rtype, format);\n+ }\n+ template <typename Callback>\n+ void relocate(RelocationHolder const& rspec, Callback emit_insts, int format = 0) {\n+ AbstractAssembler::relocate(rspec, format);\n+ IncompressibleRegion ir(this); \/\/ relocations\n+ emit_insts();\n+ }\n+ template <typename Callback>\n+ void relocate(relocInfo::relocType rtype, Callback emit_insts, int format = 0) {\n+ AbstractAssembler::relocate(rtype, format);\n+ IncompressibleRegion ir(this); \/\/ relocations\n+ emit_insts();\n+ }\n+\n@@ -3017,1 +3043,1 @@\n- Assembler(CodeBuffer* code) : AbstractAssembler(code), _in_compressible_region(false) {\n+ Assembler(CodeBuffer* code) : AbstractAssembler(code), _in_compressible_region(true) {\n","filename":"src\/hotspot\/cpu\/riscv\/assembler_riscv.hpp","additions":30,"deletions":4,"binary":false,"changes":34,"status":"modified"},{"patch":"@@ -90,3 +90,8 @@\n- int32_t off = 0;\n- __ la_patchable(ra, RuntimeAddress(Runtime1::entry_for(stub_id)), off);\n- __ jalr(ra, ra, off);\n+ RuntimeAddress target(Runtime1::entry_for(stub_id));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(ce->masm());\n+ int32_t offset;\n+ __ la_patchable(ra, target, offset);\n+ __ jalr(ra, ra, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/c1_CodeStubs_riscv.cpp","additions":8,"deletions":3,"binary":false,"changes":11,"status":"modified"},{"patch":"@@ -1425,3 +1425,7 @@\n- int32_t off = 0;\n- __ la_patchable(exceptionPC->as_register(), pc_for_athrow, off);\n- __ addi(exceptionPC->as_register(), exceptionPC->as_register(), off);\n+ {\n+ __ relocate(pc_for_athrow.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ __ la_patchable(exceptionPC->as_register(), pc_for_athrow, offset);\n+ __ addi(exceptionPC->as_register(), exceptionPC->as_register(), offset);\n+ }\n@@ -1841,3 +1845,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(dest), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(dest);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/c1_LIRAssembler_riscv.cpp","additions":15,"deletions":6,"binary":false,"changes":21,"status":"modified"},{"patch":"@@ -69,3 +69,8 @@\n- int32_t off = 0;\n- la_patchable(t0, RuntimeAddress(entry), off);\n- jalr(x1, t0, off);\n+ RuntimeAddress target(entry);\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t0, target, offset);\n+ jalr(x1, t0, offset);\n+ }\n@@ -565,3 +570,8 @@\n- int32_t off = 0;\n- __ la_patchable(t0, RuntimeAddress(target), off);\n- __ jalr(x1, t0, off);\n+ RuntimeAddress addr(target);\n+ {\n+ __ relocate(addr.rspec());\n+ Assembler::IncompressibleRegion ir(sasm);\n+ int32_t offset;\n+ __ la_patchable(t0, addr, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/c1_Runtime1_riscv.cpp","additions":16,"deletions":6,"binary":false,"changes":22,"status":"modified"},{"patch":"@@ -178,0 +178,2 @@\n+ __ relocate(address_end.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n@@ -186,3 +188,7 @@\n- int32_t offset;\n- __ la_patchable(t0, address_top, offset);\n- __ addi(t0, t0, offset);\n+ {\n+ __ relocate(address_top.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, address_top, offset);\n+ __ addi(t0, t0, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/gc\/shared\/barrierSetAssembler_riscv.cpp","additions":9,"deletions":3,"binary":false,"changes":12,"status":"modified"},{"patch":"@@ -105,0 +105,1 @@\n+ product(bool, UseRVC, true, \"Use RVC instructions\") \\\n@@ -108,2 +109,1 @@\n- experimental(bool, UseZbs, false, \"Use Zbs instructions\") \\\n- experimental(bool, UseRVC, false, \"Use RVC instructions\")\n+ experimental(bool, UseZbs, false, \"Use Zbs instructions\")\n","filename":"src\/hotspot\/cpu\/riscv\/globals_riscv.hpp","additions":2,"deletions":2,"binary":false,"changes":4,"status":"modified"},{"patch":"@@ -184,3 +184,8 @@\n- int32_t offset = 0;\n- la_patchable(xdispatch, ExternalAddress((address)Interpreter::dispatch_table()), offset);\n- addi(xdispatch, xdispatch, offset);\n+ ExternalAddress target((address)Interpreter::dispatch_table());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(xdispatch, target, offset);\n+ addi(xdispatch, xdispatch, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/interp_masm_riscv.cpp","additions":8,"deletions":3,"binary":false,"changes":11,"status":"modified"},{"patch":"@@ -76,4 +76,8 @@\n- Label slow;\n- int32_t offset = 0;\n- __ la_patchable(rcounter_addr, SafepointSynchronize::safepoint_counter_addr(), offset);\n- __ addi(rcounter_addr, rcounter_addr, offset);\n+ Address target(SafepointSynchronize::safepoint_counter_addr());\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(rcounter_addr, target, offset);\n+ __ addi(rcounter_addr, rcounter_addr, offset);\n+ }\n@@ -81,0 +85,1 @@\n+ Label slow;\n@@ -152,3 +157,8 @@\n- int32_t tmp_offset = 0;\n- __ la_patchable(t0, ExternalAddress(slow_case_addr), tmp_offset);\n- __ jalr(x1, t0, tmp_offset);\n+ ExternalAddress target(slow_case_addr);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/jniFastGetField_riscv.cpp","additions":17,"deletions":7,"binary":false,"changes":24,"status":"modified"},{"patch":"@@ -349,3 +349,8 @@\n- int32_t offset = 0;\n- la_patchable(t0, RuntimeAddress(StubRoutines::forward_exception_entry()), offset);\n- jalr(x0, t0, offset);\n+ RuntimeAddress target(StubRoutines::forward_exception_entry());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t0, target, offset);\n+ jalr(x0, t0, offset);\n+ }\n@@ -397,3 +402,8 @@\n- int32_t offset = 0;\n- la_patchable(t1, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address()), offset);\n- ld(t1, Address(t1, offset));\n+ ExternalAddress target(StubRoutines::verify_oop_subroutine_entry_address());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t1, target, offset);\n+ ld(t1, Address(t1, offset));\n+ }\n@@ -439,3 +449,8 @@\n- int32_t offset = 0;\n- la_patchable(t1, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address()), offset);\n- ld(t1, Address(t1, offset));\n+ ExternalAddress target(StubRoutines::verify_oop_subroutine_entry_address());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t1, target, offset);\n+ ld(t1, Address(t1, offset));\n+ }\n@@ -765,0 +780,1 @@\n+ IncompressibleRegion ir(this);\n@@ -976,2 +992,0 @@\n- CompressibleRegion cr(this);\n-\n@@ -998,2 +1012,0 @@\n- CompressibleRegion cr(this);\n-\n@@ -1021,1 +1033,0 @@\n- CompressibleRegion cr(this);\n@@ -1042,1 +1053,0 @@\n- CompressibleRegion cr(this);\n@@ -1063,1 +1073,0 @@\n- CompressibleRegion cr(this);\n@@ -1078,1 +1087,0 @@\n- CompressibleRegion cr(this);\n@@ -1092,1 +1100,0 @@\n- CompressibleRegion cr(this);\n@@ -1098,1 +1105,0 @@\n- CompressibleRegion cr(this);\n@@ -1103,1 +1109,0 @@\n- CompressibleRegion cr(this);\n@@ -1115,2 +1120,0 @@\n- CompressibleRegion cr(this);\n-\n@@ -1291,3 +1294,8 @@\n- int32_t offset = 0;\n- la_patchable(xheapbase, ExternalAddress((address)Universe::narrow_ptrs_base_addr()), offset);\n- ld(xheapbase, Address(xheapbase, offset));\n+ ExternalAddress target((address)Universe::narrow_ptrs_base_addr());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(xheapbase, target, offset);\n+ ld(xheapbase, Address(xheapbase, offset));\n+ }\n@@ -1300,2 +1308,5 @@\n- relocate(dest.rspec());\n- movptr(Rd, dest.target());\n+ {\n+ relocate(dest.rspec());\n+ IncompressibleRegion ir(this);\n+ movptr(Rd, dest.target());\n+ }\n@@ -1648,2 +1659,8 @@\n- _masm->la_patchable(t0, ExternalAddress((address)flag_addr), offset);\n- _masm->lbu(t0, Address(t0, offset));\n+ ExternalAddress target((address)flag_addr);\n+ {\n+ _masm->relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ _masm->la_patchable(t0, target, offset);\n+ _masm->lbu(t0, Address(t0, offset));\n+ }\n@@ -2081,2 +2098,7 @@\n- la_patchable(t0, ExternalAddress(SafepointSynchronize::address_of_state()), offset);\n- lwu(t0, Address(t0, offset));\n+ ExternalAddress target(SafepointSynchronize::address_of_state());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ la_patchable(t0, target, offset);\n+ lwu(t0, Address(t0, offset));\n+ }\n@@ -2375,1 +2397,0 @@\n- int32_t offset = 0;\n@@ -2379,3 +2400,8 @@\n- la_patchable(tmp, entry, offset);\n- if (cbuf != NULL) { cbuf->set_insts_mark(); }\n- jalr(x0, tmp, offset);\n+ {\n+ relocate(entry.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(tmp, entry, offset);\n+ if (cbuf != NULL) { cbuf->set_insts_mark(); }\n+ jalr(x0, tmp, offset);\n+ }\n@@ -2393,1 +2419,0 @@\n- int32_t offset = 0;\n@@ -2397,3 +2422,8 @@\n- la_patchable(tmp, entry, offset);\n- if (cbuf != NULL) { cbuf->set_insts_mark(); }\n- jalr(x1, tmp, offset); \/\/ link\n+ {\n+ relocate(entry.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(tmp, entry, offset);\n+ if (cbuf != NULL) { cbuf->set_insts_mark(); }\n+ jalr(x1, tmp, offset); \/\/ link\n+ }\n@@ -2649,1 +2679,0 @@\n- relocate(dest.rspec());\n@@ -2689,3 +2718,8 @@\n- int32_t offset = 0;\n- la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::enable_stack_reserved_zone)), offset);\n- jalr(x1, t0, offset);\n+ RuntimeAddress target(CAST_FROM_FN_PTR(address, SharedRuntime::enable_stack_reserved_zone));\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t0, target, offset);\n+ jalr(x1, t0, offset);\n+ }\n@@ -2697,3 +2731,8 @@\n- offset = 0;\n- la_patchable(t0, RuntimeAddress(StubRoutines::throw_delayed_StackOverflowError_entry()), offset);\n- jalr(x0, t0, offset);\n+ target = RuntimeAddress(StubRoutines::throw_delayed_StackOverflowError_entry());\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t0, target, offset);\n+ jalr(x0, t0, offset);\n+ }\n@@ -2928,1 +2967,6 @@\n- la_patchable(dest, Address(page, rtype), offset);\n+ Address target(page, rtype);\n+ {\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ la_patchable(dest, target, offset);\n+ }\n@@ -2933,1 +2977,1 @@\n-\/\/ already be in r.\n+\/\/ already be in dest.\n@@ -2941,1 +2985,1 @@\n-\/\/ already be in r.\n+\/\/ already be in dest.\n@@ -2944,0 +2988,1 @@\n+ IncompressibleRegion ir(this);\n@@ -2958,2 +3003,5 @@\n- relocate(oop_Relocation::spec(oop_index));\n- li32(dst, 0xDEADBEEF);\n+ {\n+ relocate(oop_Relocation::spec(oop_index));\n+ IncompressibleRegion ir(this);\n+ li32(dst, 0xDEADBEEF);\n+ }\n@@ -2970,2 +3018,5 @@\n- relocate(metadata_Relocation::spec(index));\n- li32(dst, nk);\n+ {\n+ relocate(metadata_Relocation::spec(index));\n+ IncompressibleRegion ir(this);\n+ li32(dst, nk);\n+ }\n@@ -3010,5 +3061,8 @@\n- relocate(entry.rspec());\n- if (!far_branches()) {\n- jal(entry.target());\n- } else {\n- jal(pc());\n+ {\n+ relocate(entry.rspec());\n+ IncompressibleRegion ir(this);\n+ if (!far_branches()) {\n+ jal(entry.target());\n+ } else {\n+ jal(pc());\n+ }\n@@ -3023,0 +3077,1 @@\n+ IncompressibleRegion ir(this); \/\/ relocations\n@@ -3056,2 +3111,2 @@\n- relocate(trampoline_stub_Relocation::spec(code()->insts()->start() +\n- insts_call_instruction_offset));\n+ RelocationHolder rh = trampoline_stub_Relocation::spec(code()->insts()->start() +\n+ insts_call_instruction_offset);\n@@ -3059,12 +3114,15 @@\n-\n- \/\/ Now, create the trampoline stub's code:\n- \/\/ - load the call\n- \/\/ - call\n- Label target;\n- ld(t0, target); \/\/ auipc + ld\n- jr(t0); \/\/ jalr\n- bind(target);\n- assert(offset() - stub_start_offset == NativeCallTrampolineStub::data_offset,\n- \"should be\");\n- assert(offset() % wordSize == 0, \"bad alignment\");\n- emit_int64((intptr_t)dest);\n+ {\n+ relocate(rh);\n+ IncompressibleRegion ir(this);\n+ \/\/ Now, create the trampoline stub's code:\n+ \/\/ - load the call\n+ \/\/ - call\n+ Label target;\n+ ld(t0, target); \/\/ auipc + ld\n+ jr(t0); \/\/ jalr\n+ bind(target);\n+ assert(offset() - stub_start_offset == NativeCallTrampolineStub::data_offset,\n+ \"should be\");\n+ assert(offset() % wordSize == 0, \"bad alignment\");\n+ emit_int64((int64_t)dest);\n+ }\n@@ -3138,3 +3196,7 @@\n- int32_t offset;\n- la_patchable(t0, src2, offset);\n- ld(t0, Address(t0, offset));\n+ {\n+ relocate(src2.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(t0, src2, offset);\n+ ld(t0, Address(t0, offset));\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/macroAssembler_riscv.cpp","additions":137,"deletions":75,"binary":false,"changes":212,"status":"modified"},{"patch":"@@ -845,2 +845,5 @@\n- int32_t offset = 0;\n- la_patchable(dest, InternalAddress(const_addr.target()), offset);\n+ InternalAddress target(const_addr.target());\n+ relocate(target.rspec());\n+ IncompressibleRegion ir(this);\n+ int32_t offset;\n+ la_patchable(dest, target, offset);\n","filename":"src\/hotspot\/cpu\/riscv\/macroAssembler_riscv.hpp","additions":5,"deletions":2,"binary":false,"changes":7,"status":"modified"},{"patch":"@@ -983,1 +983,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -1241,1 +1240,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -1796,1 +1794,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -1823,1 +1820,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -1835,2 +1831,7 @@\n- __ la_patchable(dst_reg, Address(page, relocInfo::poll_type), offset);\n- __ addi(dst_reg, dst_reg, offset);\n+ Address target(page, relocInfo::poll_type);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(&_masm);\n+ __ la_patchable(dst_reg, target, offset);\n+ __ addi(dst_reg, dst_reg, offset);\n+ }\n@@ -2245,1 +2246,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -2252,1 +2252,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -2268,1 +2267,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4241,1 +4239,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4257,1 +4254,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4288,1 +4284,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4319,1 +4314,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4350,1 +4344,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4396,1 +4389,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4695,1 +4687,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4725,1 +4716,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4756,1 +4746,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4787,1 +4776,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4834,1 +4822,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -4850,1 +4837,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6133,1 +6119,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6149,1 +6134,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6166,1 +6150,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6183,1 +6166,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6199,1 +6181,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6215,1 +6196,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6232,1 +6212,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6248,1 +6227,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6266,1 +6244,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6283,1 +6260,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6300,1 +6276,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6316,1 +6291,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6446,1 +6420,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6602,1 +6575,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6638,1 +6610,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6657,1 +6628,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -6693,1 +6663,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7195,1 +7164,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7212,1 +7180,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7229,1 +7196,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7262,1 +7228,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7295,1 +7260,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7312,1 +7276,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7329,1 +7292,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7362,1 +7324,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7563,1 +7524,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7579,1 +7539,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7690,1 +7649,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7845,1 +7803,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7863,1 +7820,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7960,1 +7916,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -7997,1 +7952,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -8016,1 +7970,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -8053,1 +8006,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -8072,1 +8024,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -8091,1 +8042,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n@@ -10233,1 +10183,0 @@\n- Assembler::CompressibleRegion cr(&_masm);\n","filename":"src\/hotspot\/cpu\/riscv\/riscv.ad","additions":7,"deletions":58,"binary":false,"changes":65,"status":"modified"},{"patch":"@@ -327,3 +327,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, SharedRuntime::fixup_callers_callsite)), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(CAST_FROM_FN_PTR(address, SharedRuntime::fixup_callers_callsite));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -959,0 +964,1 @@\n+ RuntimeAddress target(dest);\n@@ -960,1 +966,1 @@\n- __ far_call(RuntimeAddress(dest));\n+ __ far_call(target);\n@@ -962,2 +968,4 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(dest), offset);\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n@@ -1409,3 +1417,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, ExternalAddress((address)&DTraceMethodProbes), offset);\n- __ lbu(t0, Address(t0, offset));\n+ ExternalAddress target((address)&DTraceMethodProbes);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ lbu(t0, Address(t0, offset));\n+ }\n@@ -1601,3 +1614,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, ExternalAddress((address)&DTraceMethodProbes), offset);\n- __ lbu(t0, Address(t0, offset));\n+ ExternalAddress target((address)&DTraceMethodProbes);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ lbu(t0, Address(t0, offset));\n+ }\n@@ -1734,3 +1752,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans)), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -1953,3 +1976,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info)), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(CAST_FROM_FN_PTR(address, Deoptimization::fetch_unroll_info));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -2091,3 +2119,8 @@\n- offset = 0;\n- __ la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames)), offset);\n- __ jalr(x1, t0, offset);\n+ target = RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -2169,5 +2202,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0,\n- RuntimeAddress(CAST_FROM_FN_PTR(address,\n- Deoptimization::uncommon_trap)), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(CAST_FROM_FN_PTR(address, Deoptimization::uncommon_trap));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -2295,3 +2331,8 @@\n- offset = 0;\n- __ la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames)), offset);\n- __ jalr(x1, t0, offset);\n+ target = RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -2366,3 +2407,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(call_ptr), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(call_ptr);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -2476,3 +2522,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(destination), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(destination);\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n@@ -2607,3 +2658,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, RuntimeAddress(CAST_FROM_FN_PTR(address, OptoRuntime::handle_exception_C)), offset);\n- __ jalr(x1, t0, offset);\n+ RuntimeAddress target(CAST_FROM_FN_PTR(address, OptoRuntime::handle_exception_C));\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ jalr(x1, t0, offset);\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/sharedRuntime_riscv.cpp","additions":94,"deletions":38,"binary":false,"changes":132,"status":"modified"},{"patch":"@@ -2404,3 +2404,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, ExternalAddress((address) JvmtiExport::get_field_access_count_addr()), offset);\n- __ lwu(x10, Address(t0, offset));\n+ ExternalAddress target((address) JvmtiExport::get_field_access_count_addr());\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ lwu(x10, Address(t0, offset));\n+ }\n@@ -2623,3 +2628,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, ExternalAddress((address)JvmtiExport::get_field_modification_count_addr()), offset);\n- __ lwu(x10, Address(t0, offset));\n+ ExternalAddress target((address)JvmtiExport::get_field_modification_count_addr());\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ lwu(x10, Address(t0, offset));\n+ }\n@@ -2924,3 +2934,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, ExternalAddress((address)JvmtiExport::get_field_modification_count_addr()), offset);\n- __ lwu(c_rarg3, Address(t0, offset));\n+ ExternalAddress target((address)JvmtiExport::get_field_modification_count_addr());\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ lwu(c_rarg3, Address(t0, offset));\n+ }\n@@ -3062,3 +3077,8 @@\n- int32_t offset = 0;\n- __ la_patchable(t0, ExternalAddress((address)JvmtiExport::get_field_access_count_addr()), offset);\n- __ lwu(x12, Address(t0, offset));\n+ ExternalAddress target((address)JvmtiExport::get_field_access_count_addr());\n+ {\n+ __ relocate(target.rspec());\n+ Assembler::IncompressibleRegion ir(_masm);\n+ int32_t offset;\n+ __ la_patchable(t0, target, offset);\n+ __ lwu(x12, Address(t0, offset));\n+ }\n","filename":"src\/hotspot\/cpu\/riscv\/templateTable_riscv.cpp","additions":32,"deletions":12,"binary":false,"changes":44,"status":"modified"}]}
0 commit comments