Ralf
Ralf

Reputation: 14840

Disable Java JIT for a specific method/class?

I'm having an issue in my Java application where the JIT breaks the code. If I disable the JIT, everything works fine, but runs 10-20x slower.

Is there any way to disable the JIT for a specific method or class?

Edit: I'm using Ubuntu 10.10, getting the same results both with:

OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)

and:

Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)

Upvotes: 9

Views: 8456

Answers (2)

Ralf
Ralf

Reputation: 14840

The following option works on my JVMs, to exclude a specific method:

-X:CompileCommand=exclude,the/package/and/Class,methodName

Upvotes: 10

soc
soc

Reputation: 28423

Yes, there is one. You can supply the affected classes you want to exclude JIT compilation at start-up:

-Xjit:exclude={package/class.method|package/class.method}

Upvotes: 6

Related Questions