[lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe.

Roger Riggs rriggs at openjdk.org
Mon Sep 19 18:29:02 UTC 2022


Specify serialization and deserialization of value objects. Value objects are immutable, Externalizable relies on mutation, Externalizable is not supported for value objects. Revised tests and added tests for graphs of value objects.

Somewhat similar to Record serialization in that back references to the value object store 'null' until the value object is completely deserialized.
Similar to regular serialization/deserialization of identity objects.  The serialized form is the same.
Deserialization is done by reading fields and storing into a Buffered larval object, converted to a value object when all of the fields have been read and stored.

Externalizable and Value Objects are incompatible, value objects are immutable and Externalizable.readExternal is expected to modify the fields of an allocated object.

-------------

Commit messages:
 - 8281295: Prototype serialization/deserialization using Unsafe.

Changes: https://git.openjdk.org/valhalla/pull/761/files
 Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=761&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8281295
  Stats: 1084 lines in 9 files changed: 783 ins; 288 del; 13 mod
  Patch: https://git.openjdk.org/valhalla/pull/761.diff
  Fetch: git fetch https://git.openjdk.org/valhalla pull/761/head:pull/761

PR: https://git.openjdk.org/valhalla/pull/761



More information about the valhalla-dev mailing list