[foreign] RFR 8217414: Remove bounds check in BoundedPointer constructor

Sundararajan Athijegannathan sundararajan.athijegannathan at oracle.com
Mon Jan 21 13:03:54 UTC 2019


Yes - I forgot that we discussed this offline. Also, we could have a 
test for struct with a pointer field - i.e., we check it on assignment 
to fields (so that if out of bound pointer is assigned to a struct field 
-- and the the struct is passed to a native function won't be an issue).

-Sundar

On 21/01/19, 6:26 PM, Maurizio Cimadamore wrote:
> I agree that the check should removed from the constructor - but we 
> should make sure that checks happen when the pointer is used. 
> Dereference is one situation, function call is another. I guess 
> dereference is already covered (after all, a memory read will fail if 
> outside the boundaries), but I don't think passing an out of bound 
> pointer to a function is currently being checked, and it should if we 
> remove the constructor eager check
>
> Maurizio
>
> On 21/01/2019 12:00, Jorn Vernee wrote:
>> Hi,
>>
>> I have a patch addressing 2 vacuously passing tests (api/PointerTest 
>> and api/ArrayTest). The patch fixes the tests, and to make that 
>> happen removes the bounds check in BoundedPointer's constructor. As 
>> discussed offline; this check is not needed since we already de a 
>> check when dereferencing a pointer in BoundedMemoryRegion, and the 
>> check in the constructor is overly restrictive since it should be 
>> fine to create out-of-bounds pointers as long as it is not 
>> dereferenced. This does mean the tests needed to be tweaked since now 
>> an access exception is throw at a later point.
>>
>> Please review the following.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8217414
>> Webrev: 
>> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8217414/webrev.00
>>
>> Thanks,
>> Jorn


More information about the panama-dev mailing list