Where to find aarch64 builds
Hello, Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug). thanks, Chris
Hi Chris, I have a fastdebug build based on latest hs tree. Does it work for you? http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-img.tar.gz Thanks, Ningsheng On 9 February 2017 at 07:28, Chris Plummer <chris.plummer@oracle.com> wrote:
Hello,
Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug).
thanks,
Chris
-- Ningsheng
Hi Ningsheng, Yes, that worked. Thank you! Now I have another favor to ask. I'm working on a bug fix that needs to be applied to every CPU port. I've been able to reproduce the bug with the aarch64 binary you pointed me to, and now I'd like to verify the fix. The problem is the test is closed so I can't share it with you, and I have no means of building the aarch64 port myself. So I'm looking for a volunteer to apply a patch I have, build it, and point me to the binary so I can test it. If you or someone else on this alias can help me with that, I'd greatly appreciate it. thanks, Chris On 2/8/17 6:24 PM, Ningsheng Jian wrote:
Hi Chris,
I have a fastdebug build based on latest hs tree. Does it work for you?
http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-img.tar.gz
Thanks, Ningsheng
On 9 February 2017 at 07:28, Chris Plummer <chris.plummer@oracle.com> wrote:
Hello,
Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug).
thanks,
Chris
Hi Chris, I can build it for you. Please send me the patch. Thanks, Ningsheng On 9 February 2017 at 14:42, Chris Plummer <chris.plummer@oracle.com> wrote:
Hi Ningsheng,
Yes, that worked. Thank you!
Now I have another favor to ask. I'm working on a bug fix that needs to be applied to every CPU port. I've been able to reproduce the bug with the aarch64 binary you pointed me to, and now I'd like to verify the fix. The problem is the test is closed so I can't share it with you, and I have no means of building the aarch64 port myself. So I'm looking for a volunteer to apply a patch I have, build it, and point me to the binary so I can test it. If you or someone else on this alias can help me with that, I'd greatly appreciate it.
thanks,
Chris
On 2/8/17 6:24 PM, Ningsheng Jian wrote:
Hi Chris,
I have a fastdebug build based on latest hs tree. Does it work for you?
http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-img.tar.gz
Thanks, Ningsheng
On 9 February 2017 at 07:28, Chris Plummer <chris.plummer@oracle.com> wrote:
Hello,
Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug).
thanks,
Chris
-- Ningsheng
Hi Ninfsheng, The diff follows. Hopefully it builds ok for you. Thanks for helping. Chris diff --git a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp @@ -54,9 +54,6 @@ int number_of_arguments, bool check_exceptions); - virtual void check_and_handle_popframe(Register java_thread); - virtual void check_and_handle_earlyret(Register java_thread); - // base routine for all dispatches void dispatch_base(TosState state, address* table, bool verifyoop = true); @@ -67,6 +64,9 @@ void jump_to_entry(address entry); + virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + // Interpreter-specific registers void save_bcp() { str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize)); diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp @@ -77,12 +77,6 @@ bool check_exceptions // whether to check for pending exceptions after return ); - // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code. - // The implementation is only non-empty for the InterpreterMacroAssembler, - // as only the interpreter handles PopFrame and ForceEarlyReturn requests. - virtual void check_and_handle_popframe(Register java_thread); - virtual void check_and_handle_earlyret(Register java_thread); - void call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions = true); // Maximum size of class area in Metaspace when compressed @@ -97,6 +91,12 @@ > (1u << log2_intptr(CompressedClassSpaceSize)))); } + // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code. + // The implementation is only non-empty for the InterpreterMacroAssembler, + // as only the interpreter handles PopFrame and ForceEarlyReturn requests. + virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + // Biased locking support // lock_reg and obj_reg must be loaded up with the appropriate values. // swap_reg is killed. diff --git a/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp b/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp +++ b/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp @@ -444,6 +444,10 @@ __ notify(Assembler::method_reentry); } #endif + + __ check_and_handle_popframe(rthread); + __ check_and_handle_earlyret(rthread); + __ get_dispatch(); __ dispatch_next(state, step); On 2/8/17 10:49 PM, Ningsheng Jian wrote:
Hi Chris,
I can build it for you. Please send me the patch.
Thanks, Ningsheng
On 9 February 2017 at 14:42, Chris Plummer <chris.plummer@oracle.com> wrote:
Hi Ningsheng,
Yes, that worked. Thank you!
Now I have another favor to ask. I'm working on a bug fix that needs to be applied to every CPU port. I've been able to reproduce the bug with the aarch64 binary you pointed me to, and now I'd like to verify the fix. The problem is the test is closed so I can't share it with you, and I have no means of building the aarch64 port myself. So I'm looking for a volunteer to apply a patch I have, build it, and point me to the binary so I can test it. If you or someone else on this alias can help me with that, I'd greatly appreciate it.
thanks,
Chris
On 2/8/17 6:24 PM, Ningsheng Jian wrote:
Hi Chris,
I have a fastdebug build based on latest hs tree. Does it work for you?
http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-img.tar.gz
Thanks, Ningsheng
On 9 February 2017 at 07:28, Chris Plummer <chris.plummer@oracle.com> wrote:
Hello,
Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug).
thanks,
Chris
Hi Chris, Here it is: http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-for-chris.tar.... Thanks, Ningsheng On 9 February 2017 at 15:00, Chris Plummer <chris.plummer@oracle.com> wrote:
Hi Ninfsheng,
The diff follows. Hopefully it builds ok for you. Thanks for helping.
Chris
diff --git a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp @@ -54,9 +54,6 @@ int number_of_arguments, bool check_exceptions);
- virtual void check_and_handle_popframe(Register java_thread); - virtual void check_and_handle_earlyret(Register java_thread); - // base routine for all dispatches void dispatch_base(TosState state, address* table, bool verifyoop = true);
@@ -67,6 +64,9 @@
void jump_to_entry(address entry);
+ virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + // Interpreter-specific registers void save_bcp() { str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize)); diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp @@ -77,12 +77,6 @@ bool check_exceptions // whether to check for pending exceptions after return );
- // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code. - // The implementation is only non-empty for the InterpreterMacroAssembler, - // as only the interpreter handles PopFrame and ForceEarlyReturn requests. - virtual void check_and_handle_popframe(Register java_thread); - virtual void check_and_handle_earlyret(Register java_thread); - void call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions = true);
// Maximum size of class area in Metaspace when compressed @@ -97,6 +91,12 @@ > (1u << log2_intptr(CompressedClassSpaceSize)))); }
+ // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code. + // The implementation is only non-empty for the InterpreterMacroAssembler, + // as only the interpreter handles PopFrame and ForceEarlyReturn requests. + virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + // Biased locking support // lock_reg and obj_reg must be loaded up with the appropriate values. // swap_reg is killed. diff --git a/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp b/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp +++ b/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp @@ -444,6 +444,10 @@ __ notify(Assembler::method_reentry); } #endif + + __ check_and_handle_popframe(rthread); + __ check_and_handle_earlyret(rthread); + __ get_dispatch(); __ dispatch_next(state, step);
On 2/8/17 10:49 PM, Ningsheng Jian wrote:
Hi Chris,
I can build it for you. Please send me the patch.
Thanks, Ningsheng
On 9 February 2017 at 14:42, Chris Plummer <chris.plummer@oracle.com> wrote:
Hi Ningsheng,
Yes, that worked. Thank you!
Now I have another favor to ask. I'm working on a bug fix that needs to be applied to every CPU port. I've been able to reproduce the bug with the aarch64 binary you pointed me to, and now I'd like to verify the fix. The problem is the test is closed so I can't share it with you, and I have no means of building the aarch64 port myself. So I'm looking for a volunteer to apply a patch I have, build it, and point me to the binary so I can test it. If you or someone else on this alias can help me with that, I'd greatly appreciate it.
thanks,
Chris
On 2/8/17 6:24 PM, Ningsheng Jian wrote:
Hi Chris,
I have a fastdebug build based on latest hs tree. Does it work for you?
http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-img.tar.gz
Thanks, Ningsheng
On 9 February 2017 at 07:28, Chris Plummer <chris.plummer@oracle.com> wrote:
Hello,
Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug).
thanks,
Chris
-- Ningsheng
Hi Ningsheng, That seems to have fixed the problem, but I'll let it run overnight just to make sure. Thanks for the quick turnaround! Chris On 2/8/17 11:32 PM, Ningsheng Jian wrote:
Hi Chris,
Here it is: http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-for-chris.tar....
Thanks, Ningsheng
On 9 February 2017 at 15:00, Chris Plummer <chris.plummer@oracle.com> wrote:
Hi Ninfsheng,
The diff follows. Hopefully it builds ok for you. Thanks for helping.
Chris
diff --git a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp @@ -54,9 +54,6 @@ int number_of_arguments, bool check_exceptions);
- virtual void check_and_handle_popframe(Register java_thread); - virtual void check_and_handle_earlyret(Register java_thread); - // base routine for all dispatches void dispatch_base(TosState state, address* table, bool verifyoop = true);
@@ -67,6 +64,9 @@
void jump_to_entry(address entry);
+ virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + // Interpreter-specific registers void save_bcp() { str(rbcp, Address(rfp, frame::interpreter_frame_bcp_offset * wordSize)); diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp @@ -77,12 +77,6 @@ bool check_exceptions // whether to check for pending exceptions after return );
- // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code. - // The implementation is only non-empty for the InterpreterMacroAssembler, - // as only the interpreter handles PopFrame and ForceEarlyReturn requests. - virtual void check_and_handle_popframe(Register java_thread); - virtual void check_and_handle_earlyret(Register java_thread); - void call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions = true);
// Maximum size of class area in Metaspace when compressed @@ -97,6 +91,12 @@ > (1u << log2_intptr(CompressedClassSpaceSize)))); }
+ // These routines should emit JVMTI PopFrame and ForceEarlyReturn handling code. + // The implementation is only non-empty for the InterpreterMacroAssembler, + // as only the interpreter handles PopFrame and ForceEarlyReturn requests. + virtual void check_and_handle_popframe(Register java_thread); + virtual void check_and_handle_earlyret(Register java_thread); + // Biased locking support // lock_reg and obj_reg must be loaded up with the appropriate values. // swap_reg is killed. diff --git a/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp b/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp +++ b/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp @@ -444,6 +444,10 @@ __ notify(Assembler::method_reentry); } #endif + + __ check_and_handle_popframe(rthread); + __ check_and_handle_earlyret(rthread); + __ get_dispatch(); __ dispatch_next(state, step);
On 2/8/17 10:49 PM, Ningsheng Jian wrote:
Hi Chris,
I can build it for you. Please send me the patch.
Thanks, Ningsheng
On 9 February 2017 at 14:42, Chris Plummer <chris.plummer@oracle.com> wrote:
Hi Ningsheng,
Yes, that worked. Thank you!
Now I have another favor to ask. I'm working on a bug fix that needs to be applied to every CPU port. I've been able to reproduce the bug with the aarch64 binary you pointed me to, and now I'd like to verify the fix. The problem is the test is closed so I can't share it with you, and I have no means of building the aarch64 port myself. So I'm looking for a volunteer to apply a patch I have, build it, and point me to the binary so I can test it. If you or someone else on this alias can help me with that, I'd greatly appreciate it.
thanks,
Chris
On 2/8/17 6:24 PM, Ningsheng Jian wrote:
Hi Chris,
I have a fastdebug build based on latest hs tree. Does it work for you?
http://people.linaro.org/~ningsheng.jian/packages/jdk-aarch64-img.tar.gz
Thanks, Ningsheng
On 9 February 2017 at 07:28, Chris Plummer <chris.plummer@oracle.com> wrote:
Hello,
Can someone point me to an aarch64 debug build. Any JDK9 build that is reasonably stable is fine, but it has to be a debug build (not product or slowdebug).
thanks,
Chris
participants (2)
-
Chris Plummer
-
Ningsheng Jian