Re: State of openjdk on hppa
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
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
> 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
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
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
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
> 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
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
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
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