答复: [RFR] Re: jdk9 builds status

Edward Nevill edward.nevill at gmail.com
Thu Jun 2 14:07:30 UTC 2016


Hi,

This solution makes me nervous. It relies on the fact that the compiler
only pushes RFP, hence it adds 'BytesPerWord'. What happens if a future
compiler pushes something different? Or if we compile -O0 as in a
slowdebug build.

I think the asm version is more shock proof.

All the best,
Ed.

On Thu, 2016-06-02 at 13:12 +0000, yangyongyong wrote:
> Hi, all, 
> 
> Has someone tried the following patch:
> 
> === Patch begin ===
> diff -r 79bf1547b28d src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp
> --- a/src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp	Sat May 14 17:34:57 2016 +0100
> +++ b/src/os_cpu/linux_aarch32/vm/os_linux_aarch32.cpp	Wed Jun 01 10:08:09 2016 +0800
> @@ -81,7 +81,7 @@
>  #define SPELL_REG_SP "sp"
>  #define SPELL_REG_FP "fp"
>  
> -address os::current_stack_pointer() {
> +__attribute__ ((noinline)) address os::current_stack_pointer() {
>    register void* sp __asm__ (SPELL_REG_SP);
>    // This is a leaf method. Only rfp has been pushed.
>    return (address) sp + BytesPerWord;
> === Patch end ===
> 
> it fixes a crash caused by fastdebug version build with with gcc 4.7.1
> 
> All the best.
> 




More information about the aarch32-port-dev mailing list