The current implementation of SerialGC's full GC uses the object header to store forwarding pointers. This conflicts with Lilliput, because this would override the Klass* of objects, which must not happen. The problem could be solved by using a different full-GC compacting algorithm that does not require storing forwarding pointers.