harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Jitrino OPT/gcpoints" by Mikhail Fursov
Date Mon, 12 May 2008 08:33:35 GMT
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/gcpoints

New page:
'gcpoints' LIR transformation is an early stage of [:Jitrino_OPT/gcmap: gcmap] pass.
[[BR]][[BR]]
The sole purpose of this transformation is insertion of CopyPseudoInsts instructions to extends
live-ranges for object(base) operands.
[[BR]][[BR]]
The CopyPseudoInsts are inserted only in the case if the base operand have live managed pointer
operand derived from the base and the offset of managed pointer from the base is not a compilation
time constant. 
[[BR]]
The example of unknown offset is an iteration of array in loop: the base pointer can be dead
in loop while managed pointer is alive and changes every new iteration.
[[BR]][[BR]]
The reason to extend the live range of object operands is due to the fact that JIT-GC interface
requires from JIT to report base for every managed pointer. 
[[BR]]
Making base object alive we can derive offset of managed pointer during enumeration in runtime:
the offset is a distance to the nearest base included to the enumeration set.

Mime
View raw message