-
Enhancement
-
Resolution: Fixed
-
P4
-
1.4.2_06, 5.0
-
tiger
-
generic, x86
-
generic, linux
Hotspot current eagerly deoptimizes nmethods. This reuires it to carry a lot
of state around in vframeArrays and more importantly requires it to patch
return addresses in frames. Patching return addresses in frames is one reason
why the jni trampoline was needed on register window machines. If we switch
to lazy deopt then with a small amount of work in the interpreter we can eliminate the jni trampoline (which is added overhead on all jni calls) and
greatly reduce the complexity of stack walking (no more deoptimized frames)
and simplify the deopt code by making vframeArray handling much simpler.
of state around in vframeArrays and more importantly requires it to patch
return addresses in frames. Patching return addresses in frames is one reason
why the jni trampoline was needed on register window machines. If we switch
to lazy deopt then with a small amount of work in the interpreter we can eliminate the jni trampoline (which is added overhead on all jni calls) and
greatly reduce the complexity of stack walking (no more deoptimized frames)
and simplify the deopt code by making vframeArray handling much simpler.
- duplicates
-
JDK-6216196 jvm crashes filling in exception trace by accessing zombie method.
- Closed
- relates to
-
JDK-6891750 deopt blob kills values in O5
- Closed