I was watching video Google IO 2008 - Dalvik Virtual Machine Internals to understand how Dalvik VM works and why those people has preferred Dalvik VM over JVM for android. I found that android uses separate memory for Garbage information about the objects , opposed to the JVM where we have mark bits(bits telling whether object is able for garbagfe collection or not) together with objects.
Can anybody tell me in detail what are the advantages and disadvantages of having separate memory for marks bits and not having separate memory for mark bits ?
I was unable to get this difference by watching video.
Some advantages of a separate bitmap:
fork()
on a Unix system, a separate bitmark makes better use of copy-on-write: Pages containing objects might remain shared.Some advantages of in-object mark bits: