How to migrate hs17's LIR_Assembler::emit_exception_handler to hs25?

Leslie Zhai lesliezhai at
Sun Apr 1 01:05:12 UTC 2018

Hi Andrew,

Thanks for your response!

在 2018年04月01日 01:21, Andrew Haley 写道:
> On 03/27/2018 04:57 PM, Leslie Zhai wrote:
>> Hi HotSpot compiler developers,
>> I am new to HotSpot, and trying to migrate hs17 to hs25, but JDK-6919934
>> changed:
> Hi,
> What exactly are you trying to do?  Why do you need to do this?
> Are you porting this 8 years old HotSpot to another processor?
> If you explained, people might help.
I am learning x86 [1] and aarch64 [2] for porting to other *targets*, 
for example, riscv. I often investigate the history of changeset when 
porting, for an instance, LLVM instruction selection SelectionDAG 
porting to GlobalISel [3]
And I found that JDK-6964458, JDK-7012914, JDK-6919934 ... refactory 
heavily, so I need to make a ChangeLog about the migration [4]

>> Then reuse hs17's `LIR_Assembler::emit_exception_handler`,
>> `Runtime1::generate_handle_exception`, `Runtime1::generate_code_for`...
>> in hs25, but it is monkey patch... not easy to merge upstream.
>> Please share your porting experience, and give me some advice, thanks a lot!
> I didn't write the AArch64 port of that code until 2013, I'm afraid.  But
> none of the x86 code looks particularly weird: it's just tedious.

I feel awe when porting DraongEgg to GCC 8.x and LLVM 7.x [5] and my 
sincere thanks will goto your colleague David Malcolm, he taught me a 
lot about migrating from GCC 4.x to 8.x


Leslie Zhai -

More information about the hotspot-compiler-dev mailing list