DeletedRangeArrayFilter.isEmpty should not override ArrayData.isEmpty as
semantics are different. The easiest way to solve this would be to move
new isEmpty method from ArrayData to ContinuousArrayData.
Otherwise +1, nice work!
Hannes
Am 2014-10-22 um 17:34 schrieb Marcus Lagergren:
Please review this
I added specialized builtins for concat, which are up to 10 times faster in
microbenchmarks with just one element (or array) being concatenated.
While doing this I happened upon some bugs with preventExtensions for arrays,
and removed the hateful unreliable SwitchPoint from ContinuousArray, replacing
non extensible arrays with an ArrayFilter, which is the way I should have done
it in the first place.
I also had to turn NoTypedArrayData into a structure that inherited
ContinuousArray, or I threw away a lot of optimistic link sites to untouched
arrays in ScriptObjects. This has other performance implications (good ones).
ant test runs cleanly
ant test262parallel runs cleanly
octane runs with no regressions, some benchmarks like raytrace and crypto are
even a bit faster.
There are regressions in octane since the last time I checked, but not due to
my fix. I will investigate and file bugs.
Bug: https://bugs.openjdk.java.net/browse/JDK-8061391
Webrev: http://cr.openjdk.java.net/~lagergren/8061391/
Regards
Marcus