On 10/5/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote:
Ivan, could this enumeration scenario be possible?

1) JIT reports a base to GC
2) GC relocates the base and updates references.
3) JIT reports MPTR, looks for the base, founds the patched base on the
stack and the resulting offset becomes invalid?

The previous GC (gcv4) did not relocate object during the enumeration
process. If gcv4.1 does this is the reason of the problem.
?

I see. Here is the problem.

The reason of the behaviour was: Root set size can be quite large on
some workloads. It can consume a lot of memory if would keep it. Why
don't we update roots just when it was reported? Thus we don't need to
keep large array of roots and it can also have positive influence on
d-cache utilization (need to proof this).

There is a command line switch: -Dgc.remember_root_set=true which will
cause GC to retrieve root set before any operations on heap.

--
Ivan
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to