Done. rerunning tests.

> On 12 Nov 2014, at 12:00, Attila Szegedi <[email protected]> wrote:
> 
> My remarks:
> 
> - NativeArray instances no longer need PushLinkLogic, PopLinkLogic, and 
> ConcatLinkLogic objects. These objects are no longer instance-specific (their 
> state is only in LinkLogic.switchpoints, but none of the ArrayLinkLogic 
> subclasses override getOrCreateModificationSwitchpoint, so it's always null. 
> You could just have NativeArray.getLinkLogic return static instances of these 
> three that'd eliminate three reference fields from every array instance 
> (similar to how CharCodeLinkingLogic only has one instance). 
> - Related: LinkLogic switch points are no longer used, the logic for handling 
> them should be removed (or moved into a patch until needed again).
> - LengthNotWritableFilter(ArrayData, TreeMap) construtor shouldn't be copying 
> the map; its invokers should ensure that data structures are copied when 
> needed.
> - LengthNotWritableFilter.sliceMap(from, to) is not needed, it should be 
> replaced with simply new TreeMap(extraElements.subMap(from, to)).
> - LengthNotWritableFilter.indexIterator() could just use "final List<Long> 
> keys = computeIteratorKeys();" as the first line. The construction guarantees 
> that the elements will be stricty monotonously ordered even after adding in 
> the extraElements keySet. If needed, an "assert isStrictlyMonotonous(keys)" 
> could be added, writing a simple linear function "boolean 
> isStrictlyMonotonous(List<Long>)".
> 
> On Nov 12, 2014, at 11:41 AM, Hannes Wallnoefer 
> <[email protected]> wrote:
> 
>> A few minor remarks:
>> 
>> - Shouldn't ArrayData.increaseLength and .decreaseLength be protected 
>> instead of public?
>> - Javadoc of ArrayData.length is missing # for link: {@link #setLength} 
>> (although it's a private field anyway...)
>> - Is the (index >= len) check needed in NativeArray.sort? Does not 
>> ArrayData.indexIterator take care of this?
>> - Some of the new tests use a mix of spaces/tabs for indentation.
>> 
>> Otherwise looks good.
>> 
>> Hannes
>> 
>> Am 2014-11-11 um 17:37 schrieb Marcus Lagergren:
>>> Please review
>>> 
>>> https://bugs.openjdk.java.net/browse/JDK-8035312 
>>> <https://bugs.openjdk.java.net/browse/JDK-8035312>
>>> 
>>> There were several corner cases related to length in general and setting 
>>> length in arrays to not writable in particular.
>>> None of the existing run times pass all the tests, so this was a very hard 
>>> area to get right (added 6 new unit tests)
>>> 
>>> I’ve also gotten rid of the special casey length not writable SwitchPoint 
>>> in NativeArray - now that I have a filter for LengtNotWritableArray that 
>>> can’t be cast to a ContinuousArrayData in the fast paths, this handles 
>>> itself anyway.
>>> 
>>> webrev at: http://cr.openjdk.java.net/~lagergren/8035312/
>>> 
>>> /M
>>> 
>> 
> 

Reply via email to