[lworld] RFR: 8281295: Prototype serialization/deserialization using Unsafe. [v4]
Roger Riggs
rriggs at openjdk.org
Thu Oct 13 15:15:32 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.
Roger Riggs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains ten commits:
- Merge branch 'lworld' into 8281295-lworld-serialize
- Added throw UOE to ReflectionFactory.newConstructorForExternalization.
Added tests for serializable primitive value class.
- Merge branch 'lworld' into 8281295-lworld-serialize
- fix typos
- Remove asserts checking for null in cases where null signals there is no local class
and the fields of the class in the stream are to be read and discarded.
- javadoc cleanup
- Merge branch 'lworld' into 8281295-lworld-serialize
- Merge branch 'lworld' into 8281295-lworld-serialize
- 8281295: Prototype serialization/deserialization using Unsafe.
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.
-------------
Changes: https://git.openjdk.org/valhalla/pull/761/files
Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=761&range=03
Stats: 1107 lines in 9 files changed: 805 ins; 289 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