Re: State of openjdk on hppa

2010-01-06 Thread Andrew Haley
On 01/06/2010 05:26 PM, Tom Rodriguez wrote:

> No I didn't see it.  If it was only on the icedtea list then I
> wouldn't have seen it as hotspot-dev is the only one of these
> aliases that I'm on.

Oh darn, my mistake.  The shiny new Reply List button on Thunderbird 3
didn't quite do what I expected...

> By the way, I restored the other aliases to my reply so they would
> get it too.  So the computation of the location of the guard pages
> is wrong because of the direction of growth?  For instance this line
> obviously won't work right:
> 
>   address low_addr = stack_base() - stack_size();

Right, that's it.

> There's also some code in os_linux_zero.cpp that does math on the
> stack that would need to take into account the real ABI direction.
> I think we probably need something like "int os::stack_direction()"
> to deal with this in shared code.  All the guard logic in Thread
> needs to check it as does is_in_stack and is_lock_owned.  There
> might be some logic in frame that needs to check it too but
> hopefully that will all be platform dependent logic.

Andrew.


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2010-01-06 Thread Tom Rodriguez
No I didn't see it.  If it was only on the icedtea list then I wouldn't have 
seen it as hotspot-dev is the only one of these aliases that I'm on.  By the 
way, I restored the other aliases to my reply so they would get it too.  So the 
computation of the location of the guard pages is wrong because of the 
direction of growth?  For instance this line obviously won't work right:

  address low_addr = stack_base() - stack_size();

There's also some code in os_linux_zero.cpp that does math on the stack that 
would need to take into account the real ABI direction.  I think we probably 
need something like "int os::stack_direction()" to deal with this in shared 
code.  All the guard logic in Thread needs to check it as does is_in_stack and 
is_lock_owned.  There might be some logic in frame that needs to check it too 
but hopefully that will all be platform dependent logic.

tom

On Jan 6, 2010, at 8:53 AM, Andrew Haley wrote:

> On 01/06/2010 04:47 PM, Tom Rodriguez wrote:
>>> I'm not 100% sure what the correct value of this would be for HPPA.
>>> The ABI stack grows upwards, but the stack Zero maintains still grows
>>> downwards.  If interpreter_frame_expression_stack_direction is used
>>> for both of these stacks then something will need changing (either a
>>> separate accessor, or Zero's stack direction changing to match the
>>> ABI stack.)
>> 
>> I don't really think hotspot cares which direction the ABI stack
>> grows.  It only cares what direction the expression stack grows and
>> that's only for frame code that it was walking over the contents of
>> the expression stack..  I was assuming that the expression stack
>> would follow the ABI but I guess there's no reason it must.  It's
>> just the responsibility of the C++ intepreter to deal with that
>> properly.  It would be nice to know what exact problem led to the
>> initial conclusion that direction of stack growth was the problem.
> 
> Did you not see my reply?  The runtime write protects the guard pages
> of the stack, and this immediately causes a segfault since the stack
> being used is now unwritable,
> 
> Andrew.


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2010-01-06 Thread Tom Rodriguez
> I'm not 100% sure what the correct value of this would be for HPPA.
> The ABI stack grows upwards, but the stack Zero maintains still grows
> downwards.  If interpreter_frame_expression_stack_direction is used
> for both of these stacks then something will need changing (either a
> separate accessor, or Zero's stack direction changing to match the
> ABI stack.)

I don't really think hotspot cares which direction the ABI stack grows.  It 
only cares what direction the expression stack grows and that's only for frame 
code that it was walking over the contents of the expression stack..  I was 
assuming that the expression stack would follow the ABI but I guess there's no 
reason it must.  It's just the responsibility of the C++ intepreter to deal 
with that properly.  It would be nice to know what exact problem led to the 
initial conclusion that direction of stack growth was the problem.

tom

> 
> Cheers,
> Gary
> 
> -- 
> http://gbenson.net/


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2010-01-06 Thread Gary Benson
Tom Rodriguez wrote:
> Someone wrote:
> > openjdk builds on hppa, but doesn't run (yet). Andrew Haley once
> > debugged it and found out at least one things which would need to
> > be fixed: the assumption in the C++ interpreter that the stack
> > always grows downwards, and not upwards as on hppa.
> > 
> > please could one of the hotspot developers sched some light on
> > this, how easy this might to be fix, and if there are other
> > assumptions?
> 
> Could you give more detail on where exactly the direction of growth
> is being assumed?  I know there's an accessor in frame that's
> supposed to describe the direction of growth of the expression stack
> which is used a few places in the code:
> 
>   // expression stack (may go up or down, direction == 1 or -1)
>  public:
>   intptr_t* interpreter_frame_expression_stack() const;
>   static  jint  interpreter_frame_expression_stack_direction();
> 
> I would think this has to be set correctly for HPPA to work.  Is it?
> It's possible that the C++ interpreter would also need to consult
> this when pushing values for it to work correctly.

I'm not 100% sure what the correct value of this would be for HPPA.
The ABI stack grows upwards, but the stack Zero maintains still grows
downwards.  If interpreter_frame_expression_stack_direction is used
for both of these stacks then something will need changing (either a
separate accessor, or Zero's stack direction changing to match the
ABI stack.)

Cheers,
Gary

-- 
http://gbenson.net/


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2010-01-06 Thread Matthias Klose

On 05.01.2010 19:13, Tom Rodriguez wrote:

openjdk builds on hppa, but doesn't run (yet). Andrew Haley once debugged it 
and found out at least one things which would need to be fixed: the assumption 
in the C++ interpreter that the stack always grows downwards, and not upwards 
as on hppa.

please could one of the hotspot developers sched some light on this, how easy 
this might to be fix, and if there are other assumptions?


Could you give more detail on where exactly the direction of growth is being 
assumed?  I know there's an accessor in frame that's supposed to describe the 
direction of growth of the expression stack which is used a few places in the 
code:

   // expression stack (may go up or down, direction == 1 or -1)
  public:
   intptr_t* interpreter_frame_expression_stack() const;
   static  jint  interpreter_frame_expression_stack_direction();

I would think this has to be set correctly for HPPA to work.  Is it?  It's 
possible that the C++ interpreter would also need to consult this when pushing 
values for it to work correctly.


thanks for the pointer. zero sets this independently of the architecture. now 
checking the obvious fix.


  Matthias


--
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2010-01-06 Thread Carlos O'Donell
On Tue, Jan 5, 2010 at 1:13 PM, Tom Rodriguez  wrote:
>> please could one of the hotspot developers sched some light on this, how 
>> easy this might to be fix, and if there are other assumptions?
>
> Could you give more detail on where exactly the direction of growth is being 
> assumed?  I know there's an accessor in frame that's supposed to describe the 
> direction of growth of the expression stack which is used a few places in the 
> code:

The usual problem faced by HPPA is that it is one of the few
stack-grows-up targets, therefore it is the *missing* calls to
interpreter_frame_expression_stack_direction() that a porter has to
determine. There is no easy way to know this other than debugging a
failed application and determining that a section of code is assuming
stack-grows-down and should instead call the appropriate accessor
function to determine stack growth. I don't know if there are any such
instances in the hotspot code.

>  // expression stack (may go up or down, direction == 1 or -1)
>  public:
>  intptr_t* interpreter_frame_expression_stack() const;
>  static  jint  interpreter_frame_expression_stack_direction();
>
> I would think this has to be set correctly for HPPA to work.  Is it?  It's 
> possible that the C++ interpreter would also need to consult this when 
> pushing values for it to work correctly.

Given that HPPA is a stack-grows-up target, is the value of this constant 1?

All interpreters that manually manipulate the stack must know the
direction of stack growth (and alignment of stack).

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2010-01-05 Thread Tom Rodriguez
> openjdk builds on hppa, but doesn't run (yet). Andrew Haley once debugged it 
> and found out at least one things which would need to be fixed: the 
> assumption in the C++ interpreter that the stack always grows downwards, and 
> not upwards as on hppa.
> 
> please could one of the hotspot developers sched some light on this, how easy 
> this might to be fix, and if there are other assumptions?

Could you give more detail on where exactly the direction of growth is being 
assumed?  I know there's an accessor in frame that's supposed to describe the 
direction of growth of the expression stack which is used a few places in the 
code:

  // expression stack (may go up or down, direction == 1 or -1)
 public:
  intptr_t* interpreter_frame_expression_stack() const;
  static  jint  interpreter_frame_expression_stack_direction();

I would think this has to be set correctly for HPPA to work.  Is it?  It's 
possible that the C++ interpreter would also need to consult this when pushing 
values for it to work correctly.

tom

> 
> thanks, Matthias


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2009-12-07 Thread Mathieu Malaterre
On Mon, Dec 7, 2009 at 5:55 PM, Matthias Klose  wrote:
> On 07.12.2009 14:36, Onkar Shinde wrote:
>>
>> Hi,
>>
>> java3d currently fails to build on hppa because it uses some sun
>> specific APIs and default-jdk is GCJ on hppa. A solution for this
>> could be to use openjdk-6-jdk build-dep instead of default-jdk. But
>> the problem is that there are no openjdk-* packages on hppa.
>>
>> Does anyone know if there is any effort going on to make openjdk-*
>> packages available on hppa. If not then I will have to make java3d a
>> !hppa package.
>
> openjdk builds on hppa, but doesn't run (yet). Andrew Haley once debugged it
> and found out at least one things which would need to be fixed: the
> assumption in the C++ interpreter that the stack always grows downwards, and
> not upwards as on hppa.
>
> please could one of the hotspot developers sched some light on this, how
> easy this might to be fix, and if there are other assumptions?

[hijacking thread]

Switching to openjdk would also work around the following issue:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40816

This means that VTK 5.4 will NOT FTBS on hppa once switched to openjdk :)

Thanks !
-- 
Mathieu


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Re: State of openjdk on hppa

2009-12-07 Thread Matthias Klose

On 07.12.2009 14:36, Onkar Shinde wrote:

Hi,

java3d currently fails to build on hppa because it uses some sun
specific APIs and default-jdk is GCJ on hppa. A solution for this
could be to use openjdk-6-jdk build-dep instead of default-jdk. But
the problem is that there are no openjdk-* packages on hppa.

Does anyone know if there is any effort going on to make openjdk-*
packages available on hppa. If not then I will have to make java3d a
!hppa package.


openjdk builds on hppa, but doesn't run (yet). Andrew Haley once debugged it and 
found out at least one things which would need to be fixed: the assumption in 
the C++ interpreter that the stack always grows downwards, and not upwards as on 
hppa.


please could one of the hotspot developers sched some light on this, how easy 
this might to be fix, and if there are other assumptions?


thanks, Matthias


--
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



State of openjdk on hppa

2009-12-07 Thread Onkar Shinde
Hi,

java3d currently fails to build on hppa because it uses some sun
specific APIs and default-jdk is GCJ on hppa. A solution for this
could be to use openjdk-6-jdk build-dep instead of default-jdk. But
the problem is that there are no openjdk-* packages on hppa.

Does anyone know if there is any effort going on to make openjdk-*
packages available on hppa. If not then I will have to make java3d a
!hppa package.


Onkar
-- 
Passion - Some people climb mountains - others write Free software.
Don't ask why - the reason is the same.


-- 
To UNSUBSCRIBE, email to debian-java-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org