On Tue, Jan 5, 2010 at 1:13 PM, Tom Rodriguez <thomas.rodrig...@sun.com> 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