[aarch64-port-dev ] Where to find aarch64 builds

Chris Plummer chris.plummer at oracle.com
Thu Feb 9 08:22:35 UTC 2017


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.gz
>
> Thanks,
> Ningsheng
>
> On 9 February 2017 at 15:00, Chris Plummer <chris.plummer at 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 at 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 at 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
>>>>>>
>>>
>
>



More information about the aarch64-port-dev mailing list