Re: RFR: 8071571: Move substring of same string to slow path

2015-03-30 Thread Lev Priima
Martin, So I've updated webrev w/o adding final everywhere: http://cr.openjdk.java.net/~lpriima/8071571/3/ . Lev On 03/28/2015 01:15 AM, Lev Priima wrote: On 03/28/2015 12:59 AM, Martin Buchholz wrote: I was only suggesting using final in the stylized final Type foo = this.foo;

Re: RFR: 8071571: Move substring of same string to slow path

2015-03-27 Thread Lev Priima
I'm closer to Martins opinion. In my opinion, Immutability really improves readability of code, but longer declaration doesn't. That's why some contemporary languages use shorter var/val for declarations. Lev On 03/28/2015 01:01 AM, Martin Buchholz wrote: On Fri, Mar 27, 2015 at 2:57 PM, Roge

Re: RFR: 8071571: Move substring of same string to slow path

2015-03-27 Thread Lev Priima
jdk sources that nobody ever gets around to. On Fri, Mar 27, 2015 at 2:51 PM, Lev Priima <mailto:lev.pri...@oracle.com>> wrote: Updated and put some more final in other(not @Deprecated) methods: http://cr.openjdk.java.net/~lpriima/8071571/2/ <http://cr.openjdk.java.ne

Re: RFR: 8071571: Move substring of same string to slow path

2015-03-27 Thread Lev Priima
Updated and put some more final in other(not @Deprecated) methods: http://cr.openjdk.java.net/~lpriima/8071571/2/ Lev On 03/27/2015 11:50 PM, Martin Buchholz wrote: On Fri, Mar 27, 2015 at 1:49 PM, Lev Priima <mailto:lev.pri...@oracle.com>> wrote: Martin, You mean it

Re: RFR: 8071571: Move substring of same string to slow path

2015-03-27 Thread Lev Priima
t len = value.length; 2889 int st = 0; 2890 char[] val = value;/* avoid getfield opcode */ Also, 'beg' and 'end' would be much better names for the locals 'st' and 'len'. On Fri, Mar 27, 2015 at 12:54 PM, Lev Priima <mailto:lev.pri..

Re: RFR: 8071571: Move substring of same string to slow path

2015-03-27 Thread Lev Priima
yours, Ivan On 27.03.2015 17:56, Lev Priima wrote: Please review small cleanup in java.lang.String: Issue: https://bugs.openjdk.java.net/browse/JDK-8071571 Webrev: http://cr.openjdk.java.net/~lpriima/8071571/0/webrev/ 46 tests from jdk9/dev/jdk/test/java/lang/String* passed locally.

RFR: 8071571: Move substring of same string to slow path

2015-03-27 Thread Lev Priima
Please review small cleanup in java.lang.String: Issue: https://bugs.openjdk.java.net/browse/JDK-8071571 Webrev: http://cr.openjdk.java.net/~lpriima/8071571/0/webrev/ 46 tests from jdk9/dev/jdk/test/java/lang/String* passed locally. -- Lev

Re: RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-23 Thread Lev Priima
66 + "m"; And if it's null then we are on 32bit vm, don't have big oops and can run test with 385m at least. Lev On 03/18/2015 03:25 PM, David Holmes wrote: On 18/03/2015 9:46 PM, Lev Priima wrote: On 03/18/2015 01:52 PM, David Holmes wrote: On 18/03/2015

Re: RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-18 Thread Lev Priima
On 03/18/2015 01:52 PM, David Holmes wrote: On 18/03/2015 6:12 PM, Lev Priima wrote: On 03/18/2015 04:46 AM, David Holmes wrote: Hi Lev, On 18/03/2015 9:07 AM, Lev Priima wrote: Possible, by determining of disabled UseCompressedOops option and forking vm again with required minimum heap

Re: RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-18 Thread Lev Priima
On 03/18/2015 04:46 AM, David Holmes wrote: Hi Lev, On 18/03/2015 9:07 AM, Lev Priima wrote: Possible, by determining of disabled UseCompressedOops option and forking vm again with required minimum heap value(-Xms). Please review update: http://cr.openjdk.java.net/~lpriima/8075071/1/webrev

Re: RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-17 Thread Lev Priima
forms. David On 17/03/2015 10:15 PM, Lev Priima wrote: Yes. Lev On 03/17/2015 02:56 PM, David Holmes wrote: On 17/03/2015 9:15 PM, Lev Priima wrote: Hi David, Explicit -Xmx does not allow explicit MaxRAMFraction to shrink MaxHeapSize down to -Xms(or even less down to default InitialHeapSize in

Re: RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-17 Thread Lev Priima
Yes. Lev On 03/17/2015 02:56 PM, David Holmes wrote: On 17/03/2015 9:15 PM, Lev Priima wrote: Hi David, Explicit -Xmx does not allow explicit MaxRAMFraction to shrink MaxHeapSize down to -Xms(or even less down to default InitialHeapSize in case if -Xms also wasn't set explicitly). In

Re: RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-17 Thread Lev Priima
adict with each other. Lev On 03/17/2015 07:40 AM, David Holmes wrote: Hi Lev, On 17/03/2015 6:30 AM, Lev Priima wrote: Please reviewand push: Issue:https://bugs.openjdk.java.net/browse/JDK-8075071 Patch: http://cr.openjdk.java.net/~lpriima/8075071/0/webrev/ Tested locally: jtreg -vmop

RFR(XS): 8075071: [TEST_BUG] TimSortStackSize2.java: OOME: Java heap space: MaxHeap shrinked by MaxRAMFraction

2015-03-16 Thread Lev Priima
Please reviewand push: Issue:https://bugs.openjdk.java.net/browse/JDK-8075071 Patch: http://cr.openjdk.java.net/~lpriima/8075071/0/webrev/ Tested locally: jtreg -vmoptions:"-XX:MaxRAMFraction=9223372036854775807 -XX:-UseCompressedOops" test/java/util/Arrays/TimSortStackSize2.java Test results:

Re: RFR 8073354: TimSortStackSize2.java: test cleanup: make test run with single argument

2015-02-26 Thread Lev Priima
Thanks a lot, David! Lev On 02/27/2015 01:10 AM, David Holmes wrote: Okay I will push this for you Lev. Thanks, David On 27/02/2015 6:53 AM, Lev Priima wrote: this cleanup is also required to fix this: https://bugs.openjdk.java.net/browse/JDK-8073959 Lev On 02/26/2015 02:01 PM, Lev Priima

Re: 8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

2015-02-26 Thread Lev Priima
Hi Seth, No. But, General direction of openjdk is mostly care about "do not introduce regression" in next release. All performance improvements are introduced with a very conservative way with checking that we do not slow down any previous behavior/benchmarks. I'm almost sure that simple incr

Re: RFR 8073354: TimSortStackSize2.java: test cleanup: make test run with single argument

2015-02-26 Thread Lev Priima
this cleanup is also required to fix this: https://bugs.openjdk.java.net/browse/JDK-8073959 Lev On 02/26/2015 02:01 PM, Lev Priima wrote: Thanks David, Are OK with pushing this http://cr.openjdk.java.net/~lpriima/8073354/webrev.01/ cleanup ? Lev On 02/26/2015 10:20 AM, David Holmes wrote

Re: RFR 8073354: TimSortStackSize2.java: test cleanup: make test run with single argument

2015-02-26 Thread Lev Priima
Thanks David, Are OK with pushing this http://cr.openjdk.java.net/~lpriima/8073354/webrev.01/ cleanup ? Lev On 02/26/2015 10:20 AM, David Holmes wrote: On 24/02/2015 8:39 PM, Lev Priima wrote: I've updated summary and description. Okay - thanks. David Lev On 02/23/2015 04:55 AM,

Re: RFR 8073354: TimSortStackSize2.java: requires 64*2^20*sizeof(reference) continues heap space

2015-02-24 Thread Lev Priima
I've updated summary and description. Lev On 02/23/2015 04:55 AM, David Holmes wrote: On 20/02/2015 7:57 PM, Lev Priima wrote: Functional is pretty same, but: - make it run with a single argument '67108864' by moving @summary tag strait down to line after the @run t

Re: RFR 8073354: TimSortStackSize2.java: requires 64*2^20*sizeof(reference) continues heap space

2015-02-20 Thread Lev Priima
his issue may be closed as dup of JDK-8073354 and test will pass after applying JDK-8073354. But I just want to use this RFE ID to make test run with a single argument ( as you noticed previously ). Lev On 02/20/2015 05:26 AM, David Holmes wrote: On 19/02/2015 11:23 PM, Lev Priima wrote:

Re: RFR 8073354: TimSortStackSize2.java: requires 64*2^20*sizeof(reference) continues heap space

2015-02-19 Thread Lev Priima
After Jespers comments I removed catch of OOME and added minimum heap size required for test(-Xms385) to overcome default ergonomics for client. Please review: http://cr.openjdk.java.net/~lpriima/8073354/webrev.01/ Lev On 02/19/2015 03:00 PM, Lev Priima wrote: There is also a problem, if the

RFR 8073354: TimSortStackSize2.java: requires 64*2^20*sizeof(reference) continues heap space

2015-02-19 Thread Lev Priima
ag and made it start with a single argument. Please review and push: http://cr.openjdk.java.net/~lpriima/8073354/webrev.00/ Issue: https://bugs.openjdk.java.net/browse/JDK-8073354 Lev On 02/17/2015 09:55 AM, David Holmes wrote: On 17/02/2015 3:43 PM, Lev Priima wrote: Thanks David! I

Re: RFR 8073124: Tune test and document TimSort runs length stack size increase

2015-02-16 Thread Lev Priima
Thanks David! Is this expected behavior of this annotation ? Lev On 02/17/2015 03:20 AM, David Holmes wrote: On 16/02/2015 9:20 PM, David Holmes wrote: On 16/02/2015 6:59 PM, Lev Priima wrote: Thanks, David, Could you please push it ? I will if Roger doesn't get to it first. It

Re: RFR 8073124: Tune test and document TimSort runs length stack size increase

2015-02-16 Thread Lev Priima
Thanks, David, Could you please push it ? Lev On 02/16/2015 08:55 AM, David Holmes wrote: On 14/02/2015 12:03 AM, Lev Priima wrote: Please review and push: http://cr.openjdk.java.net/~lpriima/8073124/webrev.00/ bug: https://bugs.openjdk.java.net/browse/JDK-8073124 I hadn't realized 80

RFR 8073124: Tune test and document TimSort runs length stack size increase

2015-02-13 Thread Lev Priima
Please review and push: http://cr.openjdk.java.net/~lpriima/8073124/webrev.00/ bug: https://bugs.openjdk.java.net/browse/JDK-8073124 Lev On 02/13/2015 05:20 AM, David Holmes wrote: Hi Lev, On 13/02/2015 2:56 AM, Lev Priima wrote: Christos, Test may fail on shorter arrays(page 8 of paper

Re: 8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

2015-02-12 Thread Lev Priima
Thanks! Lev On 02/12/2015 02:53 PM, Roger Riggs wrote: Hi Lev, ok, looks fine, I'll sponsor it and push it. Roger On 2/12/2015 11:56 AM, Lev Priima wrote: Christos, Test may fail on shorter arrays(page 8 of paper). For instance, on worst case, generated by test, it starts to fa

Re: 8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

2015-02-12 Thread Lev Priima
Christos, Test may fail on shorter arrays(page 8 of paper). For instance, on worst case, generated by test, it starts to fail on length 67108864. After increasing stack size of runs to merge, Arrays.sort(T[]) works also on maximum possible array for HotSpot JVM. Roger, David, I've updated th

Re: 8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

2015-02-11 Thread Lev Priima
"49" is also mentioned in the paper as possible solution. I've run test from webrev with array length 2147483644 (Integer.MAX_VALUE-4) and TimSort passed. Lev On 02/11/2015 10:57 PM, David Holmes wrote: On 12/02/2015 5:14 AM, Lev Priima wrote: Just briefly looked at it,

Re: 8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

2015-02-11 Thread Lev Priima
er to reestablish the invariant? Roger On 2/11/2015 11:29 AM, Lev Priima wrote: Hi, Stack length increased previously by JDK-8011944 was insufficient for some cases. Please review and push: webrev: http://cr.openjdk.java.net/~lpriima/8072909/webrev.00/ issue: https://bugs.openjdk.java.net/brows

8072909: TimSort fails with ArrayIndexOutOfBoundsException on arrays longer than 1073741824

2015-02-11 Thread Lev Priima
Hi, Stack length increased previously by JDK-8011944 was insufficient for some cases. Please review and push: webrev: http://cr.openjdk.java.net/~lpriima/8072909/webrev.00/ issue: https://bugs.openjdk.java.net/browse/JDK-8072909 -- Lev

Re: Q: 8071326: ThreadPoolExecutor in endless thread creation loop if workQueue.take() throws RuntimeException

2015-01-28 Thread Lev Priima
/01/2015 7:03 AM, Lev Priima wrote: Yes. And if we have BlockingQueue w/ some amount of tasks which fail with exceptions, same amount of threads(not limited by neither maximumPoolSize/corePoolSize) will hang under TPE which takes tasks from this queue. It may cause problems if queue has a big

Re: Q: 8071326: ThreadPoolExecutor in endless thread creation loop if workQueue.take() throws RuntimeException

2015-01-27 Thread Lev Priima
and we eventually get OOME while unable to create new native thread. Lev On 01/27/2015 11:31 PM, Martin Buchholz wrote: On Tue, Jan 27, 2015 at 7:43 AM, Lev Priima <mailto:lev.pri...@oracle.com>> wrote: And these thread will be cleaned only when whole TPE finished. Is this re

Q: 8071326: ThreadPoolExecutor in endless thread creation loop if workQueue.take() throws RuntimeException

2015-01-27 Thread Lev Priima
Using TPE w/ custom BlockingQueue and if RuntimeException happens in blocking BlockingQueue.take() method then this code new ThreadPoolExecutor(1, 1, 0, TimeUnit.NANOSECONDS, new ArrayBlockingQueue(1) { public Runnable take() throws InterruptedException { throw new Runtim

Re: RFR : 8068795: Missing trailing blank in a HttpServer response leads to client crashes

2015-01-16 Thread Lev Priima
Thanks Chris, Could you please push it? Best Regards, Lev On 01/16/2015 09:14 PM, Chris Hegarty wrote: This looks ok to me Lev. -Chris. On 16 Jan 2015, at 17:02, Lev Priima wrote: The second space should not be omitted in first line(status-line) of a http response message: http

RFR : 8068795: Missing trailing blank in a HttpServer response leads to client crashes

2015-01-16 Thread Lev Priima
The second space should not be omitted in first line(status-line) of a http response message: http://tools.ietf.org/html/rfc7230#section-3.1.2 . Issue: http://bugs.openjdk.java.net/browse/JDK-8068795 Patch: http://cr.openjdk.java.net/~lpriima/8068795/webrev.00/ Testing: $ jtreg -jdk:jdk9/dev/bui

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-31 Thread Lev Priima
Thanks Ivan! I've updated: http://cr.openjdk.java.net/~lpriima/8067471/webrev.05/. Best Regards, Lev

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-30 Thread Lev Priima
Thanks Ivan, As I understood dstbegin typo was only in comments. I've changed it to camelCase as in code. I've also applied benchmarked by Claes patch from http://cr.openjdk.java.net/~redestad/8067471/webrev.03/ Please review latest changeset: http://cr.openjdk.java.net/~lpriima/8067471/webr

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-19 Thread Lev Priima
Agree, but it's not just style. More formal, Implementation of same requirements(both performance and functional) in less code, is an src quality metric. On 12/19/2014 08:52 PM, Aleksey Shipilev wrote: On 21.12.2014 18:37, Lev Priima wrote: Thanks for exhaustive research. Looks formal e

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-19 Thread Lev Priima
CountCP() { return new String(emptyIntArray, 0, 0); } @Benchmark public String singleStringCount() { return new String(singleCharArray, 0, 1); } @Benchmark public String singleStringCountCP() { return new String(singleIntArray, 0, 1); } On 2014

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-19 Thread Lev Priima
Aleksey, Thanks for exhaustive research. Looks formal enough to claim that both variants of change bring only perf advantages, but, as I understand, which one is better is not so straightforward. On 12/19/2014 04:11 PM, Aleksey Shipilev wrote: On 12/19/2014 03:41 AM, Lev Priima wrote: By

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-18 Thread Lev Priima
Hi Rémi, Sure this examples will not be affected, but we have to concern about other applications which are probably using this constructor. Could you suggest such applications? On 17.12.2014 21:49, Remi Forax wrote: On 12/17/2014 11:22 AM, Lev Priima wrote: Hi, Please review space

Re: RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-18 Thread Lev Priima
re . Do we have bigapps-like benchmarks which may show regression on this? On 17.12.2014 21:10, Aleksey Shipilev wrote: On 17.12.2014 18:58, Claes Redestad wrote: On 2014-12-17 11:22, Lev Priima wrote: Please review space optimization in no args String constructor. Originally, it was already rej

RFR(S): 8067471: Use private static final char[0] for empty Strings

2014-12-17 Thread Lev Priima
Hi, Please review space optimization in no args String constructor. Originally, it was already rejected once by suggestion in http://mail.openjdk.java.net/pipermail/core-libs-dev/2012-May/010300.html w/o formal justification of pros and contras. And enhancement was requested again by Nathan