Hi,

I'm attaching an updated test: now it also perform assertions about stack operands (they seem to behave like locals). I also converted it to "testng/othervm" with a data provider for several "StackWalker" option combinations.

Thanks,
-- Fabio Tudone

On 06/07/2016 05:18 AM, Mandy Chung wrote:
Hi Fabio,

Thanks for contributing the test.  I created a JBS issue for this new 
regression test:
   https://bugs.openjdk.java.net/browse/JDK-8158879

We will look into JDK-8156073 before including this regression test.

Mandy

On Jun 6, 2016, at 3:06 PM, Fabio Tudone (fa...@paralleluniverse.co) 
<fa...@paralleluniverse.co> wrote:

Hi,

I'd like to contribute a jtreg test (attached) that highlights StackWalker issues about decoding 
qword (i.e. "long" and "double") frame locals and being able to read frame 
locals consistently in every situation, in particular regardless of the execution mode.
The test is a single Java file that can be put in the "jdk/test/java/lang/StackWalker" directory of the full OpenJDK 
tree and run as usual; it includes three "@run" tags for the "-Xcomp", "-Xcomp 
-XX:-TieredCompilation" and "-Xint" JVM flag sets respectively.

Every execution mode fails the test for different reasons with JDK9 sources as of June 
3th, 15:39 GMT (changeset 2098:3bff27179e47): you can read the test's stderr up to the 
failing assertion by changing the "@run" tag ordering.
In particular, during the "-Xint" run the test can find but not decode the "long" local nor the "double" one; during the 
"-Xcomp -XX:-TieredCompilation" and "-Xcomp" runs instead, the relevant dword slots have type "I" and value "0" if the 
corresponding locals are unused in the method body and instead they have a value when used but only the "long" local can be decoded.

I have already signed the OCA.

Thanks and regards,
-- Fabio Tudone

<LongAndDoubleDecodingTest.java>

Reply via email to