RFR JDK-8194667: Regex: Serialization doesn't work with match flags
Xueming Shen
xueming.shen at oracle.com
Fri Jan 12 18:36:55 UTC 2018
On 1/12/18, 10:22 AM, Roger Riggs wrote:
> Hi Sherman,
>
> flag0 javadoc:
>
> /**
> 957 * The pattern flags used during compiling. The flags might
> be turn*ed* on and
> 958 * off by*an *embedded flag.
> 959 */
>
> 2946-3047: Can an exception happen between save and restore? Would the
> value of flag0 matter if so?
if there is any exception thrown (in the middle of pattern compiling)
you don't even get a
Pattern object. So the status of "flag0" does not matter at all in this
circumstance.
>
> +Copyright year update
will be updated accordingly.
thanks,
sherman
>
> Regards, Roger
>
> On 1/12/2018 11:48 AM, Xueming Shen wrote:
>> Hi,
>>
>> Please help review the change for JDK-8194667
>>
>> issue: https://bugs.openjdk.java.net/browse/JDK-8194667
>> webrev: http://cr.openjdk.java.net/~sherman/8194667/webrev
>>
>> The bits of "flags" are being updated on and off during the pattern
>> compiling by
>> the possible embedded match flag(s) in old implementation. The
>> proposed fix is
>> to add a temporary field "flags0" for this purpose and save/store
>> "flags" for the
>> purpose of deserialization (same as the field "pattern").
>>
>> For the compatibility concern I'm leaving the behavior of method
>> flags() unchanged
>> to return the muted "flags". Arguably it might be desired to return
>> the original "flags"
>> instead. We can leave this "issue" for future RFE.
>>
>> 1145 public int flags() {
>> 1146 return flags0;
>> 1147 }
>>
>>
>> Thanks,
>> Sherman
>
More information about the core-libs-dev
mailing list