[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: State of openjdk on hppa

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.)



Reply to: