You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Kathey Marsden <km...@apache.org> on 2008/02/13 01:47:15 UTC

Trouble getting jvm options to work with suites

I am trying to run the whole suite with jit forced on with IBM JDK 1.6.  
To do this I use the
-Xjit:count=0 option, but I am having trouble getting it to work when I 
run a suite.
If I run a single test jdbcapi.DatabaseMetaDataTest with the 
-Xjit:count=0, all works as expected and I see the failures for 
DERBY-3400, but if I run a suite, such as jdbcapi._Suite, I don't see 
any failures so I don't think the options are taking effect. 
Here are the two command lines:

Works as expected: 4 tests fail:
java -Xjit:count=0 -Dderby.tests.trace=true junit.textui.TestRunner 
org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest

All tests pass:
java -Xjit:count=0 -Dderby.tests.trace=true junit.textui.TestRunner 
org.apache.derbyTesting.functionTests.tests.jdbcapi._Suite

I don't think the tests fork a process or anything so I don't understand 
how I could be losing the -Xjit:count=0 option. Does anyone have any 
idea what might be going on?

Kathey




Re: Trouble getting jvm options to work with suites

Posted by Kristian Waagan <Kr...@Sun.COM>.
Kathey Marsden wrote:
> I am trying to run the whole suite with jit forced on with IBM JDK 1.6.  
> To do this I use the
> -Xjit:count=0 option, but I am having trouble getting it to work when I 
> run a suite.
> If I run a single test jdbcapi.DatabaseMetaDataTest with the 
> -Xjit:count=0, all works as expected and I see the failures for 
> DERBY-3400, but if I run a suite, such as jdbcapi._Suite, I don't see 
> any failures so I don't think the options are taking effect. Here are 
> the two command lines:
> 
> Works as expected: 4 tests fail:
> java -Xjit:count=0 -Dderby.tests.trace=true junit.textui.TestRunner 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.DatabaseMetaDataTest
> 
> All tests pass:
> java -Xjit:count=0 -Dderby.tests.trace=true junit.textui.TestRunner 
> org.apache.derbyTesting.functionTests.tests.jdbcapi._Suite
> 
> I don't think the tests fork a process or anything so I don't understand 
> how I could be losing the -Xjit:count=0 option. Does anyone have any 
> idea what might be going on?

Hi Kathey,

I have no idea, but have you verified that the failing tests are in fact 
run as part of the suite?

This can of course easily be verified by using the graphical test 
runner, or by putting some printlns into the relevant tests.

I notice there isn't much fancy stuff going on in the suite method of 
DatabaseMetaDataTest, but it would be good to confirm it anyway.



regards,
-- 
Kristian

> 
> Kathey
> 
> 
> 


Re: Trouble getting jvm options to work with suites

Posted by Kathey Marsden <km...@sbcglobal.net>.
Daniel John Debrunner wrote:
> Most likely the jit is performing a further optimization (ie. a 
> recompile) on the method and producing a correct result. A modern jit 
> does not have a 1-1 mapping between byte code and optimized code.
>
Thanks Dan.  I guess there is no way to thoroughly test the JIT then, 
but I will at least run the suite with -Xjit:count=0 and see if it pops 
anything.

Kathey

 

Re: Trouble getting jvm options to work with suites

Posted by Daniel John Debrunner <dj...@apache.org>.
Kathey Marsden wrote:

> I don't think the tests fork a process or anything so I don't understand 
> how I could be losing the -Xjit:count=0 option. Does anyone have any 
> idea what might be going on?

Most likely the jit is performing a further optimization (ie. a 
recompile) on the method and producing a correct result. A modern jit 
does not have a 1-1 mapping between byte code and optimized code.

Dan.