You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by Apache Wiki <wi...@apache.org> on 2008/05/08 12:25:25 UTC

[Harmony Wiki] Update of "Jitrino OPT/lock method" by Mikhail Fursov

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by Mikhail Fursov:
http://wiki.apache.org/harmony/Jitrino_OPT/lock_method

New page:
'lock_method' action is used to lock the data associated with a method in VM.

Due to the fact that the same method can be compiled or recompiled in different threads, JIT uses per-method locks to protect methods data during modifications. 

Examples of methods data: compiled version of the method, byte-code mapping information, unwind information, GC-map information, inline information.

Warning: No Java code must be executed when JIT holds a native lock. This means that the whole compilation can be locked only when lazy resolution mode is used. If you turn lazy resolution mode off, its preferable to move 'lock_method' action to the end of the compilation pipeline and place it before the emitter action. Note that in this configuration parallel compilation of the same method consumes more memory and CPU resources because of multiple versions of IR created.