Community
Participate
Working Groups
Build 20040428 The implementation relies on not checking array length upfront and rather deal with exceptions. However, these seem to be quite frequent, and we may either change our default sizes for arrays, or perform bound checks.
Created attachment 10379 [details] Initial set Here are a couple of places which removed the Exception case. I actually did two implementations of CodeStream, but according to my crystal ball, this more verbose method actually performs better across the JVMs I tested. There are two places in Scanner which I did not fix because I haven't quite figured out how to untangle the logic to simplify it. Its getNextToken and getNextCharAsJavaIdentifier. There are obviously other places to fix but these were the major ones that popped up in the debugger during a compile/index of a bunch of plugins.
There is a bug in the patch which I need to track down. It seems that the parsing is adding an extra character because I see a box in the package name when I perform an Open Type (Ctrl-T) and type some class name.
Disregard my babble. There seems to be an issue with I20040506 which is causing the box character to appear. Don't know if its a JDT problem or a general UI issue.
Actually we catch ArrayIndexOutOfBoundsException in very few places which are not error cases (I released a couple changes). The main problem is with IndexOutOfBoundsException, see bug 38839.
Cannot really verify this PR. Verified in 200405180816 looking at the source code.