Differences between revisions 2 and 3
Revision 2 as of 2008-05-14 07:53:47
Size: 1418
Comment:
Revision 3 as of 2009-09-20 21:55:16
Size: 1422
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
[[BR]][[BR]] <<BR>><<BR>>
Line 5: Line 5:
[[BR]][[BR]] <<BR>><<BR>>
Line 7: Line 7:
[[BR]]
The method can be can be written using [http://rvm.codehaus.org/docs/api/org/vmmagic/unboxed/package-summary.html org.vmmagic.unboxed] package that allows to use direct memory access from Java.
[[BR]][[BR]]
<<BR>>
The method can be can be written using [[http://rvm.codehaus.org/docs/api/org/vmmagic/unboxed/package-summary.html|org.vmmagic.unboxed]] package that allows to use direct memory access from Java.
<<BR>><<BR>>
Line 26: Line 26:
implementation file: [http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp?view=markup http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp] implementation file: [[http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp?view=markup|http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp]]

'inline_helpers' - provides a mechanism to inline various VM helpers

The optimization examines every HIR instruction and searches for HIR opcodes that lead to generation of VM helpers. Every suitable for the optimization instruction is replaced with a direct call of a special Java method. Finally the optimization calls inlining of this method.

The body of the method used as a replacement for complex HIR instruction must be provided by VM component.
The method can be can be written using org.vmmagic.unboxed package that allows to use direct memory access from Java.

Example of 'inline_helpers' configuration from 'server.emconf' file:

#helper inliner configuration

-XX:jit.SD2_OPT.SD2_OPT_helper_inliner_pipeline.path=ssa
-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.pipeline=SD2_OPT_helper_inliner_pipeline

-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE=on
-XX:jit.SD2_OPT.arg.optimizer.inline_helpers.VM_RT_NEW_RESOLVED_USING_VTABLE_AND_SIZE_hotnessPercent=1

implementation file: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/optimizer/helper_inliner.cpp

Jitrino_OPT/inline_helpers (last edited 2009-09-20 21:55:16 by localhost)