RFR: 8256480: Refactor ObjectInputStream field reader implementation [v2]

Brent Christian bchristi at openjdk.java.net
Fri Nov 20 23:01:05 UTC 2020


On Thu, 19 Nov 2020 20:32:17 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> ObjectInputStream has nearly identical but separate implementations to read values from the stream.
>> Both implementations read primitive and object values from the stream and return an object holding the values.
>> OIS.readFields() uses the internal class GetFieldImpl while OIS.defaultReadObject and reading records uses the internal class FieldValues.
>> The behavioral difference between the two is whether dependencies are tracked in the object handle table or not. 
>> 
>> The classes are merged, retaining the internal FieldValues name and the behavior to track dependencies or not. 
>> The constructor is passed the class descriptor and flag to track or not; it reads and saves the values from the stream.
>> The callers are updated to call the merge FieldValues methods.
>> 
>> There is no change in behavior; all current tests pass.
>
> Roger Riggs has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Improvements as per review comments

The changes look fine.

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

Marked as reviewed by bchristi (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1296


More information about the core-libs-dev mailing list