From christian.thalinger at oracle.com Mon May 2 00:59:17 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 2 May 2011 09:59:17 +0200 Subject: Request for reviews (XS): 6552561: MaxRecursiveInlineLevel flag doesn't operate correctly In-Reply-To: <28BE1828-30CD-423F-AF7E-4468A5203E26@oracle.com> References: <04CB0C21-36F0-411A-AAB6-89C49A9A1D39@oracle.com> <28BE1828-30CD-423F-AF7E-4468A5203E26@oracle.com> Message-ID: <33A93FD8-CE89-45D5-A37E-E87A16CBBFBC@oracle.com> Thank you, Tom and Vladimir. -- Christian On Apr 29, 2011, at 7:37 PM, Tom Rodriguez wrote: > Looks good. > > tom > > On Apr 29, 2011, at 4:03 AM, Christian Thalinger wrote: > >> http://cr.openjdk.java.net/~twisti/6552561/ >> >> 6552561: MaxRecursiveInlineLevel flag doesn't operate correctly >> Reviewed-by: >> >> The current logic around MaxRecursiveInlineLevel does not calculate >> the inline depth correctly in some situations resulting in different >> recursive inlining depending on the compiled method. >> >> The fix is to use the logic we already use for recursive method handle >> targets. This also handles indirect recursion correctly. >> >> src/share/vm/opto/bytecodeInfo.cpp >> >> --- >> >> Some before-after examples: >> >> 1. Direct recursive inlining... >> >> ...with -XX:MaxRecursiveInlineLevel=1: >> >> Before: >> >> 282 1 fib::fib (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> 301 1 % fib::main @ 2 (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> >> Results in different recursive inlining in the two compiles (2 vs. 1). >> >> After: >> >> 673 1 fib::fib (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> 702 1 % fib::main @ 2 (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> >> ...with -XX:MaxRecursiveInlineLevel=0: >> >> Before: >> >> 396 1 fib::fib (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> 414 1 % fib::main @ 2 (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> >> Results in different recursive inlining in the two compiles (1 vs. 0). >> >> After: >> >> 602 1 fib::fib (21 bytes) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> 633 1 % fib::main @ 2 (21 bytes) >> @ 10 fib::fib (21 bytes) inline (hot) >> @ 10 fib::fib (21 bytes) recursively inlining too deep >> @ 16 fib::fib (21 bytes) recursively inlining too deep >> >> 2. Indirect recursive inlining... >> >> ...with -XX:MaxRecursiveInlineLevel=1: >> >> Before: >> >> 292 1 % indirect::main @ 2 (21 bytes) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) inlining too deep >> >> Indirect recursive inlining not handled at all, the logic inlines until MaxInlineLevel is hit (which is 9 by default). >> >> After: >> >> 624 1 % indirect::main @ 2 (21 bytes) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) recursively inlining too deep >> >> Every recursive call is inlined once. >> >> ...with -XX:MaxRecursiveInlineLevel=0: >> >> After: >> >> 602 1 indirect::foo (14 bytes) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) recursively inlining too deep >> 621 2 indirect::bar (14 bytes) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) recursively inlining too deep >> 623 1 % indirect::main @ 2 (21 bytes) >> @ 10 indirect::foo (14 bytes) inline (hot) >> @ 10 indirect::bar (14 bytes) inline (hot) >> @ 10 indirect::foo (14 bytes) recursively inlining too deep >> >> No recursive inlining. From fweimer at bfk.de Mon May 2 03:00:39 2011 From: fweimer at bfk.de (Florian Weimer) Date: Mon, 02 May 2011 10:00:39 +0000 Subject: Request for reviews (XXL): 5091921: Sign flip issues in loop optimizer In-Reply-To: <4DB9F28A.8020105@oracle.com> (Vladimir Kozlov's message of "Thu\, 28 Apr 2011 16\:04\:42 -0700") References: <4DB9F28A.8020105@oracle.com> Message-ID: <82k4e91kxk.fsf@mid.bfk.de> * Vladimir Kozlov: > http://cr.openjdk.java.net/~kvn/5091921/webrev > > Fixed 5091921: Sign flip issues in loop optimizer Nice. This seems to be Iced Tea bug 352 and Debian bug 529337. -- Florian Weimer BFK edv-consulting GmbH http://www.bfk.de/ Kriegsstra?e 100 tel: +49-721-96201-1 D-76133 Karlsruhe fax: +49-721-96201-99 From christian.thalinger at oracle.com Mon May 2 03:20:27 2011 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Mon, 02 May 2011 10:20:27 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6552561: MaxRecursiveInlineLevel flag doesn't operate correctly Message-ID: <20110502102037.26B36471AE@hg.openjdk.java.net> Changeset: b21ecca7ccc4 Author: twisti Date: 2011-05-02 00:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b21ecca7ccc4 6552561: MaxRecursiveInlineLevel flag doesn't operate correctly Reviewed-by: kvn, never ! src/share/vm/opto/bytecodeInfo.cpp From christian.thalinger at oracle.com Mon May 2 05:03:17 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 2 May 2011 14:03:17 +0200 Subject: review for 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp In-Reply-To: References: Message-ID: On Apr 30, 2011, at 12:29 AM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7009361 > > 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp > Reviewed-by: src/share/vm/runtime/frame.hpp: 492 // A collection of described stack values that can print a sybolic Typo: symbolic Otherwise looks good. Thanks for fixing the bug and TraceMethodHandles (I already have a partial fix for it but yours is better). -- Christian From tom.rodriguez at oracle.com Mon May 2 10:06:13 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 2 May 2011 10:06:13 -0700 Subject: review for 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp In-Reply-To: <4DBBA691.5090904@oracle.com> References: <4DBBA691.5090904@oracle.com> Message-ID: On Apr 29, 2011, at 11:05 PM, Vladimir Kozlov wrote: > Looks fine as far as I understand it and thank you for fixing loop predicates output. > One thing which was not clear is registers usage in 32-bit code in trace_method_handle() in methodHandles_x86.cpp. Yes, from caller of trace_method_handle() you can find it out but in trace_method_handle() it looks like mess. What would you like to see? tom > > Vladimir > > On 4/29/11 3:29 PM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7009361 >> >> 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp >> Reviewed-by: >> >> In the invokedynamic world the signature of the method at an invoke >> bytecode might note be the same as the signature of the callee you >> finally end up in. This all works correctly during normal execution >> but it can break the logic that deopt uses to layout the frames. In >> particular on sparc we attempt to place the locals in the same >> location that the interpreter execution would have produced by using >> the callers expression stack address and callee->size_of_parameters() >> to figure out where the top of the live stack is. If the size of the >> parameters at the original call site is less than the size of the >> parameters of the actual callee then the locals will end up top of the >> callers live expression stack. The x86 version of this code places >> the locals at the bottom of the frame which keeps this from happening >> and I've modified sparc to do the same. There's no reason they need >> to be in the same location. >> >> The other potential problem is that deopt also has logic that makes >> sure the existing caller is enlarged enough to account for the >> difference between the callee parameters and the callee locals. In >> the current world we don't really need to enlarge this space because >> the method handle machinery also operates like the interpreter so it >> extends the caller frame when injecting extra arguments, thus making >> sure there's really enough space when we deopt. Since it doesn't have >> to work this way I decided to fix this logic to grab the caller notion >> of the number of arguments and correct the last frame adjust using >> this value. >> >> Additionally the TraceMethodHandles logic was very broken in x86 so I >> fixed it. It was mainly broken because some of the >> trace_method_handle calls are generated using an >> InterpreterMacroAssembler which has extra asserts in call_VM_leaf_base >> that don't really apply for the method handle adapters. There were >> also problems with the number of arguments being passed in 64 bit. I >> ended up moving super_call_VM_leaf up into MacroAssembler since >> there's no way to figure out that you are using an >> InterpreterMacroAssembler versus a MacroAssembler. >> >> To debug this I added a new printing function, >> JavaThread::print_frame_layout, that prints an annotated view of the >> stack memory similar to what the SA's memory viewer does. It also >> includes some logic to check that the space owned by a frame isn't >> claimed by another frame. That actually detects the original bug >> immediately. It's not as full featured as it might be but it reports >> everything you need to know about interpreter frames. >> >> I also made a small change in loopPredicate because the ttyLocker was >> producing spurious output in the log all the time. >> >> Tested with original failing test from test and DeoptimizeALot testing >> on sparc. >> From vladimir.kozlov at oracle.com Mon May 2 10:24:10 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 02 May 2011 10:24:10 -0700 Subject: review for 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp In-Reply-To: References: <4DBBA691.5090904@oracle.com> Message-ID: <4DBEE8BA.6020309@oracle.com> Tom Rodriguez wrote: > On Apr 29, 2011, at 11:05 PM, Vladimir Kozlov wrote: > >> Looks fine as far as I understand it and thank you for fixing loop predicates output. >> One thing which was not clear is registers usage in 32-bit code in trace_method_handle() in methodHandles_x86.cpp. Yes, from caller of trace_method_handle() you can find it out but in trace_method_handle() it looks like mess. > > What would you like to see? Register naming something like r_method_handle and r_saved_sp to have the same call code for 32- and 64-bit VM. Also why you move values to c_rarg? super_call_VM_leaf() will move them again. Vladimir > > tom > > >> Vladimir >> >> On 4/29/11 3:29 PM, Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7009361 >>> >>> 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp >>> Reviewed-by: >>> >>> In the invokedynamic world the signature of the method at an invoke >>> bytecode might note be the same as the signature of the callee you >>> finally end up in. This all works correctly during normal execution >>> but it can break the logic that deopt uses to layout the frames. In >>> particular on sparc we attempt to place the locals in the same >>> location that the interpreter execution would have produced by using >>> the callers expression stack address and callee->size_of_parameters() >>> to figure out where the top of the live stack is. If the size of the >>> parameters at the original call site is less than the size of the >>> parameters of the actual callee then the locals will end up top of the >>> callers live expression stack. The x86 version of this code places >>> the locals at the bottom of the frame which keeps this from happening >>> and I've modified sparc to do the same. There's no reason they need >>> to be in the same location. >>> >>> The other potential problem is that deopt also has logic that makes >>> sure the existing caller is enlarged enough to account for the >>> difference between the callee parameters and the callee locals. In >>> the current world we don't really need to enlarge this space because >>> the method handle machinery also operates like the interpreter so it >>> extends the caller frame when injecting extra arguments, thus making >>> sure there's really enough space when we deopt. Since it doesn't have >>> to work this way I decided to fix this logic to grab the caller notion >>> of the number of arguments and correct the last frame adjust using >>> this value. >>> >>> Additionally the TraceMethodHandles logic was very broken in x86 so I >>> fixed it. It was mainly broken because some of the >>> trace_method_handle calls are generated using an >>> InterpreterMacroAssembler which has extra asserts in call_VM_leaf_base >>> that don't really apply for the method handle adapters. There were >>> also problems with the number of arguments being passed in 64 bit. I >>> ended up moving super_call_VM_leaf up into MacroAssembler since >>> there's no way to figure out that you are using an >>> InterpreterMacroAssembler versus a MacroAssembler. >>> >>> To debug this I added a new printing function, >>> JavaThread::print_frame_layout, that prints an annotated view of the >>> stack memory similar to what the SA's memory viewer does. It also >>> includes some logic to check that the space owned by a frame isn't >>> claimed by another frame. That actually detects the original bug >>> immediately. It's not as full featured as it might be but it reports >>> everything you need to know about interpreter frames. >>> >>> I also made a small change in loopPredicate because the ttyLocker was >>> producing spurious output in the log all the time. >>> >>> Tested with original failing test from test and DeoptimizeALot testing >>> on sparc. >>> > From vladimir.kozlov at oracle.com Mon May 2 10:24:28 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 02 May 2011 10:24:28 -0700 Subject: Request for reviews (S): 7041100: The load in String.equals intrinsic executed before null check Message-ID: <4DBEE8CC.6040408@oracle.com> http://cr.openjdk.java.net/~kvn/7041100/webrev Fixed 7041100: The load in String.equals intrinsic executed before null check String.equals intrinsic has (rec == arg) check followed by NULL check generated by gen_instanceof() when there was no NULL check before. If compiled method also has (rec == arg) check followed by explicit NULL check of argument then a load from argument could be scheduled before NULL check because of 6831314 bug. Generate explicit check (uncast(argument) == null) in String.equals intrinsic until 6831314 is fixed. We have to uncast not-nullness otherwise the check will fold immediately and it is needed until after CCP phase. From tom.rodriguez at oracle.com Mon May 2 10:42:26 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 2 May 2011 10:42:26 -0700 Subject: review for 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp In-Reply-To: <4DBEE8BA.6020309@oracle.com> References: <4DBBA691.5090904@oracle.com> <4DBEE8BA.6020309@oracle.com> Message-ID: <9E700A80-B5A7-45AC-93D4-708566695968@oracle.com> On May 2, 2011, at 10:24 AM, Vladimir Kozlov wrote: > Tom Rodriguez wrote: >> On Apr 29, 2011, at 11:05 PM, Vladimir Kozlov wrote: >>> Looks fine as far as I understand it and thank you for fixing loop predicates output. >>> One thing which was not clear is registers usage in 32-bit code in trace_method_handle() in methodHandles_x86.cpp. Yes, from caller of trace_method_handle() you can find it out but in trace_method_handle() it looks like mess. >> What would you like to see? > > Register naming something like r_method_handle and r_saved_sp to have the same call code for 32- and 64-bit VM. Also why you move values to c_rarg? super_call_VM_leaf() will move them again. It won't move them if they are already in the right location. One of the registers I'm passing, rcx, is part of the calling convention and its order in the calling convention changes depending on platform, so I'm passing them by hand to make sure they aren't clobbered. I added some comments: #ifdef _LP64 // Pass arguments carefully since the registers overlap with the calling convention. // rcx: method handle // r13: saved sp __ mov(c_rarg2, rcx); // mh __ mov(c_rarg1, r13); // saved sp __ mov(c_rarg3, rsp); // sp __ movptr(c_rarg0, (intptr_t) adaptername); __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, trace_method_handle_stub), c_rarg0, c_rarg1, c_rarg2, c_rarg3); #else // arguments: // rcx: method handle // rsi: saved sp __ movptr(rbx, (intptr_t) adaptername); __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, trace_method_handle_stub), rbx, rsi, rcx, rsp); #endif Is that good enough? tom > > Vladimir > >> tom >>> Vladimir >>> >>> On 4/29/11 3:29 PM, Tom Rodriguez wrote: >>>> http://cr.openjdk.java.net/~never/7009361 >>>> >>>> 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp >>>> Reviewed-by: >>>> >>>> In the invokedynamic world the signature of the method at an invoke >>>> bytecode might note be the same as the signature of the callee you >>>> finally end up in. This all works correctly during normal execution >>>> but it can break the logic that deopt uses to layout the frames. In >>>> particular on sparc we attempt to place the locals in the same >>>> location that the interpreter execution would have produced by using >>>> the callers expression stack address and callee->size_of_parameters() >>>> to figure out where the top of the live stack is. If the size of the >>>> parameters at the original call site is less than the size of the >>>> parameters of the actual callee then the locals will end up top of the >>>> callers live expression stack. The x86 version of this code places >>>> the locals at the bottom of the frame which keeps this from happening >>>> and I've modified sparc to do the same. There's no reason they need >>>> to be in the same location. >>>> >>>> The other potential problem is that deopt also has logic that makes >>>> sure the existing caller is enlarged enough to account for the >>>> difference between the callee parameters and the callee locals. In >>>> the current world we don't really need to enlarge this space because >>>> the method handle machinery also operates like the interpreter so it >>>> extends the caller frame when injecting extra arguments, thus making >>>> sure there's really enough space when we deopt. Since it doesn't have >>>> to work this way I decided to fix this logic to grab the caller notion >>>> of the number of arguments and correct the last frame adjust using >>>> this value. >>>> >>>> Additionally the TraceMethodHandles logic was very broken in x86 so I >>>> fixed it. It was mainly broken because some of the >>>> trace_method_handle calls are generated using an >>>> InterpreterMacroAssembler which has extra asserts in call_VM_leaf_base >>>> that don't really apply for the method handle adapters. There were >>>> also problems with the number of arguments being passed in 64 bit. I >>>> ended up moving super_call_VM_leaf up into MacroAssembler since >>>> there's no way to figure out that you are using an >>>> InterpreterMacroAssembler versus a MacroAssembler. >>>> >>>> To debug this I added a new printing function, >>>> JavaThread::print_frame_layout, that prints an annotated view of the >>>> stack memory similar to what the SA's memory viewer does. It also >>>> includes some logic to check that the space owned by a frame isn't >>>> claimed by another frame. That actually detects the original bug >>>> immediately. It's not as full featured as it might be but it reports >>>> everything you need to know about interpreter frames. >>>> >>>> I also made a small change in loopPredicate because the ttyLocker was >>>> producing spurious output in the log all the time. >>>> >>>> Tested with original failing test from test and DeoptimizeALot testing >>>> on sparc. >>>> From vladimir.kozlov at oracle.com Mon May 2 10:45:48 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 02 May 2011 10:45:48 -0700 Subject: review for 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp In-Reply-To: <9E700A80-B5A7-45AC-93D4-708566695968@oracle.com> References: <4DBBA691.5090904@oracle.com> <4DBEE8BA.6020309@oracle.com> <9E700A80-B5A7-45AC-93D4-708566695968@oracle.com> Message-ID: <4DBEEDCC.8010707@oracle.com> Yes, it is good enough. Thanks, Vladimir Tom Rodriguez wrote: > On May 2, 2011, at 10:24 AM, Vladimir Kozlov wrote: > >> Tom Rodriguez wrote: >>> On Apr 29, 2011, at 11:05 PM, Vladimir Kozlov wrote: >>>> Looks fine as far as I understand it and thank you for fixing loop predicates output. >>>> One thing which was not clear is registers usage in 32-bit code in trace_method_handle() in methodHandles_x86.cpp. Yes, from caller of trace_method_handle() you can find it out but in trace_method_handle() it looks like mess. >>> What would you like to see? >> Register naming something like r_method_handle and r_saved_sp to have the same call code for 32- and 64-bit VM. Also why you move values to c_rarg? super_call_VM_leaf() will move them again. > > It won't move them if they are already in the right location. One of the registers I'm passing, rcx, is part of the calling convention and its order in the calling convention changes depending on platform, so I'm passing them by hand to make sure they aren't clobbered. I added some comments: > > #ifdef _LP64 > // Pass arguments carefully since the registers overlap with the calling convention. > // rcx: method handle > // r13: saved sp > __ mov(c_rarg2, rcx); // mh > __ mov(c_rarg1, r13); // saved sp > __ mov(c_rarg3, rsp); // sp > __ movptr(c_rarg0, (intptr_t) adaptername); > __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, trace_method_handle_stub), c_rarg0, c_rarg1, c_rarg2, c_rarg3); > #else > // arguments: > // rcx: method handle > // rsi: saved sp > __ movptr(rbx, (intptr_t) adaptername); > __ super_call_VM_leaf(CAST_FROM_FN_PTR(address, trace_method_handle_stub), rbx, rsi, rcx, rsp); > #endif > > Is that good enough? > > tom > > >> Vladimir >> >>> tom >>>> Vladimir >>>> >>>> On 4/29/11 3:29 PM, Tom Rodriguez wrote: >>>>> http://cr.openjdk.java.net/~never/7009361 >>>>> >>>>> 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp >>>>> Reviewed-by: >>>>> >>>>> In the invokedynamic world the signature of the method at an invoke >>>>> bytecode might note be the same as the signature of the callee you >>>>> finally end up in. This all works correctly during normal execution >>>>> but it can break the logic that deopt uses to layout the frames. In >>>>> particular on sparc we attempt to place the locals in the same >>>>> location that the interpreter execution would have produced by using >>>>> the callers expression stack address and callee->size_of_parameters() >>>>> to figure out where the top of the live stack is. If the size of the >>>>> parameters at the original call site is less than the size of the >>>>> parameters of the actual callee then the locals will end up top of the >>>>> callers live expression stack. The x86 version of this code places >>>>> the locals at the bottom of the frame which keeps this from happening >>>>> and I've modified sparc to do the same. There's no reason they need >>>>> to be in the same location. >>>>> >>>>> The other potential problem is that deopt also has logic that makes >>>>> sure the existing caller is enlarged enough to account for the >>>>> difference between the callee parameters and the callee locals. In >>>>> the current world we don't really need to enlarge this space because >>>>> the method handle machinery also operates like the interpreter so it >>>>> extends the caller frame when injecting extra arguments, thus making >>>>> sure there's really enough space when we deopt. Since it doesn't have >>>>> to work this way I decided to fix this logic to grab the caller notion >>>>> of the number of arguments and correct the last frame adjust using >>>>> this value. >>>>> >>>>> Additionally the TraceMethodHandles logic was very broken in x86 so I >>>>> fixed it. It was mainly broken because some of the >>>>> trace_method_handle calls are generated using an >>>>> InterpreterMacroAssembler which has extra asserts in call_VM_leaf_base >>>>> that don't really apply for the method handle adapters. There were >>>>> also problems with the number of arguments being passed in 64 bit. I >>>>> ended up moving super_call_VM_leaf up into MacroAssembler since >>>>> there's no way to figure out that you are using an >>>>> InterpreterMacroAssembler versus a MacroAssembler. >>>>> >>>>> To debug this I added a new printing function, >>>>> JavaThread::print_frame_layout, that prints an annotated view of the >>>>> stack memory similar to what the SA's memory viewer does. It also >>>>> includes some logic to check that the space owned by a frame isn't >>>>> claimed by another frame. That actually detects the original bug >>>>> immediately. It's not as full featured as it might be but it reports >>>>> everything you need to know about interpreter frames. >>>>> >>>>> I also made a small change in loopPredicate because the ttyLocker was >>>>> producing spurious output in the log all the time. >>>>> >>>>> Tested with original failing test from test and DeoptimizeALot testing >>>>> on sparc. >>>>> > From tom.rodriguez at oracle.com Mon May 2 14:09:34 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 2 May 2011 14:09:34 -0700 Subject: Request for reviews (S): 7041100: The load in String.equals intrinsic executed before null check In-Reply-To: <4DBEE8CC.6040408@oracle.com> References: <4DBEE8CC.6040408@oracle.com> Message-ID: <53226B09-A114-43EE-92E1-BA51D716D029@oracle.com> I think the updated webrev looks good. tom On May 2, 2011, at 10:24 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7041100/webrev > > Fixed 7041100: The load in String.equals intrinsic executed before null check > > String.equals intrinsic has (rec == arg) check followed by NULL check generated by gen_instanceof() when there was no NULL check before. If compiled method also has (rec == arg) check followed by explicit NULL check of argument then a load from argument could be scheduled before NULL check because of 6831314 bug. > > Generate explicit check (uncast(argument) == null) in String.equals intrinsic until 6831314 is fixed. We have to uncast not-nullness otherwise the check will fold immediately and it is needed until after CCP phase. From tom.rodriguez at oracle.com Mon May 2 14:19:34 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 2 May 2011 14:19:34 -0700 Subject: review for 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp In-Reply-To: References: Message-ID: <74545425-6B9E-4F4A-B5F1-C0589E117E42@oracle.com> On May 2, 2011, at 5:03 AM, Christian Thalinger wrote: > On Apr 30, 2011, at 12:29 AM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7009361 >> >> 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp >> Reviewed-by: > > src/share/vm/runtime/frame.hpp: > > 492 // A collection of described stack values that can print a sybolic > > Typo: symbolic Fixed. Thanks Christian and Vladimir. tom > > Otherwise looks good. Thanks for fixing the bug and TraceMethodHandles (I already have a partial fix for it but yours is better). > > -- Christian From tom.rodriguez at oracle.com Mon May 2 14:25:29 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 2 May 2011 14:25:29 -0700 Subject: review for 6796786: invalid FP identity transform - (a - b) -> b - a Message-ID: http://cr.openjdk.java.net/~never/6796786 6796786: invalid FP identity transform - (a - b) -> b - a Reviewed-by: C2 is transforming the idiom - (a - b) into b - a which produces the wrong sign if a == b. The fix is to eliminate that optimization. Tested with test from report. From tom.rodriguez at oracle.com Mon May 2 15:04:27 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Mon, 02 May 2011 22:04:27 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 53 new changesets Message-ID: <20110502220559.4712A471D9@hg.openjdk.java.net> Changeset: 5504afd15955 Author: zgu Date: 2011-04-14 11:50 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5504afd15955 7033100: CreateMinidumpOnCrash does not work for failed asserts Summary: Passing NULL as MINIDUMP_EXCEPTION_INFORMATION when calling MiniDumpWriteDump when crash is due to assertion instead of real exception to avoid creating zero-length mini dump file. Reviewed-by: acorn, dcubed, poonam, coleenp ! src/os/windows/vm/os_windows.cpp Changeset: 6c9cec219ce4 Author: vladidan Date: 2011-04-11 23:02 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6c9cec219ce4 7005865: Crash when running with PrintIRWithLIR Summary: the failure is caused by uninitialized bci number Reviewed-by: iveresov ! src/share/vm/c1/c1_Instruction.cpp Changeset: c737922fd8bb Author: vladidan Date: 2011-04-12 10:32 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c737922fd8bb Merge Changeset: 208b6c560ff4 Author: vladidan Date: 2011-04-14 11:02 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/208b6c560ff4 Merge ! src/share/vm/c1/c1_Instruction.cpp Changeset: a534c140904e Author: vladidan Date: 2011-04-14 23:06 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a534c140904e Merge Changeset: 8ce625481709 Author: coleenp Date: 2011-04-15 09:36 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8ce625481709 7032407: Crash in LinkResolver::runtime_resolve_virtual_method() Summary: Make CDS reorder vtables so that dump time vtables match run time order, so when redefine classes reinitializes them, they aren't in the wrong order. Reviewed-by: dcubed, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/memory/dump.cpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klassVtable.cpp ! src/share/vm/oops/klassVtable.hpp Changeset: fcc932c8238c Author: thurka Date: 2011-04-16 11:59 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/fcc932c8238c 7007254: NullPointerException occurs with jvisualvm placed under a dir. including Japanese chars Summary: use java_lang_String::create_from_platform_dependent_str() instead of java_lang_String::create_from_str() in JvmtiEnv::AddToSystemClassLoaderSearch() Reviewed-by: dcubed ! src/share/vm/prims/jvmtiEnv.cpp Changeset: df8a1555b1ea Author: coleenp Date: 2011-04-19 20:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/df8a1555b1ea Merge Changeset: e6beb62de02d Author: never Date: 2011-04-05 19:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e6beb62de02d 7032963: StoreCM shouldn't participate in store elimination Reviewed-by: kvn ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/output.cpp Changeset: e1162778c1c8 Author: johnc Date: 2011-04-07 09:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e1162778c1c8 7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error Summary: A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer. Reviewed-by: kvn, iveresov, never, tonyp, dholmes ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interpreterGenerator_sparc.hpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/cppInterpreterGenerator_x86.hpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/interpreterGenerator_zero.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/cppInterpreter.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/unsafe.cpp Changeset: 9c4f56ff88e9 Author: jcoomes Date: 2011-04-07 16:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9c4f56ff88e9 7034133: cleanup obsolete option handling Reviewed-by: ysr, johnc, poonam ! src/share/vm/runtime/arguments.cpp Changeset: eda9eb483d29 Author: jcoomes Date: 2011-04-07 17:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/eda9eb483d29 6841742: par compact - remove unused/unsupported options Summary: ignore UseParallel{OldGCDensePrefix,OldGCCompacting,DensePrefixUpdate} Reviewed-by: jwilhelm, brutisso ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPermGen.hpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 92add02409c9 Author: jmasa Date: 2011-04-08 14:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/92add02409c9 Merge ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/prims/unsafe.cpp Changeset: f177ddd59c60 Author: jmasa Date: 2011-04-08 14:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f177ddd59c60 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 59766fd005ff Author: johnc Date: 2011-04-13 17:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/59766fd005ff 7035117: G1: nsk/stress/jni/jnistress002 fails with assertion failure Summary: Allow long type for offset in G1 code in compiler implementations of Unsafe.getObject Reviewed-by: never, iveresov ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/opto/library_call.cpp Changeset: 5d046bf49ce7 Author: johnc Date: 2011-04-14 13:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5d046bf49ce7 Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: c69b1043dfb1 Author: ysr Date: 2011-04-14 12:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c69b1043dfb1 7036482: clear argument is redundant and unused in cardtable methods Summary: Removed the unused clear argument to various cardtbale methods and unused mod_oop_in_space_iterate method. Unrelated to synopsis, added a pair of clarifying parens in AllocationStats constructor. Reviewed-by: brutisso, jcoomes ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/shared/allocationStats.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/modRefBarrierSet.hpp Changeset: 4080db1b5d0a Author: johnc Date: 2011-04-14 13:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4080db1b5d0a Merge Changeset: edd9b016deb6 Author: johnc Date: 2011-04-15 10:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/edd9b016deb6 7036021: G1: build failure on win64 and linux with hs21 in jdk6 build environment Summary: Missing parentheses around a casted expression and some missing casts were causing build failures with the jdk6 build tools. Reviewed-by: kvn, brutisso ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/opto/library_call.cpp Changeset: 1d0b856224f8 Author: jmasa Date: 2011-04-17 01:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1d0b856224f8 6946385: G1: jstat does not support G1 GC Summary: Added counters for jstat Reviewed-by: tonyp, jwilhelm, stefank, ysr, johnc Changeset: 527b586edf24 Author: johnc Date: 2011-04-18 16:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/527b586edf24 7036706: G1: Use LIR_OprDesc::as_pointer_register in code changes for 7035117 Summary: Use LIR_OprDesc::as_pointer_register() instead as_register/as_register_lo combination in the code changes for 7035117. Reviewed-by: iveresov ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp Changeset: 732454aaf5cb Author: jmasa Date: 2011-04-20 20:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/732454aaf5cb Merge ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 2705303a05c4 Author: schien Date: 2011-04-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2705303a05c4 Added tag jdk7-b138 for changeset 0930dc920c18 ! .hgtags Changeset: d6d9b537f2c6 Author: trims Date: 2011-04-14 17:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d6d9b537f2c6 Added tag hs21-b08 for changeset 0930dc920c18 ! .hgtags Changeset: da7f1093a6b7 Author: trims Date: 2011-04-15 18:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/da7f1093a6b7 Merge Changeset: 611e19a16519 Author: trims Date: 2011-04-15 18:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/611e19a16519 7037174: Bump the HS21 build number to 09 Summary: Update the HS21 build number to 09 Reviewed-by: jcoomes ! make/hotspot_version Changeset: db3a870b62f6 Author: katleman Date: 2011-04-21 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/db3a870b62f6 Added tag jdk7-b139 for changeset 611e19a16519 ! .hgtags Changeset: 7b4fb6089361 Author: trims Date: 2011-04-21 19:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7b4fb6089361 Added tag hs21-b09 for changeset 611e19a16519 ! .hgtags Changeset: 83fccfbfe47b Author: trims Date: 2011-04-22 18:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/83fccfbfe47b Merge Changeset: d283b8296671 Author: trims Date: 2011-04-22 18:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d283b8296671 7039044: Bump the HS21 build number to 10 Summary: Update the HS21 build number to 10 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 7ec4bb02d5f0 Author: vladidan Date: 2011-04-20 14:07 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7ec4bb02d5f0 7035861: linux-armsflt: assert(ni->data() == (int)(x + o)) failed: instructions must match Summary: The change avoids generating relocation info entry for the staging area patching stub on systems that don't support movw/movt instructions Reviewed-by: bdelsart ! src/share/vm/c1/c1_Runtime1.cpp Changeset: 49bd9c6f7bce Author: vladidan Date: 2011-04-21 10:12 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/49bd9c6f7bce Merge Changeset: cdd13dce903e Author: vladidan Date: 2011-04-23 00:33 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/cdd13dce903e Merge Changeset: 01147d8aac1d Author: coleenp Date: 2011-04-26 14:04 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/01147d8aac1d 7009923: JSR 292: VM crash in JavaThread::last_frame Summary: Handle stack overflow before the first frame is called, by printing out the called method and not walking the stack. Reviewed-by: dholmes, phh, dsamersoff ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/exceptions.hpp Changeset: df22fe9c5a93 Author: coleenp Date: 2011-04-27 17:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/df22fe9c5a93 Merge Changeset: 286c498ae0d4 Author: kvn Date: 2011-04-29 11:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/286c498ae0d4 Merge ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/graphKit.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/runtime/globals.hpp Changeset: 49a67202bc67 Author: tonyp Date: 2011-04-19 15:46 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/49a67202bc67 7011855: G1: non-product flag to artificially grow the heap Summary: It introduces non-product cmd line parameter G1DummyRegionsPerGC which indicates how many "dummy" regions to allocate at the end of each GC. This allows the G1 heap to grow artificially and makes concurrent marking cycles more frequent irrespective of what the application that is running is doing. The dummy regions will be found totally empty during cleanup so this parameter can also be used to stress the concurrent cleanup operation. Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 139667d9836a Author: iveresov Date: 2011-04-20 17:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/139667d9836a 7034464: Support transparent large pages on Linux Summary: Support transparent huge pages on Linux available since 2.6.38 Reviewed-by: iveresov, ysr Contributed-by: aph at redhat.com ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp Changeset: c48ad6ab8bdf Author: ysr Date: 2011-04-20 19:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c48ad6ab8bdf 7037276: Unnecessary double traversal of dirty card windows Summary: Short-circuited an unnecessary double traversal of dirty card windows when iterating younger refs. Also renamed some cardtable methods for more clarity. Reviewed-by: jmasa, stefank, poonam ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp Changeset: c0dcda80820f Author: ysr Date: 2011-04-21 01:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c0dcda80820f Merge Changeset: b52782ae3880 Author: jmasa Date: 2011-04-21 10:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b52782ae3880 6946417: G1: Java VisualVM does not support G1 properly. Summary: Added counters for jstat Reviewed-by: tonyp, jwilhelm, stefank, ysr, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp + src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp + src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp ! src/share/vm/gc_implementation/shared/generationCounters.cpp ! src/share/vm/gc_implementation/shared/generationCounters.hpp + src/share/vm/gc_implementation/shared/hSpaceCounters.cpp + src/share/vm/gc_implementation/shared/hSpaceCounters.hpp ! src/share/vm/services/g1MemoryPool.cpp ! src/share/vm/services/g1MemoryPool.hpp Changeset: 7f3faf7159fd Author: jmasa Date: 2011-04-22 09:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7f3faf7159fd Merge ! src/os/linux/vm/os_linux.cpp Changeset: d6cdc6c77582 Author: jcoomes Date: 2011-04-23 04:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d6cdc6c77582 7037250: cscope.make database generation is silently broken Reviewed-by: stefank + make/cscope.make ! make/linux/Makefile - make/linux/makefiles/cscope.make ! make/solaris/Makefile - make/solaris/makefiles/cscope.make Changeset: c303b3532d4a Author: iveresov Date: 2011-04-26 11:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c303b3532d4a 7037939: NUMA: Disable adaptive resizing if SHM large pages are used Summary: Make the NUMA allocator behave properly with SHM and ISM large pages. Reviewed-by: ysr ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp Changeset: 1f4413413144 Author: ysr Date: 2011-04-26 21:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1f4413413144 7039089: G1: changeset for 7037276 broke heap verification, and related cleanups Summary: In G1 heap verification, we no longer scan perm to G1-collected heap refs as part of process_strong_roots() but rather in a separate explicit oop iteration over the perm gen. This preserves the original perm card-marks. Added a new assertion in younger_refs_iterate() to catch a simple subcase where the user may have forgotten a prior save_marks() call, as happened in the case of G1's attempt to iterate perm to G1 refs when verifying the heap before exit. The assert was deliberately weakened for ParNew+CMS and will be fixed for that combination in a future CR. Also made some (non-G1) cleanups related to code and comments obsoleted by the migration of Symbols to the native heap. Reviewed-by: iveresov, jmasa, tonyp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp ! src/share/vm/runtime/vmThread.cpp Changeset: 86ebb26bcdeb Author: johnc Date: 2011-04-27 14:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/86ebb26bcdeb 7037756: Deadlock in compiler thread similiar to 6789220 Summary: Avoid blocking in CompileBroker::compile_method_base() if the current thread holds the pending list lock. Reviewed-by: never, brutisso, ysr ! src/share/vm/compiler/compileBroker.cpp Changeset: c6033dad9fd3 Author: jmasa Date: 2011-04-29 12:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c6033dad9fd3 Merge - make/linux/makefiles/cscope.make - make/solaris/makefiles/cscope.make Changeset: df0a92a7e30b Author: jmasa Date: 2011-04-29 14:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/df0a92a7e30b Merge Changeset: 4ca65400aa33 Author: ohair Date: 2011-04-26 16:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/4ca65400aa33 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore Changeset: d7cc76ea8d06 Author: cl Date: 2011-04-27 19:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d7cc76ea8d06 Merge Changeset: 6431be02f3ac Author: trims Date: 2011-04-29 16:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6431be02f3ac Merge - make/linux/makefiles/cscope.make - make/solaris/makefiles/cscope.make Changeset: 3aea9e9feb07 Author: trims Date: 2011-04-29 17:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3aea9e9feb07 7040777: Bump the HS21 build number to 11 Summary: Update the HS21 build number to 11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 49d67a090fe2 Author: never Date: 2011-05-02 10:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/49d67a090fe2 Merge - make/linux/makefiles/cscope.make - make/solaris/makefiles/cscope.make From igor.veresov at oracle.com Mon May 2 15:13:43 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 02 May 2011 15:13:43 -0700 Subject: review for 6796786: invalid FP identity transform - (a - b) -> b - a In-Reply-To: References: Message-ID: <4DBF2C97.8080800@oracle.com> Looks good. igor On 5/2/11 2:25 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/6796786 > > 6796786: invalid FP identity transform - (a - b) -> b - a > Reviewed-by: > > C2 is transforming the idiom - (a - b) into b - a which produces the > wrong sign if a == b. The fix is to eliminate that optimization. > Tested with test from report. > From christian.thalinger at oracle.com Tue May 3 01:11:40 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 3 May 2011 10:11:40 +0200 Subject: review for 6796786: invalid FP identity transform - (a - b) -> b - a In-Reply-To: References: Message-ID: <3E9A645F-C0BD-4292-9B9D-D008D55142A3@oracle.com> On May 2, 2011, at 11:25 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/6796786 > > 6796786: invalid FP identity transform - (a - b) -> b - a > Reviewed-by: > > C2 is transforming the idiom - (a - b) into b - a which produces the > wrong sign if a == b. The fix is to eliminate that optimization. > Tested with test from report. Looks good. -- Christian From tom.rodriguez at oracle.com Tue May 3 01:34:22 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Tue, 03 May 2011 08:34:22 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp Message-ID: <20110503083424.39048471F3@hg.openjdk.java.net> Changeset: 2e038ad0c1d0 Author: never Date: 2011-05-02 18:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2e038ad0c1d0 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/utilities/debug.cpp From christian.thalinger at oracle.com Tue May 3 02:52:19 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 3 May 2011 11:52:19 +0200 Subject: Request for review (XXS): 7041244: JSR 292: Server VM gets a SEGV running a JCK test Message-ID: http://cr.openjdk.java.net/~twisti/7041244/ 7041244: JSR 292: Server VM gets a SEGV running a JCK test Reviewed-by: The call to check_klass_subtype in _adapter_check_cast uses O0 as a temporary register which may be later used in the exception throwing path in vmarg to reload the bad object. The fix is to use O3 instead of O0 which is also free at this point. src/cpu/sparc/vm/methodHandles_sparc.cpp From igor.veresov at oracle.com Tue May 3 03:31:32 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 03 May 2011 03:31:32 -0700 Subject: Request for review (XXS): 7041244: JSR 292: Server VM gets a SEGV running a JCK test In-Reply-To: References: Message-ID: <4DBFD984.2020202@oracle.com> Looks good. igor On 5/3/11 2:52 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7041244/ > > 7041244: JSR 292: Server VM gets a SEGV running a JCK test > Reviewed-by: > > The call to check_klass_subtype in _adapter_check_cast uses O0 as a > temporary register which may be later used in the exception throwing > path in vmarg to reload the bad object. > > The fix is to use O3 instead of O0 which is also free at this point. > > src/cpu/sparc/vm/methodHandles_sparc.cpp > From vladimir.kozlov at oracle.com Tue May 3 08:31:51 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 03 May 2011 08:31:51 -0700 Subject: Request for review (XXS): 7041244: JSR 292: Server VM gets a SEGV running a JCK test In-Reply-To: References: Message-ID: <4DC01FE7.3010208@oracle.com> Good. Vladimir On 5/3/11 2:52 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7041244/ > > 7041244: JSR 292: Server VM gets a SEGV running a JCK test > Reviewed-by: > > The call to check_klass_subtype in _adapter_check_cast uses O0 as a > temporary register which may be later used in the exception throwing > path in vmarg to reload the bad object. > > The fix is to use O3 instead of O0 which is also free at this point. > > src/cpu/sparc/vm/methodHandles_sparc.cpp > From tom.rodriguez at oracle.com Tue May 3 10:19:13 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 3 May 2011 10:19:13 -0700 Subject: Request for review (XXS): 7041244: JSR 292: Server VM gets a SEGV running a JCK test In-Reply-To: References: Message-ID: <328A19D6-4217-46C5-971E-AFAA6E3779C1@oracle.com> Looks good. tom On May 3, 2011, at 2:52 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7041244/ > > 7041244: JSR 292: Server VM gets a SEGV running a JCK test > Reviewed-by: > > The call to check_klass_subtype in _adapter_check_cast uses O0 as a > temporary register which may be later used in the exception throwing > path in vmarg to reload the bad object. > > The fix is to use O3 instead of O0 which is also free at this point. > > src/cpu/sparc/vm/methodHandles_sparc.cpp > From john.coomes at oracle.com Tue May 3 10:45:45 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Tue, 03 May 2011 17:45:45 +0000 Subject: hg: jdk7/hotspot-comp/corba: 11 new changesets Message-ID: <20110503174554.ECB964720F@hg.openjdk.java.net> Changeset: 48ef0c712e7c Author: schien Date: 2011-03-24 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/48ef0c712e7c Added tag jdk7-b135 for changeset e0b72ae5dc5e ! .hgtags Changeset: a66c01d8bf89 Author: schien Date: 2011-03-31 18:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/a66c01d8bf89 Added tag jdk7-b136 for changeset 48ef0c712e7c ! .hgtags Changeset: 99f186b8097f Author: schien Date: 2011-04-07 15:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/99f186b8097f Added tag jdk7-b137 for changeset a66c01d8bf89 ! .hgtags Changeset: 53c6f4ad1e06 Author: ohair Date: 2011-04-06 20:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/53c6f4ad1e06 7033660: Update copyright year to 2011 on any files changed in 2011 Reviewed-by: dholmes ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties ! src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/IOR.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/Interceptors.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/Naming.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/OMG.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/POA.mc ! src/share/classes/com/sun/corba/se/spi/logging/data/Util.mc Changeset: 63cbb2c9c88c Author: mfang Date: 2011-04-08 15:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/63cbb2c9c88c 7034940: message drop 2 translation integration Reviewed-by: yhuang ! src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp ! src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp Changeset: 2f8ada17792a Author: mfang Date: 2011-04-11 13:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/2f8ada17792a Merge Changeset: 78d8cf04697e Author: mfang Date: 2011-04-11 14:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/78d8cf04697e Merge Changeset: 60b074ec6fcf Author: schien Date: 2011-04-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/60b074ec6fcf Added tag jdk7-b138 for changeset 78d8cf04697e ! .hgtags Changeset: cdf5d19ec142 Author: katleman Date: 2011-04-21 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/cdf5d19ec142 Added tag jdk7-b139 for changeset 60b074ec6fcf ! .hgtags Changeset: 96dd337fc845 Author: ohair Date: 2011-04-26 16:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/96dd337fc845 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore Changeset: c311591c06f5 Author: cl Date: 2011-04-27 19:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/c311591c06f5 Merge From john.coomes at oracle.com Tue May 3 10:46:03 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Tue, 03 May 2011 17:46:03 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: 9 new changesets Message-ID: <20110503174603.BEDA347210@hg.openjdk.java.net> Changeset: 1759daa85d33 Author: schien Date: 2011-03-24 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/1759daa85d33 Added tag jdk7-b135 for changeset 4aa9916693dc ! .hgtags Changeset: 1d87f7460cde Author: schien Date: 2011-03-31 18:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/1d87f7460cde Added tag jdk7-b136 for changeset 1759daa85d33 ! .hgtags Changeset: d19dd3dd599e Author: schien Date: 2011-04-07 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/d19dd3dd599e Added tag jdk7-b137 for changeset 1d87f7460cde ! .hgtags Changeset: bc701b263f16 Author: ohair Date: 2011-04-06 20:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/bc701b263f16 7033660: Update copyright year to 2011 on any files changed in 2011 Reviewed-by: dholmes ! build-defs.xml ! build-drop-template.xml ! build.xml ! jaxp.properties ! make/Makefile Changeset: be3758943770 Author: ohair Date: 2011-04-12 18:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/be3758943770 Merge Changeset: 28c7c0ed2444 Author: schien Date: 2011-04-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/28c7c0ed2444 Added tag jdk7-b138 for changeset be3758943770 ! .hgtags Changeset: c8136fd161c8 Author: katleman Date: 2011-04-21 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/c8136fd161c8 Added tag jdk7-b139 for changeset 28c7c0ed2444 ! .hgtags Changeset: 9f7c281af543 Author: ohair Date: 2011-04-26 16:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/9f7c281af543 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore Changeset: 02a683859a8a Author: cl Date: 2011-04-27 19:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/02a683859a8a Merge From john.coomes at oracle.com Tue May 3 10:46:13 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Tue, 03 May 2011 17:46:13 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: 12 new changesets Message-ID: <20110503174613.9A64F47211@hg.openjdk.java.net> Changeset: c81d289c9a53 Author: schien Date: 2011-03-24 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/c81d289c9a53 Added tag jdk7-b135 for changeset d5fc61f18043 ! .hgtags Changeset: ccea3282991c Author: schien Date: 2011-03-31 18:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/ccea3282991c Added tag jdk7-b136 for changeset c81d289c9a53 ! .hgtags Changeset: 6dfcea9f7a4e Author: schien Date: 2011-04-07 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/6dfcea9f7a4e Added tag jdk7-b137 for changeset ccea3282991c ! .hgtags Changeset: de11bd049d6f Author: ohair Date: 2011-04-06 20:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/de11bd049d6f 7033660: Update copyright year to 2011 on any files changed in 2011 Reviewed-by: dholmes ! build-defs.xml ! build-drop-template.xml ! build.xml ! make/Makefile Changeset: cc956c8a8255 Author: ohair Date: 2011-04-12 18:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/cc956c8a8255 Merge Changeset: c025078c8362 Author: schien Date: 2011-04-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/c025078c8362 Added tag jdk7-b138 for changeset cc956c8a8255 ! .hgtags Changeset: e0ae10a9967b Author: katleman Date: 2011-04-21 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/e0ae10a9967b Added tag jdk7-b139 for changeset c025078c8362 ! .hgtags Changeset: d5e3452a6909 Author: ohair Date: 2011-04-12 12:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/d5e3452a6909 7034918: Integrate JAX-WS 2.2.4-b01 in to JDK 7 Reviewed-by: ramap ! jaxws.properties Changeset: 97c69227f325 Author: lana Date: 2011-04-17 16:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/97c69227f325 Merge Changeset: 82a9022c4f21 Author: lana Date: 2011-04-25 15:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/82a9022c4f21 Merge Changeset: 576612237ba6 Author: ohair Date: 2011-04-26 16:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/576612237ba6 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore Changeset: 6cdf9c2f62ba Author: cl Date: 2011-04-27 19:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/6cdf9c2f62ba Merge From john.coomes at oracle.com Tue May 3 10:45:35 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Tue, 03 May 2011 17:45:35 +0000 Subject: hg: jdk7/hotspot-comp: 16 new changesets Message-ID: <20110503174535.A89DD4720E@hg.openjdk.java.net> Changeset: b87875789600 Author: ohair Date: 2011-03-22 08:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/b87875789600 6896934: README: Document how the drop source bundles work for jaxp/jaxws 6896978: README: Updates to openjdk README-builds.html 6903517: README: OpenJDK additions needed - cygwin issues Reviewed-by: dholmes ! README ! README-builds.html Changeset: 783bd02b4ab4 Author: cl Date: 2011-03-23 17:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/783bd02b4ab4 Merge Changeset: e97f037142f5 Author: schien Date: 2011-03-24 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/e97f037142f5 Added tag jdk7-b135 for changeset 783bd02b4ab4 ! .hgtags Changeset: dada8003df87 Author: dholmes Date: 2011-03-28 00:50 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/dada8003df87 7030131: Update README-builds.html to cover changes introduced by SE-Embedded integration Reviewed-by: ohair ! README-builds.html Changeset: 2fe76e73adaa Author: ohair Date: 2011-03-29 18:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/2fe76e73adaa Merge Changeset: 7654afc6a29e Author: schien Date: 2011-03-31 18:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/7654afc6a29e Added tag jdk7-b136 for changeset 2fe76e73adaa ! .hgtags Changeset: f911d742c40a Author: schien Date: 2011-04-07 15:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/f911d742c40a Added tag jdk7-b137 for changeset 7654afc6a29e ! .hgtags Changeset: 970c0898ded2 Author: ohair Date: 2011-03-22 11:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/970c0898ded2 6737397: Should support running JCK test suite with test/Makefile and JPRT Reviewed-by: alanb ! make/jprt.properties ! test/Makefile Changeset: 1527f425ee22 Author: lana Date: 2011-03-31 21:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/1527f425ee22 Merge Changeset: 574b71659cb1 Author: lana Date: 2011-04-10 10:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/574b71659cb1 Merge Changeset: 7e13dbf7e8af Author: ohair Date: 2011-04-06 22:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/7e13dbf7e8af 7033660: Update copyright year to 2011 on any files changed in 2011 Reviewed-by: dholmes ! Makefile ! make/Defs-internal.gmk ! make/corba-rules.gmk ! make/deploy-rules.gmk ! make/hotspot-rules.gmk ! make/install-rules.gmk ! make/jaxp-rules.gmk ! make/jaxws-rules.gmk ! make/jdk-rules.gmk ! make/langtools-rules.gmk ! make/scripts/update_copyright_year.sh ! make/sponsors-rules.gmk ! test/Makefile Changeset: fc47c97bbbd9 Author: ohair Date: 2011-04-12 18:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/fc47c97bbbd9 Merge ! test/Makefile Changeset: 7ed6d0b9aaa1 Author: schien Date: 2011-04-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/7ed6d0b9aaa1 Added tag jdk7-b138 for changeset fc47c97bbbd9 ! .hgtags Changeset: dcfe74f1c655 Author: katleman Date: 2011-04-21 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/dcfe74f1c655 Added tag jdk7-b139 for changeset 7ed6d0b9aaa1 ! .hgtags Changeset: 3bd41d40ab97 Author: ohair Date: 2011-04-26 16:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/3bd41d40ab97 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore ! Makefile Changeset: fb9ee99c4332 Author: cl Date: 2011-04-27 19:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/fb9ee99c4332 Merge From tom.rodriguez at oracle.com Tue May 3 12:12:52 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 3 May 2011 12:12:52 -0700 Subject: review for 6796786: invalid FP identity transform - (a - b) -> b - a In-Reply-To: <3E9A645F-C0BD-4292-9B9D-D008D55142A3@oracle.com> References: <3E9A645F-C0BD-4292-9B9D-D008D55142A3@oracle.com> Message-ID: <016806E9-0281-449A-9754-733700B7703D@oracle.com> Thanks Christian and Igor. tom On May 3, 2011, at 1:11 AM, Christian Thalinger wrote: > On May 2, 2011, at 11:25 PM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/6796786 >> >> 6796786: invalid FP identity transform - (a - b) -> b - a >> Reviewed-by: >> >> C2 is transforming the idiom - (a - b) into b - a which produces the >> wrong sign if a == b. The fix is to eliminate that optimization. >> Tested with test from report. > > Looks good. -- Christian From john.coomes at oracle.com Tue May 3 10:56:44 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Tue, 03 May 2011 17:56:44 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 327 new changesets Message-ID: <20110503190249.2C2E54721E@hg.openjdk.java.net> Changeset: dbdd618765a8 Author: schien Date: 2011-03-24 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dbdd618765a8 Added tag jdk7-b135 for changeset d8ced728159f ! .hgtags Changeset: 9f88ef1d373f Author: srl Date: 2011-03-07 17:23 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9f88ef1d373f 7017324: Kerning crash in JDK 7 since ICU layout update Reviewed-by: igor, prr ! src/share/native/sun/font/layout/KernTable.cpp + test/java/awt/font/TextLayout/KernCrash.java Changeset: be2e229513a7 Author: srl Date: 2011-03-07 19:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/be2e229513a7 6962082: merge back in lines from bad merge in CR 6501644 and open up a test Reviewed-by: igor, prr ! src/share/native/sun/font/layout/LayoutEngine.cpp + test/java/awt/font/TextLayout/CombiningPerf.java Changeset: 48d97c8653f0 Author: jgodinez Date: 2011-03-08 11:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/48d97c8653f0 7020528: closed/java/awt/print/PageFormat/PageFormatFromAttributes.java failed Reviewed-by: igor, prr ! src/windows/native/sun/windows/awt_PrintJob.cpp Changeset: 69ec42543dd9 Author: bae Date: 2011-03-09 13:08 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/69ec42543dd9 7022280: Parfait reports Format string argument mismatch in /jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Reviewed-by: jgodinez, prr ! src/solaris/native/sun/awt/awt_GraphicsEnv.c Changeset: 87444344d616 Author: bae Date: 2011-03-10 11:18 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/87444344d616 6710434: PIT: Reg test java/awt/Graphics2D/ClipPrimitivesTest.java fails in pit build 6u10_b26 Reviewed-by: flar, prr ! src/share/native/sun/java2d/loops/ProcessPath.c Changeset: fd8b81c558d3 Author: dlila Date: 2011-03-15 15:15 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fd8b81c558d3 7027667: clipped aa rectangles are not drawn properly. Summary: Already fixed. This is just a regression test for it. Reviewed-by: prr + test/sun/java2d/pipe/Test7027667.java Changeset: 253f3bc64961 Author: dlila Date: 2011-03-15 17:05 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/253f3bc64961 7019861: Last scanline is skipped in pisces.Renderer. Summary: not skipping it anymore. Reviewed-by: flar ! src/share/classes/sun/java2d/pisces/Helpers.java ! src/share/classes/sun/java2d/pisces/PiscesTileGenerator.java ! src/share/classes/sun/java2d/pisces/Renderer.java ! src/share/classes/sun/java2d/pisces/Stroker.java + test/sun/java2d/pisces/Renderer/Test7019861.java Changeset: 5c61c31d2621 Author: bae Date: 2011-03-16 19:21 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5c61c31d2621 6989760: cmm native compiler warnings Reviewed-by: prr, ohair ! make/sun/cmm/kcms/Makefile ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: 4450c35a5f90 Author: bae Date: 2011-03-17 17:45 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4450c35a5f90 7014528: ColorModel and SampleModel gotten from the same ImageTypeSpecifier instance can be not compatible Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/image/PackedColorModel.java Changeset: 5371ec6c4f41 Author: lana Date: 2011-03-18 23:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5371ec6c4f41 Merge - make/common/Modules.gmk - make/java/nio/mxbean/Makefile - make/modules/Makefile - make/modules/bootmodule.roots - make/modules/jdk7.depconfig - make/modules/modules.config - make/modules/modules.group - make/modules/optional.depconfig - make/modules/tools/Makefile - make/modules/tools/build.xml - make/modules/tools/nbproject/project.properties - make/modules/tools/nbproject/project.xml - make/modules/tools/src/com/sun/classanalyzer/AnnotatedDependency.java - make/modules/tools/src/com/sun/classanalyzer/AnnotationParser.java - make/modules/tools/src/com/sun/classanalyzer/BootAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/CheckDeps.java - make/modules/tools/src/com/sun/classanalyzer/ClassAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ClassFileParser.java - make/modules/tools/src/com/sun/classanalyzer/ClassPath.java - make/modules/tools/src/com/sun/classanalyzer/CodeAttributeParser.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolParser.java - make/modules/tools/src/com/sun/classanalyzer/DependencyConfig.java - make/modules/tools/src/com/sun/classanalyzer/Klass.java - make/modules/tools/src/com/sun/classanalyzer/Module.java - make/modules/tools/src/com/sun/classanalyzer/ModuleConfig.java - make/modules/tools/src/com/sun/classanalyzer/ResolutionInfo.java - make/modules/tools/src/com/sun/classanalyzer/ResourceFile.java - make/modules/tools/src/com/sun/classanalyzer/ShowDeps.java ! make/sun/cmm/kcms/Makefile - src/share/classes/sun/misc/BootClassLoaderHook.java - src/share/classes/sun/misc/JavaSecurityCodeSignerAccess.java - test/sun/misc/BootClassLoaderHook/TestHook.java Changeset: 38ebd0682a54 Author: dav Date: 2011-03-09 17:29 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/38ebd0682a54 7023019: Constructor of class java.awt.Component.FlipBufferStrategy throws unspecified IAE Reviewed-by: dcherepanov, art ! src/share/classes/java/awt/Component.java Changeset: cb130134aacf Author: dav Date: 2011-03-14 18:57 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cb130134aacf 7022931: GradientPaint class spec clarification: 7022931, 7016391, 7017246, 7019386 Reviewed-by: flar ! src/share/classes/java/awt/LinearGradientPaint.java ! src/share/classes/java/awt/MultipleGradientPaint.java ! src/share/classes/java/awt/RadialGradientPaint.java + src/share/classes/java/awt/doc-files/RadialGradientPaint-3.png + src/share/classes/java/awt/doc-files/RadialGradientPaint-4.png Changeset: 16d75df4a240 Author: dav Date: 2011-03-18 17:56 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/16d75df4a240 7016131: JDK 7 b127: 8 crashes in native frame:awt_DrawingSurface_FreeDrawingSurfaceInfo+0xc on linux amd64 Reviewed-by: dcherepanov, art ! src/solaris/native/sun/awt/awt_DrawingSurface.c Changeset: 9ed3ec97315c Author: lana Date: 2011-03-18 15:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9ed3ec97315c Merge - make/common/Modules.gmk - make/java/nio/mxbean/Makefile - make/modules/Makefile - make/modules/bootmodule.roots - make/modules/jdk7.depconfig - make/modules/modules.config - make/modules/modules.group - make/modules/optional.depconfig - make/modules/tools/Makefile - make/modules/tools/build.xml - make/modules/tools/nbproject/project.properties - make/modules/tools/nbproject/project.xml - make/modules/tools/src/com/sun/classanalyzer/AnnotatedDependency.java - make/modules/tools/src/com/sun/classanalyzer/AnnotationParser.java - make/modules/tools/src/com/sun/classanalyzer/BootAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/CheckDeps.java - make/modules/tools/src/com/sun/classanalyzer/ClassAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ClassFileParser.java - make/modules/tools/src/com/sun/classanalyzer/ClassPath.java - make/modules/tools/src/com/sun/classanalyzer/CodeAttributeParser.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolParser.java - make/modules/tools/src/com/sun/classanalyzer/DependencyConfig.java - make/modules/tools/src/com/sun/classanalyzer/Klass.java - make/modules/tools/src/com/sun/classanalyzer/Module.java - make/modules/tools/src/com/sun/classanalyzer/ModuleConfig.java - make/modules/tools/src/com/sun/classanalyzer/ResolutionInfo.java - make/modules/tools/src/com/sun/classanalyzer/ResourceFile.java - make/modules/tools/src/com/sun/classanalyzer/ShowDeps.java - src/share/classes/sun/misc/BootClassLoaderHook.java - src/share/classes/sun/misc/JavaSecurityCodeSignerAccess.java - test/sun/misc/BootClassLoaderHook/TestHook.java Changeset: 458b205209a9 Author: lana Date: 2011-03-21 16:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/458b205209a9 Merge Changeset: 551a6faa60df Author: rupashka Date: 2011-03-14 15:01 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/551a6faa60df 6464022: Memory leak in JOptionPane.createDialog Reviewed-by: alexp ! src/share/classes/javax/swing/JOptionPane.java + test/javax/swing/JOptionPane/6464022/bug6464022.java ! test/javax/swing/UIDefaults/6795356/bug6795356.java ! test/javax/swing/regtesthelpers/Util.java Changeset: 33755bd32db9 Author: rupashka Date: 2011-03-14 20:28 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/33755bd32db9 7016150: 6246816 refers to the Laffy demo which is not present in the JDK 7 demo/jfc directory Reviewed-by: peterz + make/mkdemo/jfc/Laffy/Makefile ! make/mkdemo/jfc/Makefile Changeset: 9faa309e852b Author: malenkov Date: 2011-03-16 18:48 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9faa309e852b 7027043: (doc) Confusing typo at java/beans/VetoableChangeSupport.java Reviewed-by: rupashka ! src/share/classes/java/beans/VetoableChangeSupport.java Changeset: c53260a00454 Author: malenkov Date: 2011-03-17 18:22 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c53260a00454 7021517: java.beans code comments have issues with HTML4 compliance Reviewed-by: rupashka ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/DesignMode.java ! src/share/classes/java/beans/IndexedPropertyChangeEvent.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/package.html Changeset: 55f97ad0a36e Author: peytoia Date: 2011-03-18 08:42 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/55f97ad0a36e 7027387: (tz) Support tzdata2011d Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/australasia ! make/sun/javazic/tzdata/etcetera ! make/sun/javazic/tzdata/europe ! make/sun/javazic/tzdata/leapseconds ! make/sun/javazic/tzdata/northamerica ! make/sun/javazic/tzdata/southamerica ! make/sun/javazic/tzdata/zone.tab ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Changeset: 44daa419e52b Author: lana Date: 2011-03-18 15:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/44daa419e52b Merge - make/common/Modules.gmk - make/java/nio/mxbean/Makefile - make/modules/Makefile - make/modules/bootmodule.roots - make/modules/jdk7.depconfig - make/modules/modules.config - make/modules/modules.group - make/modules/optional.depconfig - make/modules/tools/Makefile - make/modules/tools/build.xml - make/modules/tools/nbproject/project.properties - make/modules/tools/nbproject/project.xml - make/modules/tools/src/com/sun/classanalyzer/AnnotatedDependency.java - make/modules/tools/src/com/sun/classanalyzer/AnnotationParser.java - make/modules/tools/src/com/sun/classanalyzer/BootAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/CheckDeps.java - make/modules/tools/src/com/sun/classanalyzer/ClassAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ClassFileParser.java - make/modules/tools/src/com/sun/classanalyzer/ClassPath.java - make/modules/tools/src/com/sun/classanalyzer/CodeAttributeParser.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolParser.java - make/modules/tools/src/com/sun/classanalyzer/DependencyConfig.java - make/modules/tools/src/com/sun/classanalyzer/Klass.java - make/modules/tools/src/com/sun/classanalyzer/Module.java - make/modules/tools/src/com/sun/classanalyzer/ModuleConfig.java - make/modules/tools/src/com/sun/classanalyzer/ResolutionInfo.java - make/modules/tools/src/com/sun/classanalyzer/ResourceFile.java - make/modules/tools/src/com/sun/classanalyzer/ShowDeps.java - src/share/classes/sun/misc/BootClassLoaderHook.java - src/share/classes/sun/misc/JavaSecurityCodeSignerAccess.java - test/sun/misc/BootClassLoaderHook/TestHook.java Changeset: e930c56882b9 Author: lana Date: 2011-03-21 16:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e930c56882b9 Merge Changeset: f251e9510e50 Author: dl Date: 2011-03-08 17:52 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f251e9510e50 6495521: (doc) ConcurrentSkipListMap links to web page NOT describing SkipList Summary: update link, and minor implementation comment in Exchanger Reviewed-by: chegar, mduigou ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/share/classes/java/util/concurrent/Exchanger.java Changeset: 63509149c027 Author: dl Date: 2011-03-08 18:16 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/63509149c027 7023006: Reduce unnecessary thread activity in ForkJoinPool Reviewed-by: chegar, dholmes ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinTask.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Changeset: d4a34b150597 Author: mduigou Date: 2011-03-08 15:09 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d4a34b150597 6611830: UUID thread-safety and performance improvements Reviewed-by: mduigou, jjb, alanb, briangoetz, dholmes, peterjones Contributed-by: Daniel Aioanei ! src/share/classes/java/util/UUID.java Changeset: 9b2761fa906b Author: mduigou Date: 2011-03-08 15:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9b2761fa906b Merge Changeset: 38626f41e458 Author: dholmes Date: 2011-03-09 19:52 -0500 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/38626f41e458 7022370: Launcher ergonomics should provide simple default implementation Summary: Use a common, platform independent, implementation unless an architecture specific implementation exists Reviewed-by: ksrini, mchung, ohair, gbenson ! make/java/jli/Makefile ! src/solaris/bin/ergo.c - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c Changeset: cfc05963734e Author: ramap Date: 2011-03-09 15:47 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cfc05963734e 7020513: Add com.sun.xml.internal to the "package.access" property in $JAVA_HOME/lib/security/java.security Reviewed-by: ohair, alanb ! src/share/lib/security/java.security ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/Makefile Changeset: 5da9973cdba2 Author: ramap Date: 2011-03-09 15:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5da9973cdba2 6635776: Regression in jaxb tests with JDk6 U4 6741058: Move org/relaxng/datatype sources from jdk to jaxws workspace Reviewed-by: ohair, alanb ! make/com/sun/Makefile - make/com/sun/xml/Makefile ! make/common/internal/Defs-jaxws.gmk - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java Changeset: ea897f472e81 Author: ohair Date: 2011-03-09 18:01 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ea897f472e81 Merge - make/com/sun/xml/Makefile - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java Changeset: 090c52eebf6a Author: sundar Date: 2011-03-10 12:52 +0530 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/090c52eebf6a 6960211: JavaScript engine allows creation of interface although methods not available Reviewed-by: jjh ! src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java ! src/share/classes/com/sun/script/util/InterfaceImplementor.java + test/javax/script/GetInterfaceTest.java Changeset: 7766633ec80f Author: vinnie Date: 2011-03-10 18:21 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7766633ec80f 7016078: javax.net.ssl.SSLException: Received fatal alert: internal_error starting JDK 7 b126 Reviewed-by: valeriep ! src/share/classes/sun/security/pkcs11/P11Key.java Changeset: ab13f19ee0ff Author: chegar Date: 2011-03-11 08:47 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ab13f19ee0ff 7024560: InetAddress.getLocalHost().getHostName() returns localhost for hostnames of length HOST_NAME_MAX Reviewed-by: alanb, michaelm ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c Changeset: 107d55ecd50d Author: chegar Date: 2011-03-11 08:57 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/107d55ecd50d 7026346: URLConnection.guessContentTypeFromStream does not support UTF-8 and UTF-32 xml streams with BOM Reviewed-by: alanb Contributed-by: Charles Lee ! src/share/classes/java/net/URLConnection.java ! test/java/net/URLConnection/GetXmlContentType.java Changeset: 8ef60faa95d6 Author: vinnie Date: 2011-03-11 09:55 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8ef60faa95d6 6986477: sun/security/mscapi/AccessKeyStore.sh test is failing on jdk7 Reviewed-by: valeriep ! test/sun/security/mscapi/access.policy ! test/sun/security/mscapi/noaccess.policy Changeset: f4d3033b4b65 Author: vinnie Date: 2011-03-11 09:57 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f4d3033b4b65 Merge - make/com/sun/xml/Makefile - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c Changeset: 3fdfa11ea5ac Author: chegar Date: 2011-03-11 13:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3fdfa11ea5ac 7023363: URI("ftp", "[www.abc.com]", "/dir1/dir2", "query", "frag") should throw URISyntaxException Reviewed-by: alanb, michaelm ! src/share/classes/java/net/URI.java ! test/java/net/URI/Test.java Changeset: ed87479c96c2 Author: ksrini Date: 2011-03-11 10:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ed87479c96c2 7023416: (pack200) fix parfait issues Reviewed-by: jrose ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp Changeset: 8216ad5fabb8 Author: naoto Date: 2011-03-11 11:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8216ad5fabb8 7023613: (lc) Incorrect string returned by Locale.toString() with non-empty script field Reviewed-by: srl ! src/share/classes/java/util/Locale.java ! test/java/util/Locale/LocaleEnhanceTest.java Changeset: d901560d70a7 Author: weijun Date: 2011-03-13 17:09 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d901560d70a7 6990848: JGSS/windows security code native code compiler warnings Reviewed-by: valeriep ! src/windows/native/sun/security/krb5/NativeCreds.c Changeset: fa9d7e241517 Author: xuelei Date: 2011-03-14 09:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fa9d7e241517 7009794: misleading text in SSLHandshakeException exception message Summary: update the warning message Reviewed-by: weijun ! src/share/classes/sun/security/ssl/ClientHandshaker.java Changeset: b708c576f201 Author: ksrini Date: 2011-03-14 10:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b708c576f201 7027288: (launcher) remove jkernel test from MiscTests Reviewed-by: mchung, herrick ! test/tools/launcher/MiscTests.java Changeset: 5c978a922711 Author: vinnie Date: 2011-03-14 17:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5c978a922711 6686215: Some mutables not defensively copied when deserializing java.security.CodeSource & Timestamp objects Reviewed-by: mullan ! src/share/classes/java/security/CodeSource.java ! src/share/classes/java/security/Timestamp.java Changeset: 2e473067520f Author: vinnie Date: 2011-03-14 18:13 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2e473067520f Merge Changeset: 1924a21184a6 Author: darcy Date: 2011-03-14 11:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1924a21184a6 7027362: Project Coin: warn of throwing InterruptedException in AutoCloseable.close javadoc Reviewed-by: jjb ! src/share/classes/java/lang/AutoCloseable.java Changeset: 7d1b13126574 Author: mduigou Date: 2011-03-14 14:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7d1b13126574 7014637: Improve behavior of EnumSet Iterator.remove() Reviewed-by: mduigou, alanb Contributed-by: Neil Richards ! src/share/classes/java/util/JumboEnumSet.java ! src/share/classes/java/util/RegularEnumSet.java + test/java/util/EnumSet/LargeEnumIteratorRemoveResilience.java + test/java/util/EnumSet/SmallEnumIteratorRemoveResilience.java Changeset: 0ba980dc486e Author: alanb Date: 2011-03-15 13:15 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0ba980dc486e 7026376: (dc) DatagramChannel created without specifying protocol family fails to join IPv4 group Reviewed-by: chegar ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/solaris/native/sun/nio/ch/Net.c ! src/windows/native/sun/nio/ch/Net.c ! test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java Changeset: 4a7da412db38 Author: valeriep Date: 2011-03-15 18:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4a7da412db38 7001933: Deadlock in java.lang.classloader.getPackage() Summary: Modified to not holding the "packages" lock when calling parent CL. Reviewed-by: dholmes, alanb ! src/share/classes/java/lang/ClassLoader.java Changeset: 8b7f0a3a0b2e Author: xuelei Date: 2011-03-15 23:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8b7f0a3a0b2e 7025073: Stricter check on trust anchor makes VerifyCACerts.java test fail Summary: loosen the check for version 1 and 2 X.509 certificate Reviewed-by: mullan, weijun ! src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java ! src/share/classes/sun/security/provider/certpath/ForwardBuilder.java Changeset: e3efbb250c0c Author: xuelei Date: 2011-03-15 23:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e3efbb250c0c 7022855: Export "PKIX" as the standard algorithm name of KeyManagerFactory Summary: export the existing "NewSunX509" algorithm implementation using the standard name "PKIX" Reviewed-by: weijun, wetmore ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/SunJSSE.java ! test/sun/security/ssl/javax/net/ssl/GetInstance.java Changeset: f82a1434bf63 Author: dholmes Date: 2011-03-15 19:52 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f82a1434bf63 7027897: Build support for client-VM only configurations Summary: Support builds for which only the client VM is required and/or available Reviewed-by: ohair, andrew ! make/common/Defs.gmk ! make/common/shared/Sanity.gmk ! make/java/jvm/Makefile ! make/java/redist/Makefile Changeset: d7034302bc24 Author: dholmes Date: 2011-03-15 20:00 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d7034302bc24 Merge ! make/common/Defs.gmk - make/common/Modules.gmk ! make/common/shared/Sanity.gmk ! make/java/jli/Makefile ! make/java/jvm/Makefile - make/java/nio/mxbean/Makefile ! make/java/redist/Makefile - make/modules/Makefile - make/modules/bootmodule.roots - make/modules/jdk7.depconfig - make/modules/modules.config - make/modules/modules.group - make/modules/optional.depconfig - make/modules/tools/Makefile - make/modules/tools/build.xml - make/modules/tools/nbproject/project.properties - make/modules/tools/nbproject/project.xml - make/modules/tools/src/com/sun/classanalyzer/AnnotatedDependency.java - make/modules/tools/src/com/sun/classanalyzer/AnnotationParser.java - make/modules/tools/src/com/sun/classanalyzer/BootAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/CheckDeps.java - make/modules/tools/src/com/sun/classanalyzer/ClassAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ClassFileParser.java - make/modules/tools/src/com/sun/classanalyzer/ClassPath.java - make/modules/tools/src/com/sun/classanalyzer/CodeAttributeParser.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolAnalyzer.java - make/modules/tools/src/com/sun/classanalyzer/ConstantPoolParser.java - make/modules/tools/src/com/sun/classanalyzer/DependencyConfig.java - make/modules/tools/src/com/sun/classanalyzer/Klass.java - make/modules/tools/src/com/sun/classanalyzer/Module.java - make/modules/tools/src/com/sun/classanalyzer/ModuleConfig.java - make/modules/tools/src/com/sun/classanalyzer/ResolutionInfo.java - make/modules/tools/src/com/sun/classanalyzer/ResourceFile.java - make/modules/tools/src/com/sun/classanalyzer/ShowDeps.java Changeset: 3a22998bc3c7 Author: dholmes Date: 2011-03-16 05:29 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3a22998bc3c7 Merge Changeset: 05911dc54a67 Author: sherman Date: 2011-03-16 12:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/05911dc54a67 6803681: RFE: Need new codeset converter for IBM Cp1364 Summary: forward port the Cp1364 Reviewed-by: alanb ! make/sun/nio/cs/FILES_java.gmk + make/tools/CharsetMapping/IBM1364.c2b + make/tools/CharsetMapping/IBM1364.map ! make/tools/CharsetMapping/dbcs ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java + test/sun/nio/cs/TestIBM1364.java Changeset: 54d8193f177b Author: dholmes Date: 2011-03-16 18:54 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/54d8193f177b 7027910: Add basic cross-compilation support and add ARM/PPC to the known architectures in the open code Summary: Cross-compilation support Reviewed-by: ohair, andrew ! make/common/Defs-linux.gmk ! make/common/Defs.gmk ! make/common/Program.gmk ! make/common/shared/Defs-linux.gmk ! make/common/shared/Defs-solaris.gmk ! make/common/shared/Defs-utils.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Platform.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk ! make/java/instrument/Makefile ! make/java/nio/Makefile ! make/javax/sound/SoundDefs.gmk ! make/sun/jdbc/Makefile ! make/tools/Makefile ! src/share/native/com/sun/media/sound/SoundDefs.h ! src/share/native/java/lang/fdlibm/include/fdlibm.h Changeset: df9991dc1f0d Author: lancea Date: 2011-03-17 11:37 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/df9991dc1f0d 7026898: DriverManager to now use CopyOnWriteArrayList Reviewed-by: alanb, briangoetz ! src/share/classes/java/sql/DriverManager.java Changeset: 320bdab4cb2a Author: xuelei Date: 2011-03-17 08:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/320bdab4cb2a 7028422: regression: SKID miss-matching Summary: Do not override the previous setting for initial selection. Reviewed-by: mullan ! src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java Changeset: 3eb51bf7e859 Author: sherman Date: 2011-03-17 11:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3eb51bf7e859 6796662: (fmt spec) Formatter spec on BigDecimal output should not reference Float a Summary: updated the spec doc Reviewed-by: alanb ! src/share/classes/java/util/Formatter.java Changeset: a8569f14121d Author: mduigou Date: 2011-03-17 13:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a8569f14121d 7028133: Specify serialVersionUID for RegularEnumSet and JumboEnumSet Reviewed-by: alanb, mduigou Contributed-by: Neil Richards ! src/share/classes/java/util/JumboEnumSet.java ! src/share/classes/java/util/RegularEnumSet.java Changeset: 3ad10ea6df89 Author: mduigou Date: 2011-03-17 13:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3ad10ea6df89 Merge Changeset: bf37edb38fbb Author: mduigou Date: 2011-03-17 14:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bf37edb38fbb 5045147: Prevent insertion of null Key into empty TreeMap (and null element into TreeSet) when no Comparator is used. Prevent insertion of key of incorrect type into empty TreeMap and incorrect type element into TreeSet and incorrect type when Comparator is used. Reviewed-by: alanb, dl, mduigou ! src/share/classes/java/util/TreeMap.java + test/java/util/TreeMap/cr5045147.java Changeset: 192bbf6cd5de Author: smarks Date: 2011-03-17 18:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/192bbf6cd5de 7022382: convert pack200 library code to use try-with-resources Reviewed-by: ksrini ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/Driver.java ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java Changeset: a76262ab5ea6 Author: dcubed Date: 2011-03-18 07:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a76262ab5ea6 7028668: 3/4 improve diagnosibility and robustness of sun.tools.attach.WindowsVirtualMachine.openProcess() Summary: Add more info to OpenProcess default detail error message. Try a different technique when a Java process is attaching to itself. Reviewed-by: zgu, ohair, alanb ! src/windows/native/sun/tools/attach/WindowsVirtualMachine.c Changeset: 4085d44dc7df Author: lana Date: 2011-03-18 10:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4085d44dc7df Merge ! make/common/shared/Platform.gmk Changeset: 90f84ecff75c Author: ksrini Date: 2011-03-20 08:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/90f84ecff75c 7026184: (launcher) Regression: class with unicode name can't be launched by java. Reviewed-by: mchung, sherman ! src/share/bin/java.c ! src/share/classes/sun/launcher/LauncherHelper.java Changeset: 0fdc4553f79f Author: alanb Date: 2011-03-18 19:46 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0fdc4553f79f 7028468: (fs) FileSystems.getDefault() fails when kernel micro version contains/ends non-numeric characters Reviewed-by: forax, chegar ! src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Changeset: 8d53286f1fe7 Author: alanb Date: 2011-03-19 14:21 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8d53286f1fe7 7017446: (fs) Updates to file system API (3/2011) Reviewed-by: sherman ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/WatchKey.java ! src/share/classes/java/nio/file/attribute/FileTime.java ! src/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java ! src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java ! src/share/classes/sun/nio/fs/AbstractFileSystemProvider.java ! src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java ! src/share/classes/sun/nio/fs/AbstractWatchKey.java ! src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java ! src/share/classes/sun/nio/fs/Util.java ! src/share/sample/nio/file/WatchDir.java ! src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java ! src/windows/classes/sun/nio/fs/WindowsPath.java ! test/java/nio/file/Files/FileAttributes.java ! test/java/nio/file/WatchService/Basic.java ! test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java Changeset: be5a4198c468 Author: alanb Date: 2011-03-20 19:39 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/be5a4198c468 Merge Changeset: e74e7991ba1d Author: mduigou Date: 2011-03-21 11:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e74e7991ba1d 7029491: fix broken test file committed with CR 5045147. Summary: an incorrect file was committed with CR 5045147. This commit corrects that error and also applies minor review suggestions. Reviewed-by: alanb ! test/java/util/TreeMap/EmptyMapAndNulls.java < test/java/util/TreeMap/cr5045147.java Changeset: 1d0039aea814 Author: mduigou Date: 2011-03-21 11:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1d0039aea814 Merge Changeset: 8fafdc993bf2 Author: lana Date: 2011-03-21 16:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8fafdc993bf2 Merge - make/com/sun/xml/Makefile - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c Changeset: 3dabb2f78e73 Author: bae Date: 2010-10-30 00:24 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3dabb2f78e73 6985453: Font.createFont may expose some system properties in exception text Reviewed-by: prr, hawtin ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/Type1Font.java Changeset: 85ccd221280b Author: mullan Date: 2010-11-01 11:32 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/85ccd221280b 6994263: Untrusted code can replace JRE's XML DSig Transform or C14N algorithm implementations Reviewed-by: xuelei ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java Changeset: cc989209cbf1 Author: chegar Date: 2011-01-10 18:12 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cc989209cbf1 6997851: Create NTLM AuthenticationCallBack class to avoid NTLM info leakage on client side Reviewed-by: michaelm ! make/sun/net/FILES_java.gmk ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java + src/share/classes/sun/net/www/protocol/http/ntlm/NTLMAuthenticationCallback.java ! src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Changeset: b5c340d6c905 Author: denis Date: 2011-03-17 17:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b5c340d6c905 6907662: System clipboard should ensure access restrictions Reviewed-by: alexp ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/MenuComponent.java ! src/share/classes/java/awt/TrayIcon.java ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/ProtectionDomain.java ! src/share/classes/javax/swing/Timer.java ! src/share/classes/javax/swing/TransferHandler.java ! src/share/classes/sun/awt/AWTAccessor.java + src/share/classes/sun/misc/JavaSecurityAccess.java ! src/share/classes/sun/misc/SharedSecrets.java Changeset: d19e3b281dcc Author: michaelm Date: 2011-03-17 18:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d19e3b281dcc 6981922: DNS cache poisoning by untrusted applets Reviewed-by: chegar ! make/sun/net/FILES_java.gmk ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/net/AbstractPlainSocketImpl.java + src/share/classes/sun/net/ResourceManager.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java Changeset: 8af27e4ecaed Author: lana Date: 2011-03-21 17:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8af27e4ecaed Merge ! src/share/classes/java/awt/Component.java Changeset: 6d1b98c84f85 Author: michaelm Date: 2011-03-25 16:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6d1b98c84f85 7031238: Problem with fix for 6981922 Reviewed-by: chegar ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java Changeset: a50a7f8a847d Author: lana Date: 2011-03-26 00:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a50a7f8a847d Merge - make/com/sun/xml/Makefile ! make/common/Defs.gmk - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c Changeset: 137d0bb3887a Author: trims Date: 2011-03-29 13:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/137d0bb3887a Merge - make/java/dyn/Makefile - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: 9b9ca2b816f0 Author: ohair Date: 2011-03-29 18:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9b9ca2b816f0 7032327: Fix overview-core.html file, refers to version 6 Reviewed-by: wetmore ! src/share/classes/overview-core.html Changeset: dfffbbd40f30 Author: ohair Date: 2011-03-29 18:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dfffbbd40f30 Merge - make/com/sun/xml/Makefile - make/java/dyn/Makefile - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: 0858c48466f0 Author: ohair Date: 2011-03-29 11:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0858c48466f0 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008 Reviewed-by: prr, weijun ! make/common/Defs-windows.gmk ! make/common/Release.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Sanity.gmk ! make/sun/cmm/lcms/Makefile Changeset: aa13e7702cd9 Author: ohair Date: 2011-03-29 20:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/aa13e7702cd9 Merge - make/com/sun/xml/Makefile ! make/common/Release.gmk ! make/common/shared/Defs-versions.gmk ! make/common/shared/Sanity.gmk - make/java/dyn/Makefile - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: c5cd41d19f5f Author: schien Date: 2011-03-31 18:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c5cd41d19f5f Added tag jdk7-b136 for changeset aa13e7702cd9 ! .hgtags Changeset: bf018f850da0 Author: ogino Date: 2011-03-29 22:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bf018f850da0 7032334: Update Font2DTest demo to support Unicode 6 Reviewed-by: naoto ! src/share/demo/jfc/Font2DTest/README.txt ! src/share/demo/jfc/Font2DTest/RangeMenu.java Changeset: c410d6550b20 Author: yhuang Date: 2011-03-30 22:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c410d6550b20 7025837: fix plural currency display names in sr_Latn_(BA|ME|RS).properties Reviewed-by: naoto ! src/share/classes/sun/util/resources/CurrencyNames.properties ! src/share/classes/sun/util/resources/CurrencyNames_pt.properties ! src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_BA.properties ! src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_ME.properties ! src/share/classes/sun/util/resources/CurrencyNames_sr_Latn_RS.properties ! src/share/classes/sun/util/resources/CurrencyNames_sr_RS.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: a820f6db6eba Author: yhuang Date: 2011-03-30 22:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a820f6db6eba Merge Changeset: 7cff80a57422 Author: mfang Date: 2011-04-04 12:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7cff80a57422 Merge Changeset: da5e33af0e61 Author: resii Date: 2011-04-04 18:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/da5e33af0e61 6989729: jarreorder warnings (classlists files are out of date) Reviewed-by: ohair ! make/tools/sharing/classlist.linux ! make/tools/sharing/classlist.solaris ! make/tools/sharing/classlist.windows Changeset: 9d1f5ad258f8 Author: ohair Date: 2011-04-04 15:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9d1f5ad258f8 7029905: demo applets missing some html files Reviewed-by: omajid, mchung, igor ! make/mkdemo/jfc/Font2DTest/Makefile ! make/mkdemo/jfc/Java2D/Makefile ! make/mkdemo/jfc/SwingApplet/Makefile ! make/mkdemo/jfc/SwingSet2/Makefile Changeset: 570ea44f50cb Author: ohair Date: 2011-04-05 07:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/570ea44f50cb Merge Changeset: 61d9af63ff0e Author: ohair Date: 2011-04-05 08:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/61d9af63ff0e Merge Changeset: 29296ea6529a Author: ohair Date: 2011-04-05 17:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/29296ea6529a 7033960: Do not check for mapfiles when fastdebug building Reviewed-by: dcubed ! make/common/shared/Defs-linux.gmk ! make/common/shared/Defs-solaris.gmk Changeset: 376a971344a3 Author: schien Date: 2011-04-07 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/376a971344a3 Added tag jdk7-b137 for changeset 29296ea6529a ! .hgtags Changeset: 7e0c4c994e2e Author: bae Date: 2011-03-22 11:22 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7e0c4c994e2e 6993561: java.awt.image.SampleModel.setSamples() methods not always throw ArrayIndexOutOfBoundsException Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/image/SampleModel.java ! test/java/awt/image/GetSamplesTest.java Changeset: 77a8566be102 Author: bae Date: 2011-03-22 12:28 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/77a8566be102 6773586: java.awt.image.SampleModel.getPixels() methods not allways throw ArrayIndexOutOfBoundsException Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/image/BandedSampleModel.java ! src/share/classes/java/awt/image/ComponentSampleModel.java ! src/share/classes/java/awt/image/SampleModel.java ! src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java Changeset: 8ab1b6226eed Author: bae Date: 2011-03-25 12:50 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8ab1b6226eed 6989717: media native code compiler warnings Reviewed-by: jgodinez, prr ! src/share/native/sun/awt/medialib/mlib_ImageAffine.c ! src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c ! src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c ! src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_F32nw.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c ! src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c ! src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c Changeset: 0f7256505703 Author: bae Date: 2011-03-27 15:51 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0f7256505703 6985593: Crash in Java_sun_java2d_loops_MaskBlit_MaskBlit on oel5.5-x64 Reviewed-by: ceisserer, jgodinez, prr ! src/solaris/classes/sun/java2d/xr/XRPMBlitLoops.java + test/sun/java2d/XRenderBlitsTest.java Changeset: d1ec8c106dda Author: bae Date: 2011-03-29 13:10 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d1ec8c106dda 7030147: java.awt.image.SampleModel.setDataElements() does't throw ArrayIndexOutOfBoundsEx for Integer.MAX_VA Reviewed-by: jgodinez, prr ! src/share/classes/java/awt/image/SampleModel.java Changeset: 5a0c0ae1c85b Author: bae Date: 2011-03-29 17:11 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5a0c0ae1c85b 7003516: Methods java.awt.geom.Line2D.Double/Float.getBounds2D() don't satisfy inherited spec Reviewed-by: flar, prr ! src/share/classes/java/awt/Shape.java Changeset: 81c8b844e917 Author: prr Date: 2011-03-31 15:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/81c8b844e917 7026407: Broken in javax.imageio.metadata.IIOMetadataNode.getTagName() Reviewed-by: jgodinez ! src/share/classes/javax/imageio/metadata/IIOMetadataNode.java Changeset: 8df5b67cc694 Author: prr Date: 2011-04-01 12:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8df5b67cc694 7029934: Xrender: Text is truncated with 64 bit Linux JRE Reviewed-by: bae, flar, ceisserer Contributed-by: linuxhippy at gmail.com ! src/solaris/native/sun/java2d/x11/XRBackendNative.c Changeset: 50d62d0a7a2e Author: prr Date: 2011-04-01 20:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/50d62d0a7a2e 7032930: A way to specify MS Mincho to be used in dialoginput on windows JA locale Reviewed-by: igor, jgodinez ! src/share/classes/sun/awt/FontConfiguration.java ! src/share/classes/sun/font/FontManagerForSGE.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java + test/sun/java2d/SunGraphicsEnvironment/TestSGEuseAlternateFontforJALocales.java Changeset: 3c576689e0ce Author: lana Date: 2011-04-01 23:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3c576689e0ce Merge - make/com/sun/xml/Makefile - make/java/dyn/Makefile - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: ddf1f385bf4b Author: dav Date: 2011-03-28 15:25 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ddf1f385bf4b 7023011: Toolkit.getPrintJob(Frame,String,Properties) throws HE instead of specified NPE Reviewed-by: dcherepanov, art ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/sun/awt/HeadlessToolkit.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/windows/classes/sun/awt/windows/WToolkit.java + test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java + test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java Changeset: 44c31bdf4d72 Author: dav Date: 2011-04-01 12:56 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/44c31bdf4d72 6984540: closed/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html test fails Reviewed-by: uta, art ! src/windows/native/sun/windows/awt_Toolkit.cpp Changeset: 346b4438a7d6 Author: anthony Date: 2011-04-01 15:43 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/346b4438a7d6 6903034: java.awt.Robot.createScreenCapture() doesn't work for translucent windows Summary: Use the composite overlay window to take the screenshot Reviewed-by: art, dcherepanov ! src/solaris/classes/sun/awt/X11/XRobotPeer.java ! src/solaris/native/sun/awt/awt_Robot.c Changeset: d7ab8deea646 Author: lana Date: 2011-04-01 16:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d7ab8deea646 Merge - make/com/sun/xml/Makefile - make/java/dyn/Makefile - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: 8859d18cb3aa Author: anthony Date: 2011-04-04 23:01 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8859d18cb3aa 7033579: XRobotPeer._dispose() native method should be added to the make/sun/xawt/mapfile-vers Reviewed-by: art, dcherepanov ! make/sun/xawt/mapfile-vers Changeset: 3b2378b84d5e Author: lana Date: 2011-04-04 17:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3b2378b84d5e Merge Changeset: b055e2ef5a97 Author: peytoia Date: 2011-03-24 15:29 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b055e2ef5a97 4715085: [Ch] Doc: java.lang.Character.digit documentation unclear regarding fullwidth characters Reviewed-by: okutsu ! src/share/classes/java/lang/Character.java Changeset: 707f3c6e66af Author: alexp Date: 2011-03-24 17:00 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/707f3c6e66af 6735285: "Zero" x,y springs passed to SpringLayout.Constraints constructor are not returned from getters Reviewed-by: rupashka ! src/share/classes/javax/swing/SpringLayout.java Changeset: ee0b74ec50f3 Author: alexp Date: 2011-03-24 17:01 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ee0b74ec50f3 6992716: Typos in JLayer files Reviewed-by: rupashka ! src/share/classes/javax/swing/JLayer.java ! src/share/classes/javax/swing/plaf/LayerUI.java Changeset: b52d96e7e125 Author: mrkam Date: 2011-03-24 17:45 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b52d96e7e125 7027676: /applets/CardTest demo needs to be improved Reviewed-by: rupashka ! src/share/demo/applets/CardTest/CardTest.java Changeset: 49e67bb5782c Author: mrkam Date: 2011-03-24 18:03 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/49e67bb5782c 7027677: /applets/Clock demo needs to be improved Reviewed-by: rupashka ! src/share/demo/applets/Clock/Clock.java Changeset: 98b66b617c31 Author: mrkam Date: 2011-03-24 18:07 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/98b66b617c31 7027688: /applets/SimpleGraph demo needs to be improved Reviewed-by: rupashka ! src/share/demo/applets/SimpleGraph/GraphApplet.java Changeset: f296a7c17120 Author: mrkam Date: 2011-03-24 18:09 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f296a7c17120 7027689: /applets/SortDemo demo needs to be improved Reviewed-by: rupashka ! src/share/demo/applets/SortDemo/BidirBubbleSortAlgorithm.java ! src/share/demo/applets/SortDemo/BubbleSortAlgorithm.java ! src/share/demo/applets/SortDemo/QSortAlgorithm.java ! src/share/demo/applets/SortDemo/SortAlgorithm.java ! src/share/demo/applets/SortDemo/SortItem.java ! src/share/demo/applets/SortDemo/example1.html Changeset: 291505740de9 Author: mrkam Date: 2011-03-24 18:13 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/291505740de9 7027678: /applets/DitherTest demo needs to be improved Reviewed-by: rupashka ! src/share/demo/applets/DitherTest/DitherTest.java Changeset: 010dc79258da Author: mrkam Date: 2011-03-24 18:15 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/010dc79258da 7027696: /jfc/Metalworks demo needs to be improved Reviewed-by: rupashka ! src/share/demo/jfc/Metalworks/AquaMetalTheme.java ! src/share/demo/jfc/Metalworks/BigContrastMetalTheme.java ! src/share/demo/jfc/Metalworks/ContrastMetalTheme.java ! src/share/demo/jfc/Metalworks/DemoMetalTheme.java ! src/share/demo/jfc/Metalworks/GreenMetalTheme.java ! src/share/demo/jfc/Metalworks/KhakiMetalTheme.java ! src/share/demo/jfc/Metalworks/MetalThemeMenu.java ! src/share/demo/jfc/Metalworks/Metalworks.java ! src/share/demo/jfc/Metalworks/MetalworksDocumentFrame.java ! src/share/demo/jfc/Metalworks/MetalworksFrame.java ! src/share/demo/jfc/Metalworks/MetalworksHelp.java ! src/share/demo/jfc/Metalworks/MetalworksInBox.java ! src/share/demo/jfc/Metalworks/MetalworksPrefs.java ! src/share/demo/jfc/Metalworks/PropertiesMetalTheme.java ! src/share/demo/jfc/Metalworks/UISwitchListener.java ! src/share/demo/jfc/Metalworks/resources/HelpFiles/credits.html ! src/share/demo/jfc/Metalworks/resources/HelpFiles/metal.html ! src/share/demo/jfc/Metalworks/resources/HelpFiles/metalworks.html ! src/share/demo/jfc/Metalworks/resources/HelpFiles/swing.html ! src/share/demo/jfc/Metalworks/resources/HelpFiles/toc.html Changeset: 3ed1b13ba934 Author: mrkam Date: 2011-03-24 18:20 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3ed1b13ba934 7027680: /applets/DrawTest demo needs to be improved Reviewed-by: rupashka ! src/share/demo/applets/DrawTest/DrawTest.java Changeset: f293a36f05fe Author: mrkam Date: 2011-03-24 18:54 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f293a36f05fe 7027849: New demo for Shaped/Translucent windows feature needs to be created Reviewed-by: rupashka + src/share/demo/jfc/TransparentRuler/README.txt + src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java + src/share/demo/nbproject/jfc/TransparentRuler/build.properties + src/share/demo/nbproject/jfc/TransparentRuler/build.xml + src/share/demo/nbproject/jfc/TransparentRuler/nbproject/file-targets.xml + src/share/demo/nbproject/jfc/TransparentRuler/nbproject/jdk.xml + src/share/demo/nbproject/jfc/TransparentRuler/nbproject/netbeans-targets.xml + src/share/demo/nbproject/jfc/TransparentRuler/nbproject/project.xml Changeset: cc4c80d4e85a Author: malenkov Date: 2011-03-24 21:45 +0300 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cc4c80d4e85a 6825739: jdk regression test failing on linux: java/lang/reflect/Method/InheritedMethods.java Reviewed-by: rupashka ! test/java/lang/reflect/Method/InheritedMethods.java Changeset: 5d96d28e8b41 Author: mrkam Date: 2011-03-25 13:17 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5d96d28e8b41 7030792: /jfc/TransparentRuler needs to be included into build process Reviewed-by: rupashka, ohair ! make/mkdemo/jfc/Makefile + make/mkdemo/jfc/TransparentRuler/Makefile ! src/share/demo/nbproject/project.xml Changeset: 26ff800b75ad Author: mrkam Date: 2011-03-25 13:23 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/26ff800b75ad 7027698: /jfc/SampleTree demo needs to be improved Reviewed-by: rupashka ! src/share/demo/jfc/SampleTree/DynamicTreeNode.java ! src/share/demo/jfc/SampleTree/SampleData.java ! src/share/demo/jfc/SampleTree/SampleTree.java ! src/share/demo/jfc/SampleTree/SampleTreeCellRenderer.java ! src/share/demo/jfc/SampleTree/SampleTreeModel.java Changeset: 098a8c2e9bd2 Author: mrkam Date: 2011-03-25 13:24 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/098a8c2e9bd2 7027697: /jfc/Notepad demo needs to be improved Reviewed-by: rupashka ! src/share/demo/jfc/Notepad/ElementTreePanel.java ! src/share/demo/jfc/Notepad/Notepad.java Changeset: 35fba3254594 Author: mrkam Date: 2011-03-25 13:27 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/35fba3254594 7027694: /jfc/FileChooserDemo demo needs to be improved Reviewed-by: rupashka ! src/share/demo/jfc/FileChooserDemo/ExampleFileSystemView.java ! src/share/demo/jfc/FileChooserDemo/ExampleFileView.java ! src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java Changeset: a92ab497d39c Author: mrkam Date: 2011-03-25 17:52 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a92ab497d39c 7027675: /applets/Blink demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/Blink/Blink.java Changeset: 584dde6ffd1f Author: mrkam Date: 2011-03-25 17:55 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/584dde6ffd1f 7027683: /applets/GraphicsTest demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/GraphicsTest/AppletFrame.java ! src/share/demo/applets/GraphicsTest/GraphicsTest.java Changeset: 6b560dd15705 Author: mrkam Date: 2011-03-25 17:56 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6b560dd15705 7027686: /applets/MoleculeViewer demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/MoleculeViewer/Matrix3D.java ! src/share/demo/applets/MoleculeViewer/XYZApp.java ! src/share/demo/applets/MoleculeViewer/example1.html ! src/share/demo/applets/MoleculeViewer/example2.html ! src/share/demo/applets/MoleculeViewer/example3.html Changeset: 489a9669a344 Author: mrkam Date: 2011-03-25 17:57 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/489a9669a344 7027674: /applets/BarChart demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/BarChart/BarChart.java Changeset: db5fea7fbf76 Author: mrkam Date: 2011-03-25 17:59 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/db5fea7fbf76 7027692: /applets/WireFrame demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/WireFrame/Matrix3D.java ! src/share/demo/applets/WireFrame/ThreeD.java ! src/share/demo/applets/WireFrame/example1.html ! src/share/demo/applets/WireFrame/example2.html ! src/share/demo/applets/WireFrame/example3.html ! src/share/demo/applets/WireFrame/example4.html Changeset: e72a348f25c9 Author: mrkam Date: 2011-03-25 18:00 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e72a348f25c9 7027673: /applets/ArcTest demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/ArcTest/ArcTest.java Changeset: cf381d73bd1f Author: peytoia Date: 2011-03-28 18:00 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cf381d73bd1f 6957870: Monospaced font mapped to proportional font (David) for Hebrew Reviewed-by: okutsu ! src/windows/classes/sun/awt/windows/fontconfig.properties Changeset: 9024198193ce Author: alexp Date: 2011-03-29 21:02 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9024198193ce 7027486: JPopupMenu doesn't take window shape into account Reviewed-by: rupashka ! src/share/classes/javax/swing/PopupFactory.java Changeset: bdd09379168e Author: mrkam Date: 2011-03-30 08:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bdd09379168e 7027687: /applets/NervousText demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/NervousText/NervousText.java Changeset: 08bd29e16159 Author: mrkam Date: 2011-03-30 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/08bd29e16159 7027690: /applets/SpreadSheet demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/SpreadSheet/SpreadSheet.java Changeset: 10f3161ff33f Author: mrkam Date: 2011-03-30 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/10f3161ff33f 7027701: /jfc/TableExample demo needs to be improved Reviewed-by: alexp ! src/share/demo/jfc/TableExample/JDBCAdapter.java ! src/share/demo/jfc/TableExample/OldJTable.java ! src/share/demo/jfc/TableExample/TableExample.java ! src/share/demo/jfc/TableExample/TableExample2.java ! src/share/demo/jfc/TableExample/TableExample3.java ! src/share/demo/jfc/TableExample/TableExample4.java ! src/share/demo/jfc/TableExample/TableMap.java ! src/share/demo/jfc/TableExample/TableSorter.java Changeset: 7e4ce6c1e58b Author: mrkam Date: 2011-03-30 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7e4ce6c1e58b 7027682: /applets/Fractal demo needs to be improved Reviewed-by: alexp ! src/share/demo/applets/Fractal/CLSFractal.java ! src/share/demo/applets/Fractal/example1.html Changeset: f29110bbcaa2 Author: mrkam Date: 2011-03-30 15:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f29110bbcaa2 7027693: /jfc/CodePointIM demo needs to be improved Reviewed-by: alexp ! src/share/demo/jfc/CodePointIM/CodePointIM.java ! src/share/demo/jfc/CodePointIM/CodePointInputMethod.java ! src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: fe5623afdbfe Author: rupashka Date: 2011-03-31 17:04 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fe5623afdbfe 7009422: Two dead links in Swing API documentation Reviewed-by: darcy, art ! src/share/classes/java/awt/Component.java ! src/share/classes/java/lang/CharSequence.java Changeset: 3ced4a33c831 Author: mrkam Date: 2011-03-31 10:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3ced4a33c831 7027700: /jfc/SwingApplet demo needs to be improved Reviewed-by: alexp ! src/share/demo/jfc/SwingApplet/SwingApplet.java Changeset: f007fa22625d Author: mrkam Date: 2011-03-31 10:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f007fa22625d Merge Changeset: 379a6504216e Author: lana Date: 2011-04-01 14:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/379a6504216e Merge - make/com/sun/xml/Makefile - make/java/dyn/Makefile ! src/share/classes/java/awt/Component.java - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/org/relaxng/datatype/Datatype.java - src/share/classes/org/relaxng/datatype/DatatypeBuilder.java - src/share/classes/org/relaxng/datatype/DatatypeException.java - src/share/classes/org/relaxng/datatype/DatatypeLibrary.java - src/share/classes/org/relaxng/datatype/DatatypeLibraryFactory.java - src/share/classes/org/relaxng/datatype/DatatypeStreamingValidator.java - src/share/classes/org/relaxng/datatype/ValidationContext.java - src/share/classes/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java - src/share/classes/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java - src/share/classes/org/relaxng/datatype/helpers/StreamingValidatorImpl.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - src/solaris/bin/ergo_sparc.c - src/solaris/bin/ergo_zero.c - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: 8093f407d57d Author: peytoia Date: 2011-04-04 15:24 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8093f407d57d 7033174: (tz) Support tzdata2011e Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/africa ! make/sun/javazic/tzdata/southamerica Changeset: 3549cec980ff Author: amenkov Date: 2011-04-04 13:22 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3549cec980ff 7026275: TEST_BUG: test/javax/sound/sampled/Clip/ClipSetPos.java throws uncatched IllegalArgumentException Reviewed-by: dav ! test/javax/sound/sampled/Clip/ClipSetPos.java Changeset: 8e21bec188ae Author: malenkov Date: 2011-04-04 19:55 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8e21bec188ae 7025987: Nimbus L&F increases insets unexpectedly Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java ! test/javax/swing/border/Test4856008.java ! test/javax/swing/border/Test6978482.java Changeset: 39a71949f1a4 Author: alexp Date: 2011-04-04 21:37 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/39a71949f1a4 7032791: TableCellRenderer.getTableCellRendererComponent() doesn't accept null JTable with GTK+ L&F Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/synth/SynthTableUI.java Changeset: 6230c920833f Author: lana Date: 2011-04-04 17:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6230c920833f Merge Changeset: ef5bbbe0dd75 Author: xuelei Date: 2011-03-21 22:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ef5bbbe0dd75 7027797: take care of ECDH_anon/DH_anon server key exchange for TLS 1.2 Summary: the signature of server key exanage message could be null Reviewed-by: vinnie ! src/share/classes/sun/security/ssl/HandshakeMessage.java ! test/sun/security/ec/TestEC.java ! test/sun/security/pkcs11/fips/CipherTest.java ! test/sun/security/pkcs11/sslecc/CipherTest.java ! test/sun/security/ssl/sanity/interop/CipherTest.java ! test/sun/security/ssl/sanity/interop/ClientJSSEServerJSSE.java Changeset: 870f7c3f0b61 Author: ohair Date: 2011-03-22 11:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/870f7c3f0b61 6737397: Should support running JCK test suite with test/Makefile and JPRT Reviewed-by: alanb ! make/jprt.properties ! test/Makefile ! test/ProblemList.txt Changeset: fe232d7e4ff1 Author: dholmes Date: 2011-03-22 18:56 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fe232d7e4ff1 7025066: Build systems changes to support SE Embedded Integration Summary: Define Embedded specific files and include them in the main files. Allow finer control over some build options. Reviewed-by: ohair, bobv, collins + make/common/Defs-embedded.gmk ! make/common/Defs.gmk ! make/common/Library.gmk + make/common/Release-embedded.gmk ! make/common/Release.gmk ! make/common/shared/Sanity-Settings.gmk ! make/java/zip/Makefile ! make/sun/nio/cs/Makefile ! src/share/classes/sun/misc/Version.java.template Changeset: c43811a602a8 Author: weijun Date: 2011-03-23 18:26 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c43811a602a8 7028490: better suggestion for jarsigner when TSA is not accessible Reviewed-by: mullan ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/JarSignerResources.java Changeset: b58572df94f1 Author: mduigou Date: 2011-03-23 15:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b58572df94f1 7029997: Restyling of SortedMap Javadoc Reviewed-by: darcy, chegar ! src/share/classes/java/util/SortedMap.java Changeset: 3fee1c67bd10 Author: xuelei Date: 2011-03-23 20:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3fee1c67bd10 7029848: KeyStoreBuilderParameters((Builder)null) does not throw NullPointerException Summary: throws NPE for null Builder Reviewed-by: weijun ! src/share/classes/javax/net/ssl/KeyStoreBuilderParameters.java Changeset: b921112e39d3 Author: xuelei Date: 2011-03-23 20:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b921112e39d3 7030523: regression: imporper checking of paramater Reviewed-by: weijun ! src/share/classes/javax/net/ssl/KeyStoreBuilderParameters.java Changeset: 65e7fddf517f Author: weijun Date: 2011-03-24 16:16 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/65e7fddf517f 7030174: Jarsigner should accept TSACert with an HTTPS id-ad-timeStamping SIA Reviewed-by: xuelei ! src/share/classes/sun/security/tools/TimestampedSigner.java Changeset: 632a96f5752d Author: jjh Date: 2011-03-24 11:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/632a96f5752d 7029823: (ann) test/java/lang/annotation/package-info.java no longer compiles Summary: Use @Deprecated instead of @java.lang.annotation.Documented Reviewed-by: jjg, smarks ! test/java/lang/annotation/PackageMain.java ! test/java/lang/annotation/package-info.java Changeset: f326a018fd3f Author: smarks Date: 2011-03-24 17:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f326a018fd3f 7029680: fix test/sun/misc/Version/Version.java build parsing Reviewed-by: ohair ! test/sun/misc/Version/Version.java Changeset: 4a64eefbfd7a Author: weijun Date: 2011-03-25 11:58 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4a64eefbfd7a 7023056: NPE from sun.security.util.ManifestEntryVerifier.verify during Maven build Reviewed-by: mullan ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java + test/java/util/jar/JarFile/MevNPE.java Changeset: a2793622a8d8 Author: dholmes Date: 2011-03-25 07:09 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a2793622a8d8 7030063: AWT support for SE-Embedded integration Summary: AWT support for SE-Embedded Reviewed-by: anthony, art, bobv, collins, alanb ! make/launchers/Makefile ! make/sun/Makefile ! make/sun/awt/mawt.gmk ! make/sun/jawt/Makefile ! make/sun/jpeg/Makefile ! make/sun/security/tools/Makefile ! make/sun/xawt/Makefile ! src/share/classes/java/awt/Toolkit.java + src/share/classes/sun/awt/HToolkit.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/native/java/lang/java_props_md.c ! src/solaris/native/sun/awt/jawt.c ! src/solaris/native/sun/xawt/XToolkit.c Changeset: c250a66c3b54 Author: chegar Date: 2011-03-25 16:38 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c250a66c3b54 7030256: Cleanup/Remove code supporting old Windows versions (98, NT, 2000, etc) Reviewed-by: alanb, mduigou ! make/java/net/Makefile ! src/windows/native/java/net/Inet6AddressImpl.c ! src/windows/native/java/net/NetworkInterface.c ! src/windows/native/java/net/NetworkInterface.h - src/windows/native/java/net/NetworkInterface_win9x.c ! src/windows/native/java/net/NetworkInterface_winXP.c ! src/windows/native/java/net/net_util_md.c ! src/windows/native/java/net/net_util_md.h ! src/windows/native/sun/net/dns/ResolverConfigurationImpl.c ! src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c Changeset: d0d2c1014faa Author: mduigou Date: 2011-03-25 11:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d0d2c1014faa 7030442: Add missing @param tag for Collections.reverseOrder() Reviewed-by: darcy, alanb ! src/share/classes/java/util/Collections.java Changeset: cf743d5ca712 Author: darcy Date: 2011-03-25 18:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cf743d5ca712 7031371: Clarify javadoc of Throwable, including addSuppressed Reviewed-by: smarks, mduigou ! src/share/classes/java/lang/Throwable.java Changeset: e4e3dd6a7930 Author: darcy Date: 2011-03-25 18:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e4e3dd6a7930 7031376: Typos in javadoc of TimSort classes Reviewed-by: darcy Contributed-by: jjb at google.com ! src/share/classes/java/util/ComparableTimSort.java ! src/share/classes/java/util/TimSort.java Changeset: 86ace035d04d Author: weijun Date: 2011-03-28 18:04 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/86ace035d04d 7019384: Realm.getRealmsList returns realms list in wrong (reverse) order Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/Realm.java ! test/sun/security/krb5/ParseCAPaths.java ! test/sun/security/krb5/krb5-capaths.conf Changeset: 79cd9368b555 Author: weijun Date: 2011-03-28 18:04 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/79cd9368b555 7031536: test/sun/security/krb5/auto/HttpNegotiateServer.java should not use static ports Reviewed-by: xuelei ! test/sun/security/jgss/GssNPE.java ! test/sun/security/jgss/spnego/NoSpnegoAsDefMech.java ! test/sun/security/krb5/ConfPlusProp.java ! test/sun/security/krb5/ConfigWithQuotations.java ! test/sun/security/krb5/DnsFallback.java ! test/sun/security/krb5/IPv6.java ! test/sun/security/krb5/ParseConfig.java ! test/sun/security/krb5/RFC396xTest.java ! test/sun/security/krb5/TimeInCCache.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/sun/security/krb5/etype/ETypeOrder.java ! test/sun/security/krb5/ktab/HighestKvno.java Changeset: a42760dae179 Author: ksrini Date: 2011-03-28 13:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a42760dae179 7031166: (pack200) tools/pack200/CommandLineTests.java fail with testsdk on RO filesystem Reviewed-by: alanb ! test/tools/pack200/CommandLineTests.java ! test/tools/pack200/TimeStamp.java ! test/tools/pack200/Utils.java Changeset: 19567f9d6962 Author: dholmes Date: 2011-03-29 08:15 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/19567f9d6962 7031929: Variable names typos in Release-embedded.gmk Reviewed-by: alanb ! make/common/Release-embedded.gmk Changeset: b8259e08543b Author: mullan Date: 2011-03-29 10:39 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b8259e08543b 7019937: Translatability bug - Remove Unused String - String ID , read end of file 7019938: Translatability bug - Remove Unused String - String ID can not specify Principal with a 7019940: Translatability bug - Remove unused string - String ID: provided null name 7019942: Translatability bug - String ID: trustedCertEntry, 7019945: Translatability bug - Translatability issue - String ID: * has NOT been verified! In order to veri 7019947: Translatability bug - Translatability issue - String ID: * The integrity of the information stored i 7019949: Translatability bug - Translatability issue - String ID: * you must provide your keystore password. Reviewed-by: weijun, wetmore ! src/share/classes/com/sun/security/auth/PolicyParser.java ! src/share/classes/sun/security/tools/JarSigner.java ! src/share/classes/sun/security/tools/JarSignerResources.java ! src/share/classes/sun/security/tools/KeyTool.java ! src/share/classes/sun/security/util/AuthResources.java ! src/share/classes/sun/security/util/Resources.java Changeset: 77077940fad6 Author: mullan Date: 2011-03-29 11:37 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/77077940fad6 Merge Changeset: 3e001dd50408 Author: mchung Date: 2011-03-29 15:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3e001dd50408 7024172: Move BufferPoolMXBean and PlatformLoggingMXBean java.lang.management Reviewed-by: alanb + src/share/classes/java/lang/management/BufferPoolMXBean.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/classes/java/lang/management/PlatformComponent.java + src/share/classes/java/lang/management/PlatformLoggingMXBean.java ! src/share/classes/java/lang/management/PlatformManagedObject.java ! src/share/classes/java/lang/management/package.html - src/share/classes/java/nio/BufferPoolMXBean.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/LoggingMXBean.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java ! src/share/classes/sun/management/ManagementFactoryHelper.java ! test/Makefile + test/java/lang/management/BufferPoolMXBean/Basic.java ! test/java/lang/management/ManagementFactory/GetPlatformMXBeans.java + test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java + test/java/lang/management/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java - test/java/nio/BufferPoolMXBean/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Leaky.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: d2bbdd709307 Author: mchung Date: 2011-03-29 15:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d2bbdd709307 6381464: SimpleFormatter should use one single line format Summary: Define a new logging properties to support custom output format Reviewed-by: alanb ! src/share/classes/java/util/logging/LoggingProxyImpl.java ! src/share/classes/java/util/logging/SimpleFormatter.java ! src/share/classes/sun/util/logging/LoggingProxy.java ! src/share/classes/sun/util/logging/LoggingSupport.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/share/lib/logging.properties + test/java/util/logging/SimpleFormatterFormat.java ! test/sun/util/logging/PlatformLoggerTest.java Changeset: 646047d77db9 Author: alanb Date: 2011-03-30 00:59 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/646047d77db9 7026507: Bidi initialization fails if AWT not present Reviewed-by: okutsu ! src/share/classes/sun/text/bidi/BidiBase.java Changeset: a40982a82291 Author: alanb Date: 2011-03-30 01:00 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a40982a82291 Merge - src/share/classes/java/nio/BufferPoolMXBean.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java - test/java/nio/BufferPoolMXBean/Basic.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: 5107fb3a9c06 Author: dholmes Date: 2011-03-30 22:20 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5107fb3a9c06 7032364: Add jvm.cfg file for ARM and PPC architectures Reviewed-by: darcy, bdelsart, alanb, mduigou + src/solaris/bin/arm/jvm.cfg + src/solaris/bin/ppc/jvm.cfg Changeset: e2862ac26354 Author: dcubed Date: 2011-03-30 21:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e2862ac26354 7030400: 3/4 PrivateTransportTest.sh needs adjustment to work with 7003964 Summary: Fix typo in GetModuleHandle() function lookup. Reviewed-by: dholmes, alanb, acorn, zgu ! test/com/sun/jdi/PrivateTransportTest.sh Changeset: 683957148bab Author: michaelm Date: 2011-03-31 17:37 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/683957148bab 7032866: Problem with fix for 7030256 Reviewed-by: alanb ! src/windows/native/java/net/net_util_md.c Changeset: 856cc9e97aea Author: darcy Date: 2011-03-31 19:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/856cc9e97aea 7005628: Clarify NPE behavior of Throwable.addSuppressed(null) Reviewed-by: dholmes, mchung, jjb ! src/share/classes/java/lang/ArithmeticException.java ! src/share/classes/java/lang/NullPointerException.java ! src/share/classes/java/lang/OutOfMemoryError.java ! src/share/classes/java/lang/Throwable.java ! test/java/lang/Throwable/SuppressedExceptions.java Changeset: 9aaa2233b0de Author: lana Date: 2011-03-31 22:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9aaa2233b0de Merge ! make/common/Defs.gmk ! make/common/Release.gmk - make/java/dyn/Makefile - src/share/classes/java/dyn/CallSite.java - src/share/classes/java/dyn/ClassValue.java - src/share/classes/java/dyn/ConstantCallSite.java - src/share/classes/java/dyn/InvokeDynamic.java - src/share/classes/java/dyn/InvokeDynamicBootstrapError.java - src/share/classes/java/dyn/Linkage.java - src/share/classes/java/dyn/MethodHandle.java - src/share/classes/java/dyn/MethodHandles.java - src/share/classes/java/dyn/MethodType.java - src/share/classes/java/dyn/MethodTypeForm.java - src/share/classes/java/dyn/MutableCallSite.java - src/share/classes/java/dyn/SwitchPoint.java - src/share/classes/java/dyn/VolatileCallSite.java - src/share/classes/java/dyn/WrongMethodTypeException.java - src/share/classes/java/dyn/package-info.java - src/share/classes/sun/dyn/Access.java - src/share/classes/sun/dyn/AdapterMethodHandle.java - src/share/classes/sun/dyn/BoundMethodHandle.java - src/share/classes/sun/dyn/CallSiteImpl.java - src/share/classes/sun/dyn/DirectMethodHandle.java - src/share/classes/sun/dyn/FilterGeneric.java - src/share/classes/sun/dyn/FilterOneArgument.java - src/share/classes/sun/dyn/FromGeneric.java - src/share/classes/sun/dyn/InvokeGeneric.java - src/share/classes/sun/dyn/Invokers.java - src/share/classes/sun/dyn/MemberName.java - src/share/classes/sun/dyn/MethodHandleImpl.java - src/share/classes/sun/dyn/MethodHandleNatives.java - src/share/classes/sun/dyn/MethodTypeImpl.java - src/share/classes/sun/dyn/SpreadGeneric.java - src/share/classes/sun/dyn/ToGeneric.java - src/share/classes/sun/dyn/WrapperInstance.java - src/share/classes/sun/dyn/anon/AnonymousClassLoader.java - src/share/classes/sun/dyn/anon/ConstantPoolParser.java - src/share/classes/sun/dyn/anon/ConstantPoolPatch.java - src/share/classes/sun/dyn/anon/ConstantPoolVisitor.java - src/share/classes/sun/dyn/anon/InvalidConstantPoolFormatException.java - src/share/classes/sun/dyn/empty/Empty.java - src/share/classes/sun/dyn/package-info.java - src/share/classes/sun/dyn/util/BytecodeDescriptor.java - src/share/classes/sun/dyn/util/BytecodeName.java - src/share/classes/sun/dyn/util/ValueConversions.java - src/share/classes/sun/dyn/util/VerifyAccess.java - src/share/classes/sun/dyn/util/VerifyType.java - src/share/classes/sun/dyn/util/Wrapper.java - src/share/classes/sun/dyn/util/package-info.java - test/java/dyn/ClassValueTest.java - test/java/dyn/InvokeDynamicPrintArgs.java - test/java/dyn/InvokeGenericTest.java - test/java/dyn/JavaDocExamplesTest.java - test/java/dyn/MethodHandlesTest.java - test/java/dyn/MethodTypeTest.java - test/java/dyn/indify/Indify.java Changeset: abb29a6bc9f3 Author: darcy Date: 2011-04-04 11:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/abb29a6bc9f3 6543593: (reflect) Clarify private final field mutability Reviewed-by: dholmes, alanb, mduigou ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java Changeset: 59f43e232481 Author: sherman Date: 2011-04-04 11:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/59f43e232481 6751338: ZIP inflater/deflater performance Summary: To use GetPrimitiveArrayCritical for bye array access Reviewed-by: bristor, alanb ! src/share/classes/java/util/zip/DeflaterOutputStream.java ! src/share/native/java/util/zip/Deflater.c ! src/share/native/java/util/zip/Inflater.c + test/java/util/zip/FlaterCriticalArray.java + test/java/util/zip/InflaterBufferSize.java Changeset: 83e5e081b4bb Author: sherman Date: 2011-04-04 11:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/83e5e081b4bb Merge Changeset: 05c9c157ec51 Author: alanb Date: 2011-04-04 18:09 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/05c9c157ec51 7029979: (fs) Path.toRealPath(boolean) should be toRealPath(LinkOption...) Reviewed-by: sherman ! src/share/classes/java/nio/file/Path.java ! src/share/classes/sun/nio/fs/Util.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipPath.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java ! src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java ! src/windows/classes/sun/nio/fs/WindowsPath.java ! test/java/nio/file/Files/CheckPermissions.java ! test/java/nio/file/Files/PassThroughFileSystem.java ! test/java/nio/file/Path/Misc.java Changeset: d5f0cf316f12 Author: alanb Date: 2011-04-04 18:12 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d5f0cf316f12 7033568: (file) Miscellaneous typos Reviewed-by: michaelm, mduigou ! src/share/classes/java/nio/file/Files.java Changeset: e9b9b0748794 Author: alanb Date: 2011-04-04 18:35 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e9b9b0748794 7030249: Eliminate use of LoadLibrary and other clean-ups Reviewed-by: ohair, chegar, mchung ! make/java/java/Makefile ! make/java/management/Makefile ! src/windows/native/com/sun/management/OperatingSystem_md.c ! src/windows/native/java/io/WinNTFileSystem_md.c ! src/windows/native/java/lang/java_props_md.c ! src/windows/native/sun/management/FileSystemImpl.c ! src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c ! src/windows/native/sun/security/provider/WinCAPISeedGenerator.c Changeset: 9a3a1f8ad66b Author: alanb Date: 2011-04-04 19:32 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9a3a1f8ad66b Merge Changeset: 9f08a221e5f2 Author: mduigou Date: 2011-04-04 11:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9f08a221e5f2 6565585: Remove critical section in Method.invoke, Constructor.newInstance, Field.getFieldAccessor improving performance Reviewed-by: alanb, dholmes, briangoetz ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java Changeset: a6677292a936 Author: lana Date: 2011-04-04 17:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a6677292a936 Merge ! src/share/classes/java/awt/Toolkit.java - src/share/classes/java/nio/BufferPoolMXBean.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java ! src/solaris/classes/sun/awt/X11/XToolkit.java - src/windows/native/java/net/NetworkInterface_win9x.c - test/java/nio/BufferPoolMXBean/Basic.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: ef4492cbf1d7 Author: dholmes Date: 2011-04-09 15:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ef4492cbf1d7 7035109: Regression: awt SplashScreen/test18.sh fails - missing mapfile entry Reviewed-by: alanb, ksrini ! make/sun/xawt/mapfile-vers Changeset: 6ff36c6e0cf4 Author: lana Date: 2011-04-10 10:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6ff36c6e0cf4 Merge - src/share/classes/java/nio/BufferPoolMXBean.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java - src/windows/native/java/net/NetworkInterface_win9x.c - test/java/nio/BufferPoolMXBean/Basic.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: f1ebf4c57417 Author: trims Date: 2011-04-12 16:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f1ebf4c57417 Merge Changeset: 272483f6650b Author: ohair Date: 2011-04-06 22:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/272483f6650b 7033660: Update copyright year to 2011 on any files changed in 2011 Reviewed-by: dholmes ! make/Makefile ! make/com/sun/crypto/provider/Makefile ! make/com/sun/java/pack/Makefile ! make/com/sun/java/pack/prop/Makefile ! make/com/sun/jndi/cosnaming/Makefile ! make/com/sun/jndi/dns/Makefile ! make/com/sun/jndi/ldap/Makefile ! make/com/sun/jndi/rmi/registry/Makefile ! make/com/sun/nio/sctp/Makefile ! make/com/sun/org/apache/xml/Makefile ! make/com/sun/rowset/Makefile ! make/com/sun/script/Makefile ! make/com/sun/security/auth/module/Makefile ! make/com/sun/servicetag/Makefile ! make/com/sun/tools/attach/Makefile ! make/common/Defs-solaris.gmk ! make/common/Defs-windows.gmk ! make/common/Demo.gmk ! make/common/Library.gmk ! make/common/Program.gmk ! make/common/Sanity.gmk ! make/common/Subdirs.gmk ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-control.gmk ! make/common/shared/Defs-javadoc.gmk ! make/common/shared/Defs-windows.gmk ! make/common/shared/Defs.gmk ! make/docs/Makefile ! make/docs/NON_CORE_PKGS.gmk ! make/java/awt/Makefile ! make/java/fdlibm/Makefile ! make/java/java/FILES_java.gmk ! make/java/java/Makefile ! make/java/java_crw_demo/Makefile ! make/java/java_hprof_demo/Makefile ! make/java/jli/Makefile ! make/java/logging/Makefile ! make/java/main/java/Makefile ! make/java/main/javaw/Makefile ! make/java/management/Makefile ! make/java/net/Makefile ! make/java/nio/FILES_java.gmk ! make/java/nio/mapfile-linux ! make/java/nio/mapfile-solaris ! make/java/npt/Makefile ! make/java/redist/Makefile ! make/java/redist/fonts/Makefile ! make/java/redist/sajdi/Makefile ! make/java/sql/Makefile ! make/java/text/base/FILES_java.gmk ! make/java/text/base/Makefile ! make/java/util/FILES_properties.gmk ! make/java/verify/Makefile ! make/java/zip/Makefile ! make/javax/crypto/Defs-jce.gmk ! make/javax/crypto/Makefile ! make/javax/imageio/Makefile ! make/javax/print/Makefile ! make/javax/sound/Makefile ! make/javax/sound/jsoundalsa/Makefile ! make/javax/sound/jsoundds/Makefile ! make/javax/sql/Makefile ! make/javax/swing/Makefile ! make/javax/swing/plaf/Makefile ! make/jdk_generic_profile.sh ! make/jpda/back/Makefile ! make/jpda/transport/Makefile ! make/jpda/transport/shmem/Makefile ! make/jpda/transport/socket/Makefile ! make/jpda/tty/Makefile ! make/launchers/Makefile ! make/mkdemo/Makefile ! make/mkdemo/jfc/Font2DTest/Makefile ! make/mkdemo/jfc/Java2D/Makefile ! make/mkdemo/jfc/Makefile ! make/mkdemo/jfc/SwingApplet/Makefile ! make/mkdemo/jfc/SwingSet2/Makefile ! make/mkdemo/jfc/SwingSet3/Makefile ! make/mkdemo/jpda/Makefile ! make/mkdemo/jvmti/Makefile ! make/mkdemo/management/Makefile ! make/mksample/dtrace/Makefile ! make/mksample/jmx/jmx-scandir/Makefile ! make/mksample/nbproject/Makefile ! make/mksample/nio/file/Makefile ! make/mksample/nio/multicast/Makefile ! make/mksample/nio/server/Makefile ! make/mksample/scripting/scriptpad/Makefile ! make/mksample/webservices/EbayClient/Makefile ! make/mksample/webservices/EbayServer/Makefile ! make/netbeans/common/java-data-native.ent ! make/netbeans/common/java-data-no-native.ent ! make/sun/Makefile ! make/sun/applet/Makefile ! make/sun/awt/Makefile ! make/sun/awt/mapfile-mawt-vers ! make/sun/awt/mapfile-vers-linux ! make/sun/cmm/Makefile ! make/sun/cmm/kcms/Makefile ! make/sun/cmm/lcms/Makefile ! make/sun/dcpr/Makefile ! make/sun/font/Makefile ! make/sun/font/t2k/Makefile ! make/sun/headless/Makefile ! make/sun/headless/mapfile-vers ! make/sun/image/generic/Makefile ! make/sun/image/vis/Makefile ! make/sun/jar/Makefile ! make/sun/javazic/Makefile ! make/sun/jawt/Makefile ! make/sun/jconsole/Makefile ! make/sun/jdbc/Makefile ! make/sun/jdga/Makefile ! make/sun/jpeg/Makefile ! make/sun/launcher/Makefile ! make/sun/management/Makefile ! make/sun/native2ascii/Makefile ! make/sun/net/others/Makefile ! make/sun/net/spi/nameservice/dns/Makefile ! make/sun/nio/cs/FILES_java.gmk ! make/sun/nio/cs/Makefile ! make/sun/org/mozilla/javascript/Makefile ! make/sun/pisces/Makefile ! make/sun/rmi/cgi/Makefile ! make/sun/rmi/oldtools/Makefile ! make/sun/rmi/registry/Makefile ! make/sun/rmi/rmi/Makefile ! make/sun/rmi/rmic/Makefile ! make/sun/rmi/rmid/Makefile ! make/sun/security/ec/Makefile ! make/sun/security/jgss/wrapper/Makefile ! make/sun/security/krb5/Makefile ! make/sun/security/mscapi/Makefile ! make/sun/security/pkcs11/Makefile ! make/sun/security/smartcardio/Makefile ! make/sun/security/tools/Makefile ! make/sun/serialver/Makefile ! make/sun/splashscreen/Makefile ! make/sun/text/Makefile ! make/sun/tools/Makefile ! make/sun/tracing/dtrace/Makefile ! make/sun/xawt/Makefile ! make/sun/xawt/mapfile-vers ! make/tools/reorder/Makefile ! make/tools/src/build/tools/javazic/Zoneinfo.java ! src/share/back/debugInit.c ! src/share/back/eventFilter.c ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/Driver.java ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/com/sun/java/util/jar/pack/PropMap.java ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/Utils.java ! src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java ! src/share/classes/com/sun/media/sound/AiffFileWriter.java ! src/share/classes/com/sun/media/sound/AlawCodec.java ! src/share/classes/com/sun/media/sound/AuFileWriter.java ! src/share/classes/com/sun/media/sound/DirectAudioDevice.java ! src/share/classes/com/sun/media/sound/RealTimeSequencer.java ! src/share/classes/com/sun/media/sound/StandardMidiFileReader.java ! src/share/classes/com/sun/media/sound/SunFileWriter.java ! src/share/classes/com/sun/media/sound/WaveFileWriter.java ! src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java ! src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java ! src/share/classes/com/sun/script/javascript/RhinoTopLevel.java ! src/share/classes/com/sun/script/util/InterfaceImplementor.java ! src/share/classes/com/sun/security/auth/PolicyFile.java ! src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java ! src/share/classes/com/sun/security/auth/login/ConfigFile.java ! src/share/classes/com/sun/security/auth/module/JndiLoginModule.java ! src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java ! src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java ! src/share/classes/com/sun/security/auth/module/UnixLoginModule.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/share/classes/com/sun/tools/script/shell/init.js ! src/share/classes/java/awt/AWTEvent.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/Font.java ! src/share/classes/java/awt/LinearGradientPaint.java ! src/share/classes/java/awt/MenuComponent.java ! src/share/classes/java/awt/MultipleGradientPaint.java ! src/share/classes/java/awt/RadialGradientPaint.java ! src/share/classes/java/awt/TrayIcon.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/awt/doc-files/FocusSpec.html ! src/share/classes/java/awt/geom/CubicCurve2D.java ! src/share/classes/java/awt/image/PackedColorModel.java ! src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/DesignMode.java ! src/share/classes/java/beans/IndexedPropertyChangeEvent.java ! src/share/classes/java/beans/Introspector.java ! src/share/classes/java/beans/VetoableChangeSupport.java ! src/share/classes/java/beans/package.html ! src/share/classes/java/io/BufferedReader.java ! src/share/classes/java/io/BufferedWriter.java ! src/share/classes/java/io/Console.java ! src/share/classes/java/io/DeleteOnExitHook.java ! src/share/classes/java/io/File.java ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/io/FilterOutputStream.java ! src/share/classes/java/io/ObjectStreamClass.java ! src/share/classes/java/io/PushbackInputStream.java ! src/share/classes/java/io/PushbackReader.java ! src/share/classes/java/lang/ApplicationShutdownHooks.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/StackTraceElement.java ! src/share/classes/java/lang/StringCoding.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/ThreadGroup.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/NetPermission.java ! src/share/classes/java/net/NetworkInterface.java ! src/share/classes/java/net/URI.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/net/doc-files/net-properties.html ! src/share/classes/java/net/package.html ! src/share/classes/java/nio/channels/AsynchronousFileChannel.java ! src/share/classes/java/nio/channels/FileChannel.java ! src/share/classes/java/nio/channels/SeekableByteChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/file/AccessMode.java ! src/share/classes/java/nio/file/CopyOption.java ! src/share/classes/java/nio/file/DirectoryIteratorException.java ! src/share/classes/java/nio/file/DirectoryStream.java ! src/share/classes/java/nio/file/FileStore.java ! src/share/classes/java/nio/file/FileSystem.java ! src/share/classes/java/nio/file/FileSystems.java ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/FileVisitor.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/LinkOption.java ! src/share/classes/java/nio/file/LinkPermission.java ! src/share/classes/java/nio/file/OpenOption.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/nio/file/PathMatcher.java ! src/share/classes/java/nio/file/Paths.java ! src/share/classes/java/nio/file/SecureDirectoryStream.java ! src/share/classes/java/nio/file/SimpleFileVisitor.java ! src/share/classes/java/nio/file/TempFileHelper.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchKey.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/attribute/AclEntry.java ! src/share/classes/java/nio/file/attribute/AclFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/share/classes/java/nio/file/attribute/BasicFileAttributes.java ! src/share/classes/java/nio/file/attribute/DosFileAttributeView.java ! src/share/classes/java/nio/file/attribute/DosFileAttributes.java ! src/share/classes/java/nio/file/attribute/FileAttribute.java ! src/share/classes/java/nio/file/attribute/FileAttributeView.java ! src/share/classes/java/nio/file/attribute/FileOwnerAttributeView.java ! src/share/classes/java/nio/file/attribute/FileTime.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java ! src/share/classes/java/nio/file/attribute/PosixFileAttributes.java ! src/share/classes/java/nio/file/attribute/PosixFilePermission.java ! src/share/classes/java/nio/file/attribute/PosixFilePermissions.java ! src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java ! src/share/classes/java/nio/file/attribute/package-info.java ! src/share/classes/java/nio/file/package-info.java ! src/share/classes/java/nio/file/spi/FileSystemProvider.java ! src/share/classes/java/nio/file/spi/FileTypeDetector.java ! src/share/classes/java/security/AccessControlContext.java ! src/share/classes/java/security/AlgorithmParameterGenerator.java ! src/share/classes/java/security/AlgorithmParameters.java ! src/share/classes/java/security/BasicPermission.java ! src/share/classes/java/security/KeyFactory.java ! src/share/classes/java/security/KeyPairGenerator.java ! src/share/classes/java/security/KeyStore.java ! src/share/classes/java/security/MessageDigest.java ! src/share/classes/java/security/Permissions.java ! src/share/classes/java/security/Policy.java ! src/share/classes/java/security/ProtectionDomain.java ! src/share/classes/java/security/Provider.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/java/security/Security.java ! src/share/classes/java/security/Signature.java ! src/share/classes/java/security/UnresolvedPermission.java ! src/share/classes/java/security/UnresolvedPermissionCollection.java ! src/share/classes/java/security/cert/CertPath.java ! src/share/classes/java/security/cert/CertPathBuilder.java ! src/share/classes/java/security/cert/CertPathValidator.java ! src/share/classes/java/security/cert/CertStore.java ! src/share/classes/java/security/cert/Certificate.java ! src/share/classes/java/security/cert/CertificateFactory.java ! src/share/classes/java/security/cert/CertificateFactorySpi.java ! src/share/classes/java/security/cert/package.html ! src/share/classes/java/security/package.html ! src/share/classes/java/sql/Timestamp.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/DualPivotQuicksort.java ! src/share/classes/java/util/EnumMap.java ! src/share/classes/java/util/EnumSet.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/HashSet.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/JumboEnumSet.java ! src/share/classes/java/util/LinkedHashMap.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/Objects.java ! src/share/classes/java/util/RegularEnumSet.java ! src/share/classes/java/util/ServiceLoader.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/UUID.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/WeakHashMap.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/logging/Level.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/java/util/prefs/AbstractPreferences.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/spi/LocaleNameProvider.java ! src/share/classes/java/util/zip/Inflater.java ! src/share/classes/java/util/zip/ZipEntry.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/java/util/zip/package.html ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/crypto/ExemptionMechanism.java ! src/share/classes/javax/crypto/KeyAgreement.java ! src/share/classes/javax/crypto/KeyGenerator.java ! src/share/classes/javax/crypto/Mac.java ! src/share/classes/javax/crypto/package.html ! src/share/classes/javax/net/ssl/SSLContext.java ! src/share/classes/javax/net/ssl/package.html ! src/share/classes/javax/print/attribute/standard/DialogTypeSelection.java ! src/share/classes/javax/script/CompiledScript.java ! src/share/classes/javax/script/ScriptEngineFactory.java ! src/share/classes/javax/security/auth/PrivateCredentialPermission.java ! src/share/classes/javax/security/auth/SubjectDomainCombiner.java ! src/share/classes/javax/security/auth/kerberos/DelegationPermission.java ! src/share/classes/javax/security/auth/kerberos/ServicePermission.java ! src/share/classes/javax/security/auth/login/Configuration.java ! src/share/classes/javax/security/auth/login/package.html ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/sampled/AudioSystem.java ! src/share/classes/javax/sql/rowset/serial/SerialClob.java ! src/share/classes/javax/sql/rowset/spi/SyncFactory.java ! src/share/classes/javax/swing/AbstractButton.java ! src/share/classes/javax/swing/BorderFactory.java ! src/share/classes/javax/swing/BufferStrategyPaintManager.java ! src/share/classes/javax/swing/DefaultDesktopManager.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JEditorPane.java ! src/share/classes/javax/swing/JFileChooser.java ! src/share/classes/javax/swing/JLayer.java ! src/share/classes/javax/swing/JOptionPane.java ! src/share/classes/javax/swing/JSlider.java ! src/share/classes/javax/swing/JViewport.java ! src/share/classes/javax/swing/LookAndFeel.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/javax/swing/SizeSequence.java ! src/share/classes/javax/swing/SwingUtilities.java ! src/share/classes/javax/swing/SwingWorker.java ! src/share/classes/javax/swing/Timer.java ! src/share/classes/javax/swing/ToolTipManager.java ! src/share/classes/javax/swing/TransferHandler.java ! src/share/classes/javax/swing/border/BevelBorder.java ! src/share/classes/javax/swing/border/StrokeBorder.java ! src/share/classes/javax/swing/event/InternalFrameAdapter.java ! src/share/classes/javax/swing/event/InternalFrameListener.java ! src/share/classes/javax/swing/plaf/LayerUI.java ! src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java ! src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java ! src/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java ! src/share/classes/javax/swing/plaf/synth/SynthTextPaneUI.java ! src/share/classes/javax/swing/text/AsyncBoxView.java ! src/share/classes/javax/swing/text/DefaultCaret.java ! src/share/classes/javax/swing/text/JTextComponent.java ! src/share/classes/javax/swing/text/Keymap.java ! src/share/classes/javax/swing/text/TableView.java ! src/share/classes/javax/swing/text/Utilities.java ! src/share/classes/javax/swing/text/View.java ! src/share/classes/javax/swing/text/WrappedPlainView.java ! src/share/classes/javax/swing/text/html/CSSBorder.java ! src/share/classes/javax/swing/text/html/HTMLEditorKit.java ! src/share/classes/javax/swing/text/html/ParagraphView.java ! src/share/classes/javax/swing/text/html/StyleSheet.java ! src/share/classes/javax/swing/text/html/parser/ParserDelegator.java ! src/share/classes/overview-core.html ! src/share/classes/sun/applet/AppletClassLoader.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_de.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_es.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_fr.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_it.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ko.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/image/ImageFetcher.java ! src/share/classes/sun/awt/image/InputStreamImageSource.java ! src/share/classes/sun/dc/DuctusRenderingEngine.java ! src/share/classes/sun/font/FileFont.java ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/Font2D.java ! src/share/classes/sun/font/FontScaler.java ! src/share/classes/sun/font/FontUtilities.java ! src/share/classes/sun/font/FreetypeFontScaler.java ! src/share/classes/sun/font/NullFontScaler.java ! src/share/classes/sun/font/StrikeCache.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/font/TrueTypeFont.java ! src/share/classes/sun/font/Type1Font.java ! src/share/classes/sun/invoke/package-info.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/share/classes/sun/java2d/loops/CompositeType.java ! src/share/classes/sun/java2d/loops/MaskFill.java ! src/share/classes/sun/java2d/pipe/AAShapePipe.java ! src/share/classes/sun/java2d/pipe/AlphaColorPipe.java ! src/share/classes/sun/java2d/pipe/RenderingEngine.java ! src/share/classes/sun/java2d/pisces/Curve.java ! src/share/classes/sun/java2d/pisces/Dasher.java ! src/share/classes/sun/java2d/pisces/Helpers.java ! src/share/classes/sun/java2d/pisces/PiscesCache.java ! src/share/classes/sun/java2d/pisces/PiscesRenderingEngine.java ! src/share/classes/sun/java2d/pisces/PiscesTileGenerator.java ! src/share/classes/sun/java2d/pisces/Renderer.java ! src/share/classes/sun/java2d/pisces/Stroker.java ! src/share/classes/sun/java2d/pisces/TransformingPathConsumer2D.java ! src/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! src/share/classes/sun/management/resources/agent_de.properties ! src/share/classes/sun/management/resources/agent_es.properties ! src/share/classes/sun/management/resources/agent_fr.properties ! src/share/classes/sun/management/resources/agent_it.properties ! src/share/classes/sun/management/resources/agent_ja.properties ! src/share/classes/sun/management/resources/agent_ko.properties ! src/share/classes/sun/management/resources/agent_pt_BR.properties ! src/share/classes/sun/management/resources/agent_sv.properties ! src/share/classes/sun/management/resources/agent_zh_CN.properties ! src/share/classes/sun/management/resources/agent_zh_TW.properties ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/JavaSecurityAccess.java ! src/share/classes/sun/misc/Launcher.java ! src/share/classes/sun/misc/URLClassPath.java ! src/share/classes/sun/misc/VM.java ! src/share/classes/sun/misc/resources/Messages_de.java ! src/share/classes/sun/misc/resources/Messages_es.java ! src/share/classes/sun/misc/resources/Messages_fr.java ! src/share/classes/sun/misc/resources/Messages_it.java ! src/share/classes/sun/misc/resources/Messages_ja.java ! src/share/classes/sun/misc/resources/Messages_ko.java ! src/share/classes/sun/misc/resources/Messages_pt_BR.java ! src/share/classes/sun/misc/resources/Messages_sv.java ! src/share/classes/sun/misc/resources/Messages_zh_CN.java ! src/share/classes/sun/misc/resources/Messages_zh_TW.java ! src/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/share/classes/sun/net/spi/DefaultProxySelector.java ! src/share/classes/sun/net/www/http/KeepAliveCache.java ! src/share/classes/sun/net/www/http/KeepAliveStream.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/jar/URLJarFile.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java ! src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java ! src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java ! src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java ! src/share/classes/sun/nio/fs/AbstractPath.java ! src/share/classes/sun/nio/fs/AbstractPoller.java ! src/share/classes/sun/nio/fs/AbstractUserDefinedFileAttributeView.java ! src/share/classes/sun/nio/fs/AbstractWatchKey.java ! src/share/classes/sun/nio/fs/AbstractWatchService.java ! src/share/classes/sun/nio/fs/DynamicFileAttributeView.java ! src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java ! src/share/classes/sun/nio/fs/PollingWatchService.java ! src/share/classes/sun/nio/fs/Util.java ! src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_de.properties ! src/share/classes/sun/rmi/server/resources/rmid_es.properties ! src/share/classes/sun/rmi/server/resources/rmid_fr.properties ! src/share/classes/sun/rmi/server/resources/rmid_it.properties ! src/share/classes/sun/rmi/server/resources/rmid_ja.properties ! src/share/classes/sun/rmi/server/resources/rmid_ko.properties ! src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties ! src/share/classes/sun/rmi/server/resources/rmid_sv.properties ! src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties ! src/share/classes/sun/security/acl/AclEntryImpl.java ! src/share/classes/sun/security/acl/AclImpl.java ! src/share/classes/sun/security/acl/GroupImpl.java ! src/share/classes/sun/security/jca/ProviderList.java ! src/share/classes/sun/security/jca/Providers.java ! src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/KdcComm.java ! src/share/classes/sun/security/krb5/KrbAsRep.java ! src/share/classes/sun/security/krb5/PrincipalName.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/security/krb5/internal/HostAddresses.java ! src/share/classes/sun/security/krb5/internal/KRBError.java ! src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java ! src/share/classes/sun/security/krb5/internal/crypto/EType.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/pkcs11/Config.java ! src/share/classes/sun/security/pkcs11/P11Key.java ! src/share/classes/sun/security/provider/PolicyFile.java ! src/share/classes/sun/security/provider/SeedGenerator.java ! src/share/classes/sun/security/provider/Sun.java ! src/share/classes/sun/security/provider/VerificationProvider.java ! src/share/classes/sun/security/provider/X509Factory.java ! src/share/classes/sun/security/rsa/RSACore.java ! src/share/classes/sun/security/rsa/SunRsaSign.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/CipherSuiteList.java ! src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/HelloExtensions.java ! src/share/classes/sun/security/ssl/ProtocolList.java ! src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java ! src/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java ! src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java ! src/share/classes/sun/security/ssl/X509KeyManagerImpl.java ! src/share/classes/sun/security/tools/JarSignerResources_ja.java ! src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java ! src/share/classes/sun/security/tools/policytool/PolicyTool.java ! src/share/classes/sun/security/util/AuthResources_de.java ! src/share/classes/sun/security/util/AuthResources_es.java ! src/share/classes/sun/security/util/AuthResources_fr.java ! src/share/classes/sun/security/util/AuthResources_it.java ! src/share/classes/sun/security/util/AuthResources_ja.java ! src/share/classes/sun/security/util/AuthResources_ko.java ! src/share/classes/sun/security/util/AuthResources_pt_BR.java ! src/share/classes/sun/security/util/AuthResources_sv.java ! src/share/classes/sun/security/util/AuthResources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/share/classes/sun/security/util/Resources_de.java ! src/share/classes/sun/security/util/Resources_es.java ! src/share/classes/sun/security/util/Resources_fr.java ! src/share/classes/sun/security/util/Resources_it.java ! src/share/classes/sun/security/util/Resources_ja.java ! src/share/classes/sun/security/util/Resources_ko.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/security/util/Resources_sv.java ! src/share/classes/sun/security/util/Resources_zh_CN.java ! src/share/classes/sun/security/util/Resources_zh_TW.java ! src/share/classes/sun/swing/AccumulativeRunnable.java ! src/share/classes/sun/swing/WindowsPlacesBar.java ! src/share/classes/sun/text/resources/CollationData_sr_Latn.java ! src/share/classes/sun/tools/attach/HotSpotAttachProvider.java ! src/share/classes/sun/tools/jar/Main.java ! src/share/classes/sun/tools/jar/resources/jar_de.properties ! src/share/classes/sun/tools/jar/resources/jar_es.properties ! src/share/classes/sun/tools/jar/resources/jar_fr.properties ! src/share/classes/sun/tools/jar/resources/jar_it.properties ! src/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/share/classes/sun/tools/jar/resources/jar_ko.properties ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jar/resources/jar_sv.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties ! src/share/classes/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java ! src/share/classes/sun/tools/native2ascii/Main.java ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java ! src/share/classes/sun/util/locale/LanguageTag.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/share/classes/sun/util/logging/resources/logging.properties ! src/share/classes/sun/util/logging/resources/logging_de.properties ! src/share/classes/sun/util/logging/resources/logging_es.properties ! src/share/classes/sun/util/logging/resources/logging_fr.properties ! src/share/classes/sun/util/logging/resources/logging_it.properties ! src/share/classes/sun/util/logging/resources/logging_ja.properties ! src/share/classes/sun/util/logging/resources/logging_ko.properties ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/logging/resources/logging_sv.properties ! src/share/classes/sun/util/logging/resources/logging_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_zh_TW.properties ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java ! src/share/demo/jvmti/heapTracker/heapTracker.c ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileStore.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java ! src/share/instrument/JPLISAgent.c ! src/share/javavm/export/jvmti.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/common/check_code.c ! src/share/native/java/io/io_util.c ! src/share/native/sun/awt/image/awt_parseImage.c ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c ! src/share/native/sun/awt/image/jpeg/jpegdecoder.c ! src/share/native/sun/awt/splashscreen/splashscreen_gfx_impl.h ! src/share/native/sun/font/FontInstanceAdapter.cpp ! src/share/native/sun/java2d/cmm/lcms/LCMS.c ! src/share/native/sun/java2d/loops/MaskFill.c ! src/share/native/sun/java2d/loops/ParallelogramUtils.h ! src/share/native/sun/java2d/loops/ProcessPath.c ! src/share/native/sun/java2d/pipe/BufferedMaskBlit.c ! src/share/native/sun/security/ec/ECC_JNI.cpp ! src/share/native/sun/security/ec/impl/ec.c ! src/share/native/sun/security/ec/impl/ec.h ! src/share/native/sun/security/ec/impl/ec2.h ! src/share/native/sun/security/ec/impl/ec2_163.c ! src/share/native/sun/security/ec/impl/ec2_193.c ! src/share/native/sun/security/ec/impl/ec2_233.c ! src/share/native/sun/security/ec/impl/ec2_aff.c ! src/share/native/sun/security/ec/impl/ec2_mont.c ! src/share/native/sun/security/ec/impl/ec_naf.c ! src/share/native/sun/security/ec/impl/ecc_impl.h ! src/share/native/sun/security/ec/impl/ecdecode.c ! src/share/native/sun/security/ec/impl/ecl-curve.h ! src/share/native/sun/security/ec/impl/ecl-exp.h ! src/share/native/sun/security/ec/impl/ecl-priv.h ! src/share/native/sun/security/ec/impl/ecl.c ! src/share/native/sun/security/ec/impl/ecl.h ! src/share/native/sun/security/ec/impl/ecl_curve.c ! src/share/native/sun/security/ec/impl/ecl_gf.c ! src/share/native/sun/security/ec/impl/ecl_mult.c ! src/share/native/sun/security/ec/impl/ecp.h ! src/share/native/sun/security/ec/impl/ecp_192.c ! src/share/native/sun/security/ec/impl/ecp_224.c ! src/share/native/sun/security/ec/impl/ecp_256.c ! src/share/native/sun/security/ec/impl/ecp_384.c ! src/share/native/sun/security/ec/impl/ecp_521.c ! src/share/native/sun/security/ec/impl/ecp_aff.c ! src/share/native/sun/security/ec/impl/ecp_jac.c ! src/share/native/sun/security/ec/impl/ecp_jm.c ! src/share/native/sun/security/ec/impl/ecp_mont.c ! src/share/native/sun/security/ec/impl/logtab.h ! src/share/native/sun/security/ec/impl/mp_gf2m-priv.h ! src/share/native/sun/security/ec/impl/mp_gf2m.c ! src/share/native/sun/security/ec/impl/mp_gf2m.h ! src/share/native/sun/security/ec/impl/mpi-config.h ! src/share/native/sun/security/ec/impl/mpi-priv.h ! src/share/native/sun/security/ec/impl/mpi.c ! src/share/native/sun/security/ec/impl/mpi.h ! src/share/native/sun/security/ec/impl/mplogic.c ! src/share/native/sun/security/ec/impl/mplogic.h ! src/share/native/sun/security/ec/impl/mpmontg.c ! src/share/native/sun/security/ec/impl/mpprime.h ! src/share/native/sun/security/ec/impl/oid.c ! src/share/native/sun/security/ec/impl/secitem.c ! src/share/native/sun/security/ec/impl/secoidt.h ! src/share/sample/nio/file/AclEdit.java ! src/share/sample/nio/file/Chmod.java ! src/share/sample/nio/file/Copy.java ! src/share/sample/nio/file/DiskUsage.java ! src/share/sample/nio/file/FileType.java ! src/share/sample/nio/file/WatchDir.java ! src/share/sample/nio/file/Xdd.java ! src/solaris/classes/java/lang/ProcessEnvironment.java ! src/solaris/classes/java/util/prefs/FileSystemPreferences.java ! src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XDesktopPeer.java ! src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java ! src/solaris/classes/sun/awt/X11/XSelection.java ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java ! src/solaris/classes/sun/awt/motif/MFontConfiguration.java ! src/solaris/classes/sun/awt/motif/MToolkit.java ! src/solaris/classes/sun/font/FcFontConfiguration.java ! src/solaris/classes/sun/font/FontConfigManager.java ! src/solaris/classes/sun/font/XRGlyphCache.java ! src/solaris/classes/sun/java2d/xr/XRSurfaceData.java ! src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java ! src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystem.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java ! src/solaris/classes/sun/nio/fs/LinuxWatchService.java ! src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystem.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java ! src/solaris/classes/sun/nio/fs/SolarisWatchService.java ! src/solaris/classes/sun/nio/fs/UnixChannelFactory.java ! src/solaris/classes/sun/nio/fs/UnixCopyFile.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributes.java ! src/solaris/classes/sun/nio/fs/UnixFileStore.java ! src/solaris/classes/sun/nio/fs/UnixFileSystem.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java ! src/solaris/classes/sun/nio/fs/UnixUriUtils.java ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_CommonUtils.c ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiIn.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/NetworkInterface.c ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/solaris/native/java/net/PlainSocketImpl.c ! src/solaris/native/java/net/linux_close.c ! src/solaris/native/java/net/net_util_md.c ! src/solaris/native/sun/awt/awt_DrawingSurface.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/fontpath.c ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/gtk2_interface.h ! src/solaris/native/sun/java2d/loops/vis_IntArgbPre_Mask.c ! src/solaris/native/sun/java2d/loops/vis_SrcMaskFill.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.h ! src/solaris/native/sun/java2d/x11/XRBackendNative.c ! src/solaris/native/sun/java2d/x11/XRSurfaceData.c ! src/solaris/native/sun/nio/ch/FileChannelImpl.c ! src/solaris/native/sun/nio/ch/Net.c ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! src/solaris/native/sun/xawt/XToolkit.c ! src/solaris/native/sun/xawt/awt_Desktop.c ! src/windows/bin/java_md.c ! src/windows/classes/java/lang/ProcessEnvironment.java ! src/windows/classes/java/net/PlainSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/classes/sun/awt/Win32FontManager.java ! src/windows/classes/sun/awt/windows/WPathGraphics.java ! src/windows/classes/sun/awt/windows/WPrinterJob.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java ! src/windows/classes/sun/java2d/opengl/WGLVolatileSurfaceManager.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/classes/sun/nio/ch/PendingIoCache.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java ! src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java ! src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java ! src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java ! src/windows/classes/sun/nio/fs/WindowsFileCopy.java ! src/windows/classes/sun/nio/fs/WindowsFileStore.java ! src/windows/classes/sun/nio/fs/WindowsFileSystem.java ! src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java ! src/windows/classes/sun/nio/fs/WindowsPath.java ! src/windows/classes/sun/nio/fs/WindowsPathParser.java ! src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java ! src/windows/classes/sun/nio/fs/WindowsUserDefinedFileAttributeView.java ! src/windows/classes/sun/nio/fs/WindowsWatchService.java ! src/windows/classes/sun/print/Win32PrintService.java ! src/windows/demo/jvmti/hprof/hprof_md.c ! src/windows/native/java/io/WinNTFileSystem_md.c ! src/windows/native/java/io/canonicalize_md.c ! src/windows/native/java/io/io_util_md.c ! src/windows/native/java/net/Inet4AddressImpl.c ! src/windows/native/java/net/Inet6AddressImpl.c ! src/windows/native/java/net/TwoStacksPlainSocketImpl.c ! src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.cpp ! src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp ! src/windows/native/sun/nio/ch/Iocp.c ! src/windows/native/sun/nio/ch/Net.c ! src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c ! src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c ! src/windows/native/sun/windows/Devices.h ! src/windows/native/sun/windows/awt_Debug.cpp ! src/windows/native/sun/windows/awt_Debug.h ! src/windows/native/sun/windows/awt_Dialog.h ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h ! src/windows/native/sun/windows/awt_PrintJob.cpp ! src/windows/native/sun/windows/awt_TextArea.h ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_TrayIcon.cpp ! src/windows/native/sun/windows/awt_Win32GraphicsEnv.cpp ! src/windows/native/sun/windows/awt_Window.cpp ! test/Makefile ! test/ProblemList.txt ! test/com/sun/awt/Translucency/WindowOpacity.java ! test/com/sun/jdi/NativeInstanceFilter.java ! test/com/sun/jdi/NativeInstanceFilterTarg.java ! test/com/sun/jdi/ProcessAttachTest.sh ! test/com/sun/security/auth/module/LdapLoginModule/CheckConfigs.java ! test/com/sun/security/auth/module/LdapLoginModule/CheckOptions.java ! test/com/sun/tools/attach/ApplicationSetup.sh ! test/com/sun/tools/attach/BasicTests.sh ! test/com/sun/tools/attach/CommonSetup.sh ! test/com/sun/tools/attach/PermissionTests.sh ! test/demo/zipfs/Basic.java ! test/demo/zipfs/PathOps.java ! test/demo/zipfs/basic.sh ! test/java/awt/Container/CheckZOrderChange/CheckZOrderChange.java ! test/java/awt/FontClass/LCDScale.java ! test/java/awt/Graphics2D/RenderClipTest/RenderClipTest.java ! test/java/awt/PrintJob/Text/StringWidth.java ! test/java/awt/font/FontNames/LocaleFamilyNames.java ! test/java/awt/xembed/server/TestXEmbedServer.java ! test/java/io/File/IsHidden.java ! test/java/io/File/SetAccess.java ! test/java/io/File/SetLastModified.java ! test/java/io/File/SymLinks.java ! test/java/io/File/basic.sh ! test/java/io/FileInputStream/LargeFileAvailable.java ! test/java/io/FileOutputStream/AtomicAppend.java ! test/java/io/OutputStreamWriter/Encode.java ! test/java/io/PrintStream/EncodingConstructor.java ! test/java/io/Serializable/NPEProvoker/NPEProvoker.java ! test/java/io/Serializable/evolution/RenamePackage/install/SerialDriver.java ! test/java/io/Serializable/evolution/RenamePackage/test/SerialDriver.java ! test/java/lang/Double/ParseDouble.java ! test/java/lang/ProcessBuilder/Basic.java ! test/java/lang/Runtime/exec/Duped.java ! test/java/lang/Runtime/shutdown/ShutdownHooks.java ! test/java/lang/System/finalization/FinExit.sh ! test/java/lang/Thread/StartOOMTest.java ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/instrument/BootClassPath/Setup.java ! test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ! test/java/lang/instrument/ilib/Inject.java ! test/java/lang/instrument/ilib/InjectBytecodes.java ! test/java/lang/invoke/indify/Indify.java ! test/java/lang/reflect/Generics/TestPlainArrayNotGeneric.java ! test/java/math/BigInteger/BigIntegerTest.java ! test/java/net/URI/Test.java ! test/java/net/URLClassLoader/closetest/CloseTest.java ! test/java/nio/MappedByteBuffer/Force.java ! test/java/nio/MappedByteBuffer/ZeroMap.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java ! test/java/nio/channels/FileChannel/AtomicAppend.java ! test/java/nio/channels/FileChannel/Position.java ! test/java/nio/channels/FileChannel/Transfer.java ! test/java/nio/charset/coders/CheckSJISMappingProp.sh ! test/java/nio/file/DirectoryStream/Basic.java ! test/java/nio/file/DirectoryStream/DriveLetter.java ! test/java/nio/file/DirectoryStream/SecureDS.java ! test/java/nio/file/FileStore/Basic.java ! test/java/nio/file/Files/CheckPermissions.java ! test/java/nio/file/Files/CopyAndMove.java ! test/java/nio/file/Files/DeleteOnClose.java ! test/java/nio/file/Files/FileAttributes.java ! test/java/nio/file/Files/InterruptCopy.java ! test/java/nio/file/Files/Links.java ! test/java/nio/file/Files/Misc.java ! test/java/nio/file/Files/PassThroughFileSystem.java ! test/java/nio/file/Files/SBC.java ! test/java/nio/file/Files/TemporaryFiles.java ! test/java/nio/file/Files/delete_on_close.sh ! test/java/nio/file/Files/probeContentType/Basic.java ! test/java/nio/file/Files/probeContentType/ForceLoad.java ! test/java/nio/file/Files/probeContentType/SimpleFileTypeDetector.java ! test/java/nio/file/Files/walkFileTree/CreateFileTree.java ! test/java/nio/file/Files/walkFileTree/MaxDepth.java ! test/java/nio/file/Files/walkFileTree/PrintFileTree.java ! test/java/nio/file/Files/walkFileTree/SkipSiblings.java ! test/java/nio/file/Files/walkFileTree/TerminateWalk.java ! test/java/nio/file/Files/walkFileTree/WalkWithSecurity.java ! test/java/nio/file/Files/walkFileTree/walk_file_tree.sh ! test/java/nio/file/Path/Misc.java ! test/java/nio/file/Path/PathOps.java ! test/java/nio/file/Path/UriImportExport.java ! test/java/nio/file/TestUtil.java ! test/java/nio/file/WatchService/Basic.java ! test/java/nio/file/WatchService/FileTreeModifier.java ! test/java/nio/file/WatchService/LotsOfEvents.java ! test/java/nio/file/WatchService/SensitivityModifier.java ! test/java/nio/file/attribute/AclFileAttributeView/Basic.java ! test/java/nio/file/attribute/BasicFileAttributeView/Basic.java ! test/java/nio/file/attribute/DosFileAttributeView/Basic.java ! test/java/nio/file/attribute/FileTime/Basic.java ! test/java/nio/file/attribute/PosixFileAttributeView/Basic.java ! test/java/nio/file/attribute/UserDefinedFileAttributeView/Basic.java ! test/java/nio/file/spi/SetDefaultProvider.java ! test/java/nio/file/spi/TestProvider.java ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/util/Arrays/Sorting.java ! test/java/util/Collection/MOAT.java ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Locale/LocaleEnhanceTest.java ! test/java/util/Locale/LocaleTest.java ! test/java/util/Objects/BasicObjectsTest.java ! test/java/util/ResourceBundle/Bug6204853.java ! test/java/util/WeakHashMap/GCDuringIteration.java ! test/java/util/concurrent/Executors/AutoShutdown.java ! test/java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java ! test/java/util/jar/JarEntry/GetMethodsReturnClones.java ! test/java/util/jar/JarFile/ScanSignedJar.java ! test/java/util/logging/ClassLoaderLeakTest.java ! test/java/util/regex/RegExTest.java ! test/java/util/zip/Available.java ! test/java/util/zip/FileBuilder.java ! test/java/util/zip/GZIP/Accordion.java ! test/java/util/zip/GZIP/GZIPInputStreamRead.java ! test/java/util/zip/InfoZip.java ! test/java/util/zip/LargeZip.java ! test/java/util/zip/TestEmptyZip.java ! test/java/util/zip/ZipCoding.java ! test/java/util/zip/ZipFile/Assortment.java ! test/java/util/zip/ZipFile/Comment.java ! test/java/util/zip/ZipFile/CopyJar.java ! test/java/util/zip/ZipFile/CorruptedZipFiles.java ! test/java/util/zip/ZipFile/DeleteTempJar.java ! test/java/util/zip/ZipFile/EnumAfterClose.java ! test/java/util/zip/ZipFile/FinalizeZipFile.java ! test/java/util/zip/ZipFile/GetDirEntry.java ! test/java/util/zip/ZipFile/LargeZipFile.java ! test/java/util/zip/ZipFile/ManyEntries.java ! test/java/util/zip/ZipFile/ManyZipFiles.java ! test/java/util/zip/ZipFile/ReadAfterClose.java ! test/java/util/zip/ZipFile/ReadZip.java ! test/java/util/zip/ZipFile/ShortRead.java ! test/java/util/zip/zip.java ! test/javax/imageio/stream/StreamCloserLeak/run_test.sh ! test/javax/print/DialogMargins.java ! test/javax/print/attribute/ServiceDialogTest.java ! test/javax/script/CommonSetup.sh ! test/javax/script/VersionTest.java ! test/javax/swing/JFileChooser/6342301/bug6342301.java ! test/javax/swing/JFileChooser/6798062/bug6798062.java ! test/javax/swing/JLabel/7004134/bug7004134.java ! test/javax/swing/JScrollBar/6542335/bug6542335.java ! test/javax/swing/UIDefaults/6795356/bug6795356.java ! test/javax/swing/text/NavigationFilter/6735293/bug6735293.java ! test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java ! test/sun/java2d/pipe/RegionOps.java ! test/sun/misc/URLClassPath/ClassnameCharTest.sh ! test/sun/net/InetAddress/nameservice/chaining/Providers.java ! test/sun/net/InetAddress/nameservice/chaining/Simple1NameServiceDescriptor.java ! test/sun/net/InetAddress/nameservice/chaining/Simple2NameServiceDescriptor.java ! test/sun/net/InetAddress/nameservice/chaining/SimpleNameService.java ! test/sun/net/InetAddress/nameservice/simple/CacheTest.java ! test/sun/net/InetAddress/nameservice/simple/DefaultCaching.java ! test/sun/net/InetAddress/nameservice/simple/SimpleNameService.java ! test/sun/net/InetAddress/nameservice/simple/SimpleNameServiceDescriptor.java ! test/sun/security/krb5/IPv6.java ! test/sun/security/krb5/auto/Context.java ! test/sun/security/krb5/auto/KDC.java ! test/sun/security/krb5/tools/KtabCheck.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java ! test/sun/text/resources/LocaleDataTest.java ! test/sun/tools/native2ascii/Native2AsciiTests.sh ! test/tools/launcher/Arrrghs.java ! test/tools/launcher/ClassPathWildCard.sh ! test/tools/launcher/MiscTests.java Changeset: eaca823dd3fe Author: ohair Date: 2011-04-07 19:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/eaca823dd3fe 7019210: Fix misc references to /bugreport websites Reviewed-by: skannan ! make/docs/Makefile ! src/share/classes/com/sun/beans/TypeResolver.java ! src/share/classes/java/awt/doc-files/AWTThreadIssues.html ! src/share/classes/javax/sql/rowset/package.html ! src/share/classes/javax/swing/package.html ! src/share/classes/sun/tools/javac/resources/javac.properties ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/JarFileSystemProvider.java ! src/share/native/java/lang/System.c Changeset: 712dff1413c0 Author: schien Date: 2011-04-12 13:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/712dff1413c0 7022841: LocaleNames_no_NO_NY.class is missing in rt.jar Reviewed-by: katleman, ohair ! make/java/util/FILES_properties.gmk Changeset: 19c6e9043934 Author: yhuang Date: 2011-04-05 21:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/19c6e9043934 7020583: Some currency names are missing in some locales Reviewed-by: naoto ! src/share/classes/sun/util/resources/CurrencyNames_de.properties ! src/share/classes/sun/util/resources/CurrencyNames_es.properties ! src/share/classes/sun/util/resources/CurrencyNames_fr.properties ! src/share/classes/sun/util/resources/CurrencyNames_it.properties ! src/share/classes/sun/util/resources/CurrencyNames_ja.properties ! src/share/classes/sun/util/resources/CurrencyNames_ko.properties ! src/share/classes/sun/util/resources/CurrencyNames_sv.properties ! src/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties ! src/share/classes/sun/util/resources/CurrencyNames_zh_TW.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 0aa16a3c5c95 Author: mfang Date: 2011-04-06 22:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0aa16a3c5c95 6384973: Incorrect translations in awt.properties Reviewed-by: yhuang ! src/share/classes/sun/awt/resources/awt_fr.properties Changeset: b2e8a6e414c4 Author: mfang Date: 2011-04-07 20:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b2e8a6e414c4 7034932: Merging src/share/classes/sun/util/resources/CurrencyNames.properties and CurrencyNames_pt.propertie Reviewed-by: yhuang ! src/share/classes/sun/util/resources/CurrencyNames.properties ! src/share/classes/sun/util/resources/CurrencyNames_pt.properties Changeset: fe4701bfdf26 Author: mfang Date: 2011-04-08 14:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fe4701bfdf26 7034940: message drop 2 translation integration Reviewed-by: yhuang ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_de.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_es.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_fr.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_it.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ko.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/print/resources/serviceui_de.properties ! src/share/classes/sun/print/resources/serviceui_es.properties ! src/share/classes/sun/print/resources/serviceui_fr.properties ! src/share/classes/sun/print/resources/serviceui_it.properties ! src/share/classes/sun/print/resources/serviceui_ja.properties ! src/share/classes/sun/print/resources/serviceui_ko.properties ! src/share/classes/sun/print/resources/serviceui_pt_BR.properties ! src/share/classes/sun/print/resources/serviceui_sv.properties ! src/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/share/classes/sun/rmi/server/resources/rmid_de.properties ! src/share/classes/sun/rmi/server/resources/rmid_sv.properties ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java ! src/share/classes/sun/util/logging/resources/logging_de.properties ! src/share/classes/sun/util/logging/resources/logging_es.properties ! src/share/classes/sun/util/logging/resources/logging_fr.properties ! src/share/classes/sun/util/logging/resources/logging_it.properties ! src/share/classes/sun/util/logging/resources/logging_ja.properties ! src/share/classes/sun/util/logging/resources/logging_ko.properties ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/logging/resources/logging_sv.properties ! src/share/classes/sun/util/logging/resources/logging_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_zh_TW.properties Changeset: a17b92c217e8 Author: mfang Date: 2011-04-08 15:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a17b92c217e8 7024528: [sv] format error in appletviewer usage translation Reviewed-by: yhuang ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java Changeset: 708070751be6 Author: mfang Date: 2011-04-08 16:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/708070751be6 Merge Changeset: cb3a6795cca5 Author: mfang Date: 2011-04-11 13:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cb3a6795cca5 Merge Changeset: 3cda8aa91ae4 Author: mfang Date: 2011-04-11 14:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3cda8aa91ae4 Merge Changeset: 14898478f33f Author: mfang Date: 2011-04-11 16:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/14898478f33f Merge ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_de.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_es.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_fr.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_it.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ko.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java ! src/share/classes/sun/rmi/server/resources/rmid_de.properties ! src/share/classes/sun/rmi/server/resources/rmid_sv.properties ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java ! src/share/classes/sun/util/logging/resources/logging_de.properties ! src/share/classes/sun/util/logging/resources/logging_es.properties ! src/share/classes/sun/util/logging/resources/logging_fr.properties ! src/share/classes/sun/util/logging/resources/logging_it.properties ! src/share/classes/sun/util/logging/resources/logging_ja.properties ! src/share/classes/sun/util/logging/resources/logging_ko.properties ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/logging/resources/logging_sv.properties ! src/share/classes/sun/util/logging/resources/logging_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_zh_TW.properties ! test/sun/text/resources/LocaleDataTest.java Changeset: cdd6e256d831 Author: mfang Date: 2011-04-12 18:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cdd6e256d831 Merge Changeset: 03d8d1eaaf6d Author: ohair Date: 2011-04-12 14:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/03d8d1eaaf6d 7033957: Library built without a mapfile: libxinerama.so Reviewed-by: ksrini ! make/common/shared/Defs-solaris.gmk Changeset: 0069845a086c Author: ohair Date: 2011-04-12 22:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0069845a086c Merge Changeset: 60d3d55dcc9c Author: ohair Date: 2011-04-13 16:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/60d3d55dcc9c Merge ! make/common/Library.gmk ! make/java/java/Makefile ! make/java/management/Makefile ! make/java/net/Makefile ! make/java/zip/Makefile ! make/launchers/Makefile ! make/mkdemo/jfc/Makefile ! make/sun/Makefile ! make/sun/jawt/Makefile ! make/sun/jpeg/Makefile ! make/sun/nio/cs/Makefile ! make/sun/security/tools/Makefile ! make/sun/xawt/Makefile ! make/sun/xawt/mapfile-vers ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/image/SinglePixelPackedSampleModel.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/classes/java/lang/management/PlatformComponent.java ! src/share/classes/java/nio/file/Files.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/util/Collections.java ! src/share/classes/javax/swing/JLayer.java ! src/share/classes/javax/swing/plaf/LayerUI.java ! src/share/classes/sun/font/SunFontManager.java ! src/share/classes/sun/java2d/SunGraphicsEnvironment.java ! src/share/classes/sun/nio/fs/Util.java ! src/share/classes/sun/security/krb5/Realm.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java ! src/solaris/native/sun/java2d/x11/XRBackendNative.c ! src/solaris/native/sun/xawt/XToolkit.c ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java ! src/windows/classes/sun/nio/fs/WindowsPath.java ! src/windows/native/java/io/WinNTFileSystem_md.c ! src/windows/native/java/net/Inet6AddressImpl.c ! src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c ! src/windows/native/sun/windows/awt_Toolkit.cpp ! test/Makefile ! test/ProblemList.txt ! test/java/lang/invoke/indify/Indify.java ! test/java/nio/file/Files/CheckPermissions.java ! test/java/nio/file/Files/PassThroughFileSystem.java ! test/java/nio/file/Path/Misc.java ! test/sun/security/krb5/IPv6.java Changeset: 6e099ee5c6f5 Author: schien Date: 2011-04-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6e099ee5c6f5 Added tag jdk7-b138 for changeset 60d3d55dcc9c ! .hgtags Changeset: 861e16acfea7 Author: trims Date: 2011-04-19 18:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/861e16acfea7 Merge Changeset: c7452722c57d Author: yhuang Date: 2011-04-18 23:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c7452722c57d 7036905: [de] dem - the german mark display name is incorrect Reviewed-by: naoto ! src/share/classes/sun/util/resources/CurrencyNames_de.properties ! src/share/classes/sun/util/resources/CurrencyNames_it.properties ! test/java/util/Currency/CurrencyTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 114089fb817c Author: mfang Date: 2011-04-19 10:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/114089fb817c Merge ! test/sun/text/resources/LocaleDataTest.java Changeset: 7e7c898b6352 Author: mfang Date: 2011-04-19 11:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7e7c898b6352 Merge Changeset: 5f6f3175decc Author: asaha Date: 2011-04-20 14:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5f6f3175decc 7018125: Reverting the JFB version string for JDK releases Reviewed-by: katleman ! make/common/shared/Defs.gmk Changeset: d80954a89b49 Author: cl Date: 2011-04-20 16:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d80954a89b49 Merge Changeset: 67b71a815388 Author: katleman Date: 2011-04-21 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/67b71a815388 Added tag jdk7-b139 for changeset d80954a89b49 ! .hgtags Changeset: 4dc798144dd2 Author: prr Date: 2011-04-05 09:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4dc798144dd2 6983666: Typo in JavaDoc comments within FileCacheImageOutputStream Reviewed-by: jgodinez ! src/share/classes/javax/imageio/stream/FileCacheImageOutputStream.java Changeset: 7a77ffb95c3b Author: bae Date: 2011-04-06 11:26 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7a77ffb95c3b 7033534: Two tests fail just against jdk7 b136 Reviewed-by: jgodinez, prr ! test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java ! test/sun/java2d/cmm/ColorConvertOp/MTColConvTest.java Changeset: 961237459de6 Author: prr Date: 2011-04-08 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/961237459de6 7004984: Features.h was renamed to ICUFeatures.h and should be removed Reviewed-by: srl - src/share/native/sun/font/layout/Features.h Changeset: 3e583bc83a52 Author: prr Date: 2011-04-13 15:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3e583bc83a52 7036275: EUDC character is not displayed on Swing if ClearType is enabled Reviewed-by: igor, jgodinez ! src/windows/classes/sun/awt/Win32FontManager.java Changeset: 7f80ba09441c Author: prr Date: 2011-04-15 12:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7f80ba09441c 6942504: test/javax/imageio/metadata/DOML3Node.java fails Reviewed-by: bae, jgodinez ! test/javax/imageio/metadata/DOML3Node.java Changeset: c27a80462285 Author: lana Date: 2011-04-16 23:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c27a80462285 Merge - src/share/classes/java/nio/BufferPoolMXBean.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java ! src/windows/classes/sun/awt/Win32FontManager.java - src/windows/native/java/net/NetworkInterface_win9x.c - test/java/nio/BufferPoolMXBean/Basic.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: 58729a928069 Author: serb Date: 2011-04-05 16:50 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/58729a928069 6998877: After double-click on the folder names , FileNameOverrideTest FAILED Reviewed-by: art, dcherepanov, anthony ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/gtk2_interface.h ! src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c + test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html + test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java + test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html + test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java Changeset: 0f8b6b1aad7d Author: dav Date: 2011-04-06 17:13 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0f8b6b1aad7d 7002839: Static initialization deadlock between sun.awt.Win32GraphicsEnvironment and sun.awt.windows.WToolkit Reviewed-by: art, dcherepanov, denis ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java ! src/windows/classes/sun/awt/windows/WToolkit.java + test/java/awt/GraphicsEnvironment/LoadLock/GE_init1.java + test/java/awt/GraphicsEnvironment/LoadLock/GE_init2.java + test/java/awt/GraphicsEnvironment/LoadLock/GE_init3.java + test/java/awt/GraphicsEnvironment/LoadLock/GE_init4.java + test/java/awt/GraphicsEnvironment/LoadLock/GE_init5.java + test/java/awt/GraphicsEnvironment/LoadLock/GE_init6.java Changeset: f6c9205bb20a Author: dcherepanov Date: 2011-04-07 18:54 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f6c9205bb20a 7016889: GraphicsDevice.setFullScreenWindow() spec for simulated full-screen mode is not always correct Reviewed-by: art, anthony ! src/share/classes/java/awt/GraphicsDevice.java ! src/share/classes/java/awt/Window.java Changeset: f06deecdcd3b Author: dav Date: 2011-04-07 22:34 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f06deecdcd3b 7031854: JCK 7 test FileDialogTest0001 fails on Windows with Russian locale Reviewed-by: uta, dcherepanov ! src/windows/native/sun/windows/awt_FileDialog.cpp Changeset: 675a582ffdf0 Author: anthony Date: 2011-04-08 15:00 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/675a582ffdf0 7027013: Regression: JComponent.revalidate() has no effect on invisible components Summary: Dialog.conditionalShow() should call validateUnconditionally() instead of simple validate() Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Dialog.java + test/java/awt/Dialog/ValidateOnShow/ValidateOnShow.java Changeset: b7381aa8dd77 Author: dav Date: 2011-04-08 18:29 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b7381aa8dd77 7029832: Buffer overrun at awt_LoadLibrary.c (and java_props_md.c) Reviewed-by: anthony, art ! src/solaris/native/sun/awt/awt_LoadLibrary.c Changeset: b58d1c9fa886 Author: anthony Date: 2011-04-08 17:04 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b58d1c9fa886 7008513: Case TranslucentJAppletTest.jtr automatically failed due to java.lang.RuntimeException Summary: Set transparent background to the applet Reviewed-by: art, dcherepanov ! test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java Changeset: e3c14b1c846b Author: denis Date: 2011-04-12 19:06 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e3c14b1c846b 7030062: duplicate free Reviewed-by: dcherepanov ! make/sun/jpeg/Makefile ! src/share/classes/java/awt/Toolkit.java ! src/solaris/native/sun/awt/awt_mgrsel.c Changeset: e00be783309b Author: denis Date: 2011-04-14 13:53 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e00be783309b 7036540: A change for 7021001 and some makefile changes have been pushed as a part of 7030062 Reviewed-by: dcherepanov ! make/sun/jpeg/Makefile ! src/share/classes/java/awt/Toolkit.java Changeset: 2e53dedb11b5 Author: denis Date: 2011-04-14 13:59 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2e53dedb11b5 7021001: Default implementation of Toolkit.loadSystemColors(int[]) and many others doesn't throw HE in hl env Reviewed-by: dcherepanov ! src/share/classes/java/awt/Toolkit.java Changeset: 6228934e36bc Author: dav Date: 2011-04-14 16:16 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6228934e36bc 7032566: Toolkit.areExtraMouseButtonsEnabled() not alws correspnd "sun.awt.enableExtraMouseButtons" sys prop Reviewed-by: art, dcherepanov ! src/share/classes/java/awt/Toolkit.java Changeset: 4eeff1fda9ea Author: serb Date: 2011-04-15 16:51 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4eeff1fda9ea 6983562: Two java/awt tests failing just on jdk7b108 Reviewed-by: art, denis, dcherepanov ! src/windows/native/sun/windows/awt_Button.cpp ! src/windows/native/sun/windows/awt_Checkbox.cpp Changeset: 346b56971f18 Author: lana Date: 2011-04-16 22:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/346b56971f18 Merge ! make/sun/jpeg/Makefile ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java - src/share/classes/java/nio/BufferPoolMXBean.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java ! src/solaris/native/sun/awt/gtk2_interface.c ! src/solaris/native/sun/awt/gtk2_interface.h ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java ! src/windows/classes/sun/awt/windows/WToolkit.java - src/windows/native/java/net/NetworkInterface_win9x.c - test/java/nio/BufferPoolMXBean/Basic.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java Changeset: e39808c3d13e Author: lana Date: 2011-04-18 13:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e39808c3d13e Merge Changeset: 1b1ae0d228d8 Author: rupashka Date: 2011-04-06 11:51 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1b1ae0d228d8 6973777: JCK manual case JEditorPaneTests.html#JEditorPane fails in jdk7 b100 Reviewed-by: peterz ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/ParagraphView.java - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: 3e3c15338f55 Author: rupashka Date: 2011-04-06 12:05 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3e3c15338f55 7003777: Nonexistent html entities not parsed properly. Reviewed-by: peterz ! src/share/classes/javax/swing/text/html/parser/Parser.java + test/javax/swing/text/html/parser/Parser/7003777/bug7003777.java Changeset: 6128bcca6403 Author: amenkov Date: 2011-04-06 15:07 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6128bcca6403 7009127: [Spec clarification request] Wrapping the devices retrieved from MidiDeviceProvider Reviewed-by: alexp ! src/share/classes/javax/sound/midi/MidiSystem.java Changeset: cd853175b58c Author: amenkov Date: 2011-04-06 15:12 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cd853175b58c 6992523: FindBugs scan - Malicious code vulnerability Warnings in com.sun.media.sound.* Reviewed-by: alexp ! src/share/classes/com/sun/media/sound/DLSInstrument.java ! src/share/classes/com/sun/media/sound/DLSSample.java ! src/share/classes/com/sun/media/sound/ModelConnectionBlock.java ! src/share/classes/com/sun/media/sound/SoftChannel.java ! src/share/classes/com/sun/media/sound/SoftInstrument.java ! src/share/classes/com/sun/media/sound/SoftMixingDataLine.java ! src/share/classes/com/sun/media/sound/SoftProvider.java ! src/share/classes/com/sun/media/sound/SoftTuning.java Changeset: f7eb08bf41e5 Author: rupashka Date: 2011-04-06 20:36 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f7eb08bf41e5 6849232: closed/javax/swing/text/GlyphPainter2/6427244/bug6427244.java fails on RHEL5 Reviewed-by: peterz ! src/share/classes/javax/swing/text/GlyphPainter2.java Changeset: cebbb13e9963 Author: rupashka Date: 2011-04-08 00:26 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cebbb13e9963 6596966: Some JFileChooser mnemonics do not work with sticky keys Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java + test/javax/swing/JLabel/6596966/bug6596966.java Changeset: 5c5d5c3c902a Author: rupashka Date: 2011-04-11 19:55 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5c5d5c3c902a 7030623: closed/javax/accessibility/4864610/bug4864610.java test fails just against jdk7 b134 Reviewed-by: peterz ! src/share/classes/javax/swing/text/Utilities.java Changeset: 44b9482e9efb Author: rupashka Date: 2011-04-12 10:15 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/44b9482e9efb 7025525: CSS property list in javax.swing.text.html.CSS is incomplete Reviewed-by: alexp ! src/share/classes/javax/swing/text/html/CSS.java Changeset: e392becfd94f Author: peytoia Date: 2011-04-12 16:16 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e392becfd94f 7035073: Add missing timezones to TimeZoneNames_pt_BR.java Reviewed-by: okutsu ! src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java Changeset: e4090d232e69 Author: peytoia Date: 2011-04-12 18:58 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e4090d232e69 7034231: Default font appears twice in fallback font list Reviewed-by: okutsu, prr ! src/windows/classes/sun/awt/Win32FontManager.java ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java Changeset: b83978b25d1d Author: rupashka Date: 2011-04-13 20:16 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b83978b25d1d 7032376: A type parameter isn't seen by using an web browser Reviewed-by: malenkov ! src/share/classes/javax/swing/Painter.java Changeset: a7ea2d624d40 Author: rupashka Date: 2011-04-13 21:08 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a7ea2d624d40 7030774: javax/swing/text/CSSBorder/6796710/bug6796710.java test fails against jdk7 b134 Reviewed-by: malenkov ! test/javax/swing/text/CSSBorder/6796710/bug6796710.java Changeset: 21fa255f0edf Author: okutsu Date: 2011-04-14 15:59 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/21fa255f0edf 7028818: (lc) Lazily initialize locale extension 7029740: (lc) New Locale class implementation doesn't follow the Java coding conventions 7032820: (lc) sun.util.locale.InternalLocaleBuilder.CaseInsensitiveChar.equals problems 7033503: (lc) Restore optimization code for Locale class initialization 7033504: (lc) incompatible behavior change for ja_JP_JP and th_TH_TH locales Reviewed-by: naoto ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/ResourceBundle.java ! src/share/classes/sun/util/locale/BaseLocale.java ! src/share/classes/sun/util/locale/Extension.java ! src/share/classes/sun/util/locale/InternalLocaleBuilder.java ! src/share/classes/sun/util/locale/LanguageTag.java ! src/share/classes/sun/util/locale/LocaleExtensions.java ! src/share/classes/sun/util/locale/LocaleObjectCache.java ! src/share/classes/sun/util/locale/LocaleSyntaxException.java + src/share/classes/sun/util/locale/LocaleUtils.java ! src/share/classes/sun/util/locale/ParseStatus.java ! src/share/classes/sun/util/locale/StringTokenIterator.java ! src/share/classes/sun/util/locale/UnicodeLocaleExtension.java ! test/java/util/Locale/LocaleEnhanceTest.java Changeset: cf5d466be0bd Author: rupashka Date: 2011-04-14 12:37 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cf5d466be0bd 7032911: javax/swing/JLabel/7004134/bug7004134.java test fails against jdk7 Reviewed-by: malenkov ! test/javax/swing/JLabel/7004134/bug7004134.java Changeset: d42338742583 Author: peytoia Date: 2011-04-15 12:08 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d42338742583 7036842: HTML tag mismatch in API doc for ChoiceFormat Reviewed-by: okutsu ! src/share/classes/java/text/ChoiceFormat.java Changeset: adfdbb41cdf2 Author: okutsu Date: 2011-04-15 22:57 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/adfdbb41cdf2 7035446: some regression tests take too long Reviewed-by: peytoia ! test/java/text/Bidi/Bug6665028.java ! test/java/util/Locale/Bug4518797.java ! test/java/util/ResourceBundle/Control/StressTest.java Changeset: d6afc2ca81cc Author: alexp Date: 2011-04-15 20:50 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d6afc2ca81cc 7032903: javax/swing/JComponent/6989617/bug6989617.java test fails against jdk7 Reviewed-by: rupashka ! test/javax/swing/JComponent/6989617/bug6989617.java + test/javax/swing/plaf/synth/7032791/bug7032791.java Changeset: 1e2366f02b50 Author: alexp Date: 2011-04-15 20:54 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1e2366f02b50 Merge Changeset: 71e769dc8cf6 Author: alexp Date: 2011-04-15 21:26 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/71e769dc8cf6 6985329: 9 classes in swing.plaf contains words inappropriate for public spec - about some compiler bug Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java ! src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java ! src/share/classes/javax/swing/plaf/basic/BasicListUI.java ! src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java ! src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java ! src/share/classes/javax/swing/plaf/basic/BasicTableUI.java ! src/share/classes/javax/swing/plaf/metal/MetalComboBoxUI.java ! src/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java Changeset: d353dcff4f14 Author: alexp Date: 2011-04-15 21:36 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d353dcff4f14 7036148: NullPointerException with null JMenu name Reviewed-by: rupashka ! src/share/classes/sun/swing/SwingUtilities2.java + test/javax/swing/JMenuItem/7036148/bug7036148.java Changeset: 1d0a1f78bc57 Author: lana Date: 2011-04-16 20:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1d0a1f78bc57 Merge ! make/java/java/FILES_java.gmk - src/share/classes/java/nio/BufferPoolMXBean.java ! src/share/classes/java/util/Locale.java - src/share/classes/java/util/logging/PlatformLoggingMXBean.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/swing/text/Utilities.java ! src/share/classes/sun/util/locale/LanguageTag.java ! src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java ! src/windows/classes/sun/awt/Win32FontManager.java ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java - src/windows/native/java/net/NetworkInterface_win9x.c - test/java/nio/BufferPoolMXBean/Basic.java ! test/java/util/Locale/LocaleEnhanceTest.java - test/java/util/logging/PlatformLoggingMXBean/PlatformLoggingMXBeanTest.java ! test/javax/swing/JLabel/7004134/bug7004134.java Changeset: 096242335b89 Author: malenkov Date: 2011-04-18 15:58 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/096242335b89 7034614: The insets of TitledBorder vary, will be modified by another method, in JDK7 Reviewed-by: rupashka ! src/share/classes/javax/swing/border/TitledBorder.java + test/javax/swing/border/Test7034614.java Changeset: 745a56cb4c16 Author: lana Date: 2011-04-18 13:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/745a56cb4c16 Merge ! src/windows/classes/sun/awt/Win32FontManager.java ! src/windows/classes/sun/awt/Win32GraphicsEnvironment.java - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: c1e87a18e46a Author: mduigou Date: 2011-04-06 09:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c1e87a18e46a 6312706: Map entrySet iterators should return different entries on each call to next() Reviewed-by: mduigou, alanb Contributed-by: Neil Richards ! src/share/classes/java/util/EnumMap.java ! src/share/classes/java/util/IdentityHashMap.java + test/java/util/EnumMap/DistinctEntrySetElements.java + test/java/util/EnumMap/EntrySetIteratorRemoveInvalidatesEntry.java + test/java/util/EnumMap/SimpleSerialization.java + test/java/util/IdentityHashMap/DistinctEntrySetElements.java + test/java/util/IdentityHashMap/EntrySetIteratorRemoveInvalidatesEntry.java + test/java/util/concurrent/ConcurrentHashMap/DistinctEntrySetElements.java Changeset: ea45b4ed1758 Author: naoto Date: 2011-04-06 10:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ea45b4ed1758 7031546: test/java/util/ResourceBundle/Bug4168625Test.java fails on solaris10u9 sparc. Reviewed-by: okutsu ! test/java/util/ResourceBundle/Bug4168625Test.java Changeset: cd86fbf11e33 Author: alanb Date: 2011-04-06 20:51 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cd86fbf11e33 7034155: (ch) NullPointerException in sun.io.ch.IOUtil when OOM is thrown Reviewed-by: forax ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/IOUtil.java Changeset: e279678f9f66 Author: alanb Date: 2011-04-06 20:54 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e279678f9f66 Merge Changeset: d5bc10b1aa2c Author: lancea Date: 2011-04-06 17:37 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d5bc10b1aa2c 7034471: Wrap registeredDrivers in DriverManager Reviewed-by: alanb, briangoetz ! src/share/classes/java/sql/DriverManager.java Changeset: 06c7ee973e05 Author: weijun Date: 2011-04-07 08:51 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/06c7ee973e05 7032354: no-addresses should not be used on acceptor side Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/KrbApReq.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/NoAddresses.java Changeset: 244b27bb14f8 Author: ksrini Date: 2011-04-06 19:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/244b27bb14f8 7033954: (launcher) Launchers not built with mapfiles Reviewed-by: ohair ! make/com/sun/java/pack/Makefile + make/com/sun/java/pack/mapfile-vers-unpack200 ! make/common/Mapfile-vers.gmk ! make/common/Program.gmk ! make/java/main/java/Makefile ! make/java/main/java/mapfile-amd64 ! make/java/main/java/mapfile-i586 ! make/java/main/java/mapfile-sparc ! make/java/main/java/mapfile-sparcv9 Changeset: 31619dfa6a4a Author: dl Date: 2011-04-07 15:06 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/31619dfa6a4a 7034657: Update Creative Commons license URL in legal notices Reviewed-by: chegar ! src/share/classes/java/util/AbstractQueue.java ! src/share/classes/java/util/ArrayDeque.java ! src/share/classes/java/util/Deque.java ! src/share/classes/java/util/NavigableMap.java ! src/share/classes/java/util/NavigableSet.java ! src/share/classes/java/util/Queue.java ! src/share/classes/java/util/concurrent/AbstractExecutorService.java ! src/share/classes/java/util/concurrent/ArrayBlockingQueue.java ! src/share/classes/java/util/concurrent/BlockingDeque.java ! src/share/classes/java/util/concurrent/BlockingQueue.java ! src/share/classes/java/util/concurrent/BrokenBarrierException.java ! src/share/classes/java/util/concurrent/Callable.java ! src/share/classes/java/util/concurrent/CancellationException.java ! src/share/classes/java/util/concurrent/CompletionService.java ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/share/classes/java/util/concurrent/ConcurrentMap.java ! src/share/classes/java/util/concurrent/ConcurrentNavigableMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/share/classes/java/util/concurrent/CopyOnWriteArraySet.java ! src/share/classes/java/util/concurrent/CountDownLatch.java ! src/share/classes/java/util/concurrent/CyclicBarrier.java ! src/share/classes/java/util/concurrent/DelayQueue.java ! src/share/classes/java/util/concurrent/Delayed.java ! src/share/classes/java/util/concurrent/Exchanger.java ! src/share/classes/java/util/concurrent/ExecutionException.java ! src/share/classes/java/util/concurrent/Executor.java ! src/share/classes/java/util/concurrent/ExecutorCompletionService.java ! src/share/classes/java/util/concurrent/ExecutorService.java ! src/share/classes/java/util/concurrent/Executors.java ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinTask.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java ! src/share/classes/java/util/concurrent/Future.java ! src/share/classes/java/util/concurrent/FutureTask.java ! src/share/classes/java/util/concurrent/LinkedBlockingDeque.java ! src/share/classes/java/util/concurrent/LinkedBlockingQueue.java ! src/share/classes/java/util/concurrent/LinkedTransferQueue.java ! src/share/classes/java/util/concurrent/Phaser.java ! src/share/classes/java/util/concurrent/PriorityBlockingQueue.java ! src/share/classes/java/util/concurrent/RecursiveAction.java ! src/share/classes/java/util/concurrent/RecursiveTask.java ! src/share/classes/java/util/concurrent/RejectedExecutionException.java ! src/share/classes/java/util/concurrent/RejectedExecutionHandler.java ! src/share/classes/java/util/concurrent/RunnableFuture.java ! src/share/classes/java/util/concurrent/RunnableScheduledFuture.java ! src/share/classes/java/util/concurrent/ScheduledExecutorService.java ! src/share/classes/java/util/concurrent/ScheduledFuture.java ! src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java ! src/share/classes/java/util/concurrent/Semaphore.java ! src/share/classes/java/util/concurrent/SynchronousQueue.java ! src/share/classes/java/util/concurrent/ThreadFactory.java ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/share/classes/java/util/concurrent/ThreadPoolExecutor.java ! src/share/classes/java/util/concurrent/TimeUnit.java ! src/share/classes/java/util/concurrent/TimeoutException.java ! src/share/classes/java/util/concurrent/TransferQueue.java ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicMarkableReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java ! src/share/classes/java/util/concurrent/atomic/package-info.java ! src/share/classes/java/util/concurrent/locks/AbstractOwnableSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java ! src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java ! src/share/classes/java/util/concurrent/locks/Condition.java ! src/share/classes/java/util/concurrent/locks/Lock.java ! src/share/classes/java/util/concurrent/locks/LockSupport.java ! src/share/classes/java/util/concurrent/locks/ReadWriteLock.java ! src/share/classes/java/util/concurrent/locks/ReentrantLock.java ! src/share/classes/java/util/concurrent/locks/ReentrantReadWriteLock.java ! src/share/classes/java/util/concurrent/locks/package-info.java ! src/share/classes/java/util/concurrent/package-info.java ! test/java/util/PriorityQueue/NoNulls.java ! test/java/util/PriorityQueue/PriorityQueueSort.java ! test/java/util/Random/DistinctSeeds.java ! test/java/util/concurrent/BlockingQueue/CancelledProducerConsumerLoops.java ! test/java/util/concurrent/BlockingQueue/LoopHelpers.java ! test/java/util/concurrent/BlockingQueue/MultipleProducersSingleConsumerLoops.java ! test/java/util/concurrent/BlockingQueue/OfferDrainToLoops.java ! test/java/util/concurrent/BlockingQueue/PollMemoryLeak.java ! test/java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java ! test/java/util/concurrent/BlockingQueue/SingleProducerMultipleConsumerLoops.java ! test/java/util/concurrent/ConcurrentHashMap/LoopHelpers.java ! test/java/util/concurrent/ConcurrentHashMap/MapCheck.java ! test/java/util/concurrent/ConcurrentHashMap/MapLoops.java ! test/java/util/concurrent/ConcurrentQueues/ConcurrentQueueLoops.java ! test/java/util/concurrent/ConcurrentQueues/GCRetention.java ! test/java/util/concurrent/ConcurrentQueues/IteratorWeakConsistency.java ! test/java/util/concurrent/ConcurrentQueues/LoopHelpers.java ! test/java/util/concurrent/ConcurrentQueues/RemovePollRace.java ! test/java/util/concurrent/Exchanger/ExchangeLoops.java ! test/java/util/concurrent/Exchanger/LoopHelpers.java ! test/java/util/concurrent/ExecutorCompletionService/ExecutorCompletionServiceLoops.java ! test/java/util/concurrent/ExecutorCompletionService/LoopHelpers.java ! test/java/util/concurrent/FutureTask/CancelledFutureLoops.java ! test/java/util/concurrent/FutureTask/LoopHelpers.java ! test/java/util/concurrent/Phaser/Arrive.java ! test/java/util/concurrent/Phaser/Basic.java ! test/java/util/concurrent/Phaser/FickleRegister.java ! test/java/util/concurrent/Phaser/PhaseOverflow.java ! test/java/util/concurrent/Phaser/TieredArriveLoops.java ! test/java/util/concurrent/ScheduledThreadPoolExecutor/DelayOverflow.java ! test/java/util/concurrent/Semaphore/PermitOverflow.java ! test/java/util/concurrent/Semaphore/RacingReleases.java ! test/java/util/concurrent/forkjoin/Integrate.java ! test/java/util/concurrent/forkjoin/NQueensCS.java ! test/java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java ! test/java/util/concurrent/locks/ReentrantLock/LockOncePerThreadLoops.java ! test/java/util/concurrent/locks/ReentrantLock/LoopHelpers.java ! test/java/util/concurrent/locks/ReentrantLock/SimpleReentrantLockLoops.java ! test/java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java ! test/java/util/concurrent/locks/ReentrantReadWriteLock/LoopHelpers.java ! test/java/util/concurrent/locks/ReentrantReadWriteLock/MapLoops.java ! test/java/util/concurrent/locks/ReentrantReadWriteLock/RWMap.java Changeset: 5137806a3e34 Author: lancea Date: 2011-04-07 11:25 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5137806a3e34 7034656: Address lint warnings for DriverManager Reviewed-by: alanb, forax, ohair ! src/share/classes/java/sql/DriverManager.java Changeset: d8dfd1a0bd8d Author: ksrini Date: 2011-04-07 12:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d8dfd1a0bd8d 7029048: (launcher) fence the launcher against LD_LIBRARY_PATH Reviewed-by: mchung, ohair ! src/share/bin/jli_util.h ! src/solaris/bin/java_md.c ! test/tools/launcher/ExecutionEnvironment.java + test/tools/launcher/Test7029048.java ! test/tools/launcher/TestHelper.java Changeset: 587e968b03ee Author: ksrini Date: 2011-04-07 17:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/587e968b03ee 7034700: (unpack200) build fails with fastdebug builds Reviewed-by: ohair ! make/com/sun/java/pack/Makefile Changeset: 9c29dd06e138 Author: xuelei Date: 2011-04-08 02:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9c29dd06e138 6976117: SSLContext.getInstance("TLSv1.1") returns SSLEngines/SSLSockets without TLSv1.1 enabled Summary: Reorg the SSLContext implementation Reviewed-by: weijun ! src/share/classes/sun/security/ssl/CipherSuiteList.java - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/ProtocolList.java ! src/share/classes/sun/security/ssl/SSLContextImpl.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLServerSocketFactoryImpl.java ! src/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/share/classes/sun/security/ssl/SSLSocketFactoryImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/share/classes/sun/security/ssl/SunJSSE.java + test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java Changeset: 8fbd15bd6149 Author: dl Date: 2011-04-08 10:33 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8fbd15bd6149 7035020: ForkJoinPool.invoke may deadlock if parallelism = 1 Reviewed-by: chegar ! src/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 4de90f390a48 Author: weijun Date: 2011-04-11 10:22 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4de90f390a48 7012160: read SF file in signed jar in streaming mode Reviewed-by: mullan ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JarInputStream.java ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/sun/security/pkcs/PKCS7.java ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java + src/share/classes/sun/security/util/SignatureFileManifest.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java Changeset: 50f77a77ffcf Author: weijun Date: 2011-04-11 10:22 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/50f77a77ffcf 7030180: AES 128/256 decrypt exception Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/InitialToken.java + test/sun/security/krb5/KrbCredSubKey.java Changeset: c8f22fc4aa00 Author: sherman Date: 2011-04-10 23:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c8f22fc4aa00 7033561: Missing Unicode Script aliases Summary: added 6.0 aliases Reviewed-by: okutsu, peytoia, alanb ! src/share/classes/java/lang/Character.java ! test/java/lang/Character/CheckScript.java + test/java/lang/Character/PropertyValueAliases.txt Changeset: dc74b14a8753 Author: alanb Date: 2011-04-10 19:45 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dc74b14a8753 7034532: (fs) AssertionError when working directory is UNC Reviewed-by: forax, mduigou ! src/windows/classes/sun/nio/fs/WindowsFileSystem.java Changeset: 36e467e1e8b0 Author: alanb Date: 2011-04-11 12:52 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/36e467e1e8b0 Merge Changeset: a12f142410f2 Author: darcy Date: 2011-04-11 23:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a12f142410f2 7035834: Bad @param tags in LayerUI.java Reviewed-by: rupashka ! src/share/classes/javax/swing/plaf/LayerUI.java Changeset: 54446de9fbb0 Author: rbackman Date: 2011-04-12 09:04 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/54446de9fbb0 7026287: Asynchronous API sample Summary: Implement a chat server using the new asynchronous networking API Reviewed-by: hosterda, alanb ! make/mksample/nio/Makefile + make/mksample/nio/chatserver/Makefile + src/share/sample/nio/chatserver/ChatServer.java + src/share/sample/nio/chatserver/Client.java + src/share/sample/nio/chatserver/ClientReader.java + src/share/sample/nio/chatserver/DataReader.java + src/share/sample/nio/chatserver/MessageReader.java + src/share/sample/nio/chatserver/NameReader.java + src/share/sample/nio/chatserver/README.txt + test/sample/chatserver/ChatTest.java Changeset: 9128eace50f5 Author: rbackman Date: 2011-04-12 13:14 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9128eace50f5 7026304: Fork-Join sample Summary: Implement a merge-sort sample using Fork-Join Reviewed-by: hosterda, chegar, dholmes ! make/mksample/Makefile + make/mksample/forkjoin/Makefile + make/mksample/forkjoin/mergesort/Makefile + src/share/sample/forkjoin/mergesort/MergeDemo.java + src/share/sample/forkjoin/mergesort/MergeSort.java + test/sample/mergesort/MergeSortTest.java Changeset: 6e306c3aa17b Author: xuelei Date: 2011-04-12 08:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6e306c3aa17b 6882437: CertPath/X509CertPathDiscovery/Test fails on jdk7/pit/b62 Summary: Pass trust anchors to CRL certification path building, support CRLs without AKID extension. Reviewed-by: mullan ! src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java ! src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java Changeset: 1bb95f6ac753 Author: lancea Date: 2011-04-12 12:25 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1bb95f6ac753 7035615: Address lint warnings for javax.sql.rowset & com.sun.rowset Reviewed-by: alanb, darcy ! src/share/classes/com/sun/rowset/CachedRowSetImpl.java ! src/share/classes/com/sun/rowset/JdbcRowSetImpl.java ! src/share/classes/com/sun/rowset/JoinRowSetImpl.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java ! src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java ! src/share/classes/javax/sql/rowset/RowSetProvider.java Changeset: 0bae251b548b Author: lancea Date: 2011-04-12 14:32 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0bae251b548b 7007772: Address typos in javadoc for ResultSet Reviewed-by: ohair, smarks ! src/share/classes/java/sql/ResultSet.java Changeset: 59b2b9a34b3c Author: dcubed Date: 2011-04-12 13:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/59b2b9a34b3c 7035555: 4/4 attach/BasicTests.sh needs another tweak for Cygwin Summary: Test needs to properly detect missing AgentInitializationException. Clarify when exceptions are expected. Another Cygwin tweak. Reviewed-by: dsamersoff, ohair ! test/com/sun/tools/attach/ApplicationSetup.sh ! test/com/sun/tools/attach/BasicTests.java ! test/com/sun/tools/attach/BasicTests.sh Changeset: 5d132f3bfbbf Author: valeriep Date: 2011-04-12 15:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5d132f3bfbbf 7001094: Can't initialize SunPKCS11 more times than PKCS11 driver maxSessionCount Summary: Changed SessionManager to keep track of session count for each instance Reviewed-by: mullan ! src/share/classes/sun/security/pkcs11/SessionManager.java Changeset: a3de1543568b Author: valeriep Date: 2011-04-12 16:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a3de1543568b 6986789: Sun pkcs11 provider fails to parse path name containing "+" Summary: Modified to accept '+' as valid character. Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/Config.java ! test/sun/security/pkcs11/Provider/ConfigShortPath.java + test/sun/security/pkcs11/Provider/cspPlus.cfg Changeset: d9248245a88c Author: lancea Date: 2011-04-13 11:21 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d9248245a88c 7036251: Correct SQLPermission constructor javadocs for permission target names Reviewed-by: alanb ! src/share/classes/java/sql/SQLPermission.java Changeset: c0602036be5d Author: alanb Date: 2011-04-13 18:39 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c0602036be5d 6597112: referential integrity loophole during remote object export Reviewed-by: peterjones Contributed-by: Neil Richards ! src/share/classes/sun/rmi/transport/ObjectTable.java + test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java Changeset: 29e88b0c0894 Author: wetmore Date: 2011-04-13 11:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/29e88b0c0894 6914617: JCE framework code signing certificate is expiring at the end of 2010. Reviewed-by: valeriep, weijun, mullan ! make/javax/crypto/Defs-jce.gmk Changeset: 13af7c12c62a Author: wetmore Date: 2011-04-13 11:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/13af7c12c62a 7031343: Provide API changes to support future GCM AEAD ciphers Reviewed-by: valeriep, xuelei + src/share/classes/javax/crypto/AEADBadTagException.java ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/crypto/CipherSpi.java + src/share/classes/javax/crypto/spec/GCMParameterSpec.java + test/javax/crypto/Cipher/GCMAPI.java + test/javax/crypto/spec/GCMParameterSpec/GCMParameterSpecTest.java Changeset: 2dc552b0ebac Author: jjh Date: 2011-04-13 12:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2dc552b0ebac 7032960: API files in java.awt need to be updated for references to JVM Spec with editions/hyperlinks 7032965: API files in java.io need to updated for references to JVM Spec with editions/hyperlinks 7032958: API files in java.lang need to updated for references to JLS with editions/hyperlinks 7032961: API files in java.lang need to updated for references to JVM with editions/hyperlinks 7032976: API files in javax.lang need to be updated for references to JLS with editions/hyperlinks 7032959: API files in java.util need to updated for references to JLS with editions/hyperlinks 7032962: API files in java.util need to updated for references to JVM Spec with editions/hyperlinks 7032967: API files in java.security need to updated for references to JVM Spec with editions/hyperlinks 7032955: API files in java.math need to updated for references to JLS with editions/hyperlinks Summary: Removed URLs and 'edition' references Reviewed-by: darcy ! make/docs/Makefile ! make/jpda/jdwp/jdwp.spec ! src/share/classes/com/sun/beans/TypeResolver.java ! src/share/classes/com/sun/java/util/jar/pack/package.html ! src/share/classes/com/sun/jdi/Accessible.java ! src/share/classes/com/sun/jdi/ArrayType.java ! src/share/classes/com/sun/jdi/ClassLoaderReference.java ! src/share/classes/com/sun/jdi/ClassNotLoadedException.java ! src/share/classes/com/sun/jdi/ClassType.java ! src/share/classes/com/sun/jdi/LocalVariable.java ! src/share/classes/com/sun/jdi/Method.java ! src/share/classes/com/sun/jdi/ObjectReference.java ! src/share/classes/com/sun/jdi/ReferenceType.java ! src/share/classes/com/sun/jdi/TypeComponent.java ! src/share/classes/java/awt/doc-files/AWTThreadIssues.html ! src/share/classes/java/io/Console.java ! src/share/classes/java/io/PrintStream.java ! src/share/classes/java/io/PrintWriter.java ! src/share/classes/java/lang/AssertionError.java ! src/share/classes/java/lang/Byte.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Enum.java ! src/share/classes/java/lang/Error.java ! src/share/classes/java/lang/Exception.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/lang/Object.java ! src/share/classes/java/lang/Override.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/RuntimeException.java ! src/share/classes/java/lang/SafeVarargs.java ! src/share/classes/java/lang/Short.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/Throwable.java ! src/share/classes/java/lang/annotation/Annotation.java ! src/share/classes/java/lang/instrument/ClassFileTransformer.java ! src/share/classes/java/lang/instrument/Instrumentation.java ! src/share/classes/java/lang/invoke/package-info.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/GenericDeclaration.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Modifier.java ! src/share/classes/java/math/BigDecimal.java ! src/share/classes/java/math/BigInteger.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/Properties.java ! src/share/classes/java/util/PropertyResourceBundle.java ! src/share/classes/java/util/concurrent/atomic/package-info.java ! src/share/classes/java/util/concurrent/locks/Lock.java ! src/share/classes/java/util/concurrent/package-info.java ! src/share/classes/java/util/jar/Pack200.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/javax/management/remote/package.html ! src/share/classes/sun/misc/FpUtils.java Changeset: 65b6fe866a6f Author: wetmore Date: 2011-04-13 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/65b6fe866a6f 6626257: Update SWAN-specific webcaching to Oracle environment in the regression tests. Reviewed-by: valeriep ! test/sun/net/InetAddress/nameservice/dns/cname.sh Changeset: e9ae2178926a Author: weijun Date: 2011-04-14 12:40 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e9ae2178926a 7036157: TCP connection does not use kdc_timeout Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/NetClient.java Changeset: 2d89d0d1e0ff Author: darcy Date: 2011-04-14 21:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2d89d0d1e0ff 6430675: Math.round has surprising behavior for 0x1.fffffffffffffp-2 Reviewed-by: alanb ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java + test/java/lang/Math/RoundTests.java Changeset: 131ed7967996 Author: valeriep Date: 2011-04-15 15:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/131ed7967996 7035115: sun/security/pkcs11/Provider/ConfigShortPath.java compilation failed Summary: Updated the test to use reflection and skip when SunPKCS11 provider not present. Reviewed-by: weijun ! test/sun/security/pkcs11/Provider/ConfigShortPath.java Changeset: 54d9513f87a4 Author: mchung Date: 2011-04-15 23:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/54d9513f87a4 7032589: FileHandler leaking file descriptor of the file lock Reviewed-by: forax, dcubed ! src/share/classes/java/util/logging/FileHandler.java Changeset: 007b2535a7f5 Author: alanb Date: 2011-04-17 13:49 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/007b2535a7f5 7036582: Improve test coverage of java.math.BigDecimal Reviewed-by: darcy Contributed-by: sergey.kuksenko at oracle.com ! test/ProblemList.txt + test/java/math/BigDecimal/DivideMcTests.java ! test/java/math/BigDecimal/FloatDoubleValueTests.java + test/java/math/BigDecimal/RangeTests.java ! test/java/math/BigDecimal/StrippingZerosTest.java ! test/java/math/BigDecimal/ToPlainStringTests.java Changeset: 718617820e53 Author: dwanvik Date: 2011-04-15 23:01 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/718617820e53 7036048: Bring the Java DB in JDK7 to the same level as JDK 6 (Java DB v10.6.2.1) Summary: Replace the existing Java DB bundles with newer ones, and move demo dir into JDK's demo dir as db Reviewed-by: ohair ! make/common/Release.gmk Changeset: 6939022fa093 Author: dwanvik Date: 2011-04-17 16:21 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6939022fa093 Merge Changeset: caebdaf362ee Author: lana Date: 2011-04-17 16:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/caebdaf362ee Merge ! make/com/sun/java/pack/Makefile ! make/common/Program.gmk ! make/docs/Makefile ! make/java/main/java/Makefile ! make/javax/crypto/Defs-jce.gmk ! src/share/classes/com/sun/beans/TypeResolver.java ! src/share/classes/java/awt/doc-files/AWTThreadIssues.html ! src/share/classes/java/io/Console.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/security/SecureClassLoader.java ! src/share/classes/java/util/EnumMap.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/logging/FileHandler.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/swing/plaf/LayerUI.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/security/pkcs11/Config.java ! src/share/classes/sun/security/ssl/CipherSuiteList.java ! src/share/classes/sun/security/ssl/ProtocolList.java ! src/windows/classes/sun/nio/fs/WindowsFileSystem.java ! test/ProblemList.txt ! test/com/sun/tools/attach/ApplicationSetup.sh ! test/com/sun/tools/attach/BasicTests.sh ! test/sun/security/krb5/auto/KDC.java Changeset: bcc6e4c28684 Author: darcy Date: 2011-04-17 22:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bcc6e4c28684 7021568: Double.parseDouble() returns architecture dependent results Reviewed-by: alanb ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/FormattedFloatingDecimal.java ! test/java/lang/Double/ParseDouble.java Changeset: 7e7bb0a97c40 Author: chegar Date: 2011-04-18 11:14 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7e7bb0a97c40 7030649: URL.equals() fails to compare jar urls Reviewed-by: michaelm ! src/share/classes/sun/net/www/protocol/jar/Handler.java ! test/java/net/URL/Equals.java Changeset: 603e70836e74 Author: dl Date: 2011-04-18 15:50 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/603e70836e74 7037436: CR 7035020 fails to check shutdown Reviewed-by: chegar ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java Changeset: 005c0c85b0de Author: dl Date: 2011-04-18 16:10 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/005c0c85b0de 7036559: ConcurrentHashMap footprint and contention improvements Reviewed-by: chegar ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: 9b3e6baad033 Author: lancea Date: 2011-04-18 12:07 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9b3e6baad033 7037085: Add hashCode() to Timestamp to address Findbugs warning Reviewed-by: darcy, alanb, emcmanus ! src/share/classes/java/sql/Timestamp.java Changeset: 98688c4be64b Author: sherman Date: 2011-04-18 10:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/98688c4be64b 7031076: Retained ZipFile InputStreams increase heap demand Summary: Allow unreferenced ZipFile InputStreams to be finalized, GC'd Reviewed-by: sherman, dholmes Contributed-by: neil.richards at ngmr.net ! src/share/classes/java/util/zip/ZipFile.java + test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java Changeset: 60a457a944c4 Author: mduigou Date: 2011-04-18 11:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/60a457a944c4 7035160: Disable broken test cases for test/java/lang/reflect/Generics/Probe.java Reviewed-by: alanb ! test/java/lang/reflect/Generics/Probe.java Changeset: b38b204748c1 Author: mduigou Date: 2011-04-18 11:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b38b204748c1 Merge Changeset: e2c6bd53428a Author: lana Date: 2011-04-18 14:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e2c6bd53428a Merge - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java Changeset: ead0ccd4a34e Author: lana Date: 2011-04-25 15:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ead0ccd4a34e Merge - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java - src/share/native/sun/font/layout/Features.h - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: d2357f1ccea0 Author: kevinw Date: 2011-04-15 14:42 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d2357f1ccea0 6994753: Optional tracking of JRE usage. Reviewed-by: mchung, ksrini, ohair ! make/sun/Makefile + make/sun/usagetracker/Makefile ! src/share/javavm/export/jvm.h ! src/share/native/common/jdk_util.c Changeset: ec1d769f12d8 Author: ngthomas Date: 2011-04-19 16:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ec1d769f12d8 Merge ! make/sun/Makefile Changeset: 9315c733fb17 Author: ngthomas Date: 2011-04-26 15:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9315c733fb17 Merge - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java - src/share/native/sun/font/layout/Features.h - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: b715eb9f3d99 Author: ohair Date: 2011-04-21 18:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b715eb9f3d99 7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber Reviewed-by: igor ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/common/shared/Compiler-gcc.gmk ! make/common/shared/Compiler-sun.gmk ! make/sun/jpeg/Makefile Changeset: e926550709c9 Author: ohair Date: 2011-04-22 10:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e926550709c9 6595663: Manifest on jars contain JavaBeans entries Reviewed-by: alanb, mchung ! make/common/Demo.gmk ! make/common/Release-embedded.gmk ! make/common/Release.gmk ! make/javax/crypto/Defs-jce.gmk ! make/tools/manifest.mf Changeset: 02473ee63688 Author: ogino Date: 2011-04-19 20:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/02473ee63688 7025070: man page localization broken in jdk7 Reviewed-by: mfang ! src/linux/doc/man/ja/appletviewer.1 ! src/linux/doc/man/ja/apt.1 ! src/linux/doc/man/ja/extcheck.1 ! src/linux/doc/man/ja/idlj.1 ! src/linux/doc/man/ja/jar.1 ! src/linux/doc/man/ja/jarsigner.1 ! src/linux/doc/man/ja/java.1 ! src/linux/doc/man/ja/javac.1 ! src/linux/doc/man/ja/javadoc.1 ! src/linux/doc/man/ja/javah.1 ! src/linux/doc/man/ja/javap.1 ! src/linux/doc/man/ja/javaws.1 ! src/linux/doc/man/ja/jconsole.1 ! src/linux/doc/man/ja/jdb.1 ! src/linux/doc/man/ja/jhat.1 ! src/linux/doc/man/ja/jinfo.1 ! src/linux/doc/man/ja/jmap.1 ! src/linux/doc/man/ja/jps.1 ! src/linux/doc/man/ja/jrunscript.1 ! src/linux/doc/man/ja/jsadebugd.1 ! src/linux/doc/man/ja/jstack.1 ! src/linux/doc/man/ja/jstat.1 ! src/linux/doc/man/ja/jstatd.1 + src/linux/doc/man/ja/jvisualvm.1 ! src/linux/doc/man/ja/keytool.1 ! src/linux/doc/man/ja/native2ascii.1 ! src/linux/doc/man/ja/orbd.1 ! src/linux/doc/man/ja/pack200.1 ! src/linux/doc/man/ja/policytool.1 ! src/linux/doc/man/ja/rmic.1 ! src/linux/doc/man/ja/rmid.1 ! src/linux/doc/man/ja/rmiregistry.1 ! src/linux/doc/man/ja/schemagen.1 ! src/linux/doc/man/ja/serialver.1 ! src/linux/doc/man/ja/servertool.1 ! src/linux/doc/man/ja/tnameserv.1 ! src/linux/doc/man/ja/unpack200.1 ! src/linux/doc/man/ja/wsgen.1 ! src/linux/doc/man/ja/wsimport.1 ! src/linux/doc/man/ja/xjc.1 ! src/solaris/doc/sun/man/man1/ja/appletviewer.1 ! src/solaris/doc/sun/man/man1/ja/apt.1 ! src/solaris/doc/sun/man/man1/ja/extcheck.1 ! src/solaris/doc/sun/man/man1/ja/idlj.1 ! src/solaris/doc/sun/man/man1/ja/jar.1 ! src/solaris/doc/sun/man/man1/ja/jarsigner.1 ! src/solaris/doc/sun/man/man1/ja/java.1 ! src/solaris/doc/sun/man/man1/ja/javac.1 ! src/solaris/doc/sun/man/man1/ja/javadoc.1 ! src/solaris/doc/sun/man/man1/ja/javah.1 ! src/solaris/doc/sun/man/man1/ja/javap.1 ! src/solaris/doc/sun/man/man1/ja/javaws.1 ! src/solaris/doc/sun/man/man1/ja/jconsole.1 ! src/solaris/doc/sun/man/man1/ja/jdb.1 ! src/solaris/doc/sun/man/man1/ja/jhat.1 ! src/solaris/doc/sun/man/man1/ja/jinfo.1 ! src/solaris/doc/sun/man/man1/ja/jmap.1 ! src/solaris/doc/sun/man/man1/ja/jps.1 ! src/solaris/doc/sun/man/man1/ja/jrunscript.1 ! src/solaris/doc/sun/man/man1/ja/jsadebugd.1 ! src/solaris/doc/sun/man/man1/ja/jstack.1 ! src/solaris/doc/sun/man/man1/ja/jstat.1 ! src/solaris/doc/sun/man/man1/ja/jstatd.1 + src/solaris/doc/sun/man/man1/ja/jvisualvm.1 ! src/solaris/doc/sun/man/man1/ja/keytool.1 ! src/solaris/doc/sun/man/man1/ja/native2ascii.1 ! src/solaris/doc/sun/man/man1/ja/orbd.1 ! src/solaris/doc/sun/man/man1/ja/pack200.1 ! src/solaris/doc/sun/man/man1/ja/policytool.1 ! src/solaris/doc/sun/man/man1/ja/rmic.1 ! src/solaris/doc/sun/man/man1/ja/rmid.1 ! src/solaris/doc/sun/man/man1/ja/rmiregistry.1 ! src/solaris/doc/sun/man/man1/ja/schemagen.1 ! src/solaris/doc/sun/man/man1/ja/serialver.1 ! src/solaris/doc/sun/man/man1/ja/servertool.1 ! src/solaris/doc/sun/man/man1/ja/tnameserv.1 ! src/solaris/doc/sun/man/man1/ja/unpack200.1 ! src/solaris/doc/sun/man/man1/ja/wsgen.1 ! src/solaris/doc/sun/man/man1/ja/wsimport.1 ! src/solaris/doc/sun/man/man1/ja/xjc.1 Changeset: 8bbe05da5656 Author: mfang Date: 2011-04-19 21:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8bbe05da5656 Merge Changeset: 5f5015099e73 Author: mfang Date: 2011-04-20 23:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5f5015099e73 Merge Changeset: 81dacdc9f634 Author: mfang Date: 2011-04-20 20:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/81dacdc9f634 7035843: [zh_CN, ja] JConsole mnemonic keys don't work Reviewed-by: ogino ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java Changeset: 832c57d6557b Author: mfang Date: 2011-04-21 09:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/832c57d6557b Merge Changeset: 158d9d54158f Author: mfang Date: 2011-04-25 16:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/158d9d54158f 7034259: [all] incorrect mnemonic keys in JCP automatic update advanced settings dialog. Reviewed-by: yhuang ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java Changeset: 4530d9301ce0 Author: mfang Date: 2011-04-25 21:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4530d9301ce0 Merge Changeset: dc63c52bc61f Author: ohair Date: 2011-04-26 16:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dc63c52bc61f 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore ! make/common/Release.gmk ! make/common/shared/Defs-utils.gmk ! make/common/shared/Defs.gmk Changeset: 55d40eea52bb Author: ohair Date: 2011-04-27 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/55d40eea52bb 7040096: Fix broken hg tip for 'make source' Reviewed-by: katleman ! make/common/shared/Defs.gmk Changeset: b871f4cc7d84 Author: cl Date: 2011-04-27 19:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b871f4cc7d84 Merge ! make/common/Release.gmk ! make/javax/crypto/Defs-jce.gmk ! make/sun/jpeg/Makefile Changeset: 1501eb97583c Author: schien Date: 2011-04-29 11:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1501eb97583c 6903609: Max memory of 896 may be too large for typical windows developer environment Reviewed-by: ksrini, katleman ! make/common/shared/Platform.gmk From john.coomes at oracle.com Tue May 3 12:53:07 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Tue, 03 May 2011 19:53:07 +0000 Subject: hg: jdk7/hotspot-comp/langtools: 141 new changesets Message-ID: <20110503195744.B342D47226@hg.openjdk.java.net> Changeset: 73ab0b128918 Author: jjg Date: 2011-01-24 16:17 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/73ab0b128918 6963934: JCCompilationUnit.getImports does not report all imports Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/tree/T6963934.java Changeset: 22a040cbf0e0 Author: jjg Date: 2011-01-24 16:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/22a040cbf0e0 6581775: Fix the white space problem in javac shell tests Reviewed-by: mcimadamore ! test/tools/javac/ClassPathTest/ClassPathTest.sh ! test/tools/javac/ExtDirs/ExtDirs.sh ! test/tools/javac/Paths/Help.sh ! test/tools/javac/javazip/Test.sh ! test/tools/javac/versions/check.sh Changeset: a8437c34fdc7 Author: jjg Date: 2011-01-24 16:38 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a8437c34fdc7 6988106: javac report 'java.lang.IllegalMonitorStateException' Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java + src/share/classes/com/sun/tools/javac/file/ZipFileIndexCache.java ! test/tools/javac/T6725036.java Changeset: 7f8794f9cc14 Author: darcy Date: 2011-01-25 17:02 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7f8794f9cc14 7013420: Project Coin: remove general expression support from try-with-resources statement Reviewed-by: mcimadamore, jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/TryWithResources/BadTwrSyntax.out ! test/tools/javac/TryWithResources/DuplicateResource.java + test/tools/javac/TryWithResources/ExplicitFinal.java ! test/tools/javac/TryWithResources/ImplicitFinal.java ! test/tools/javac/TryWithResources/ImplicitFinal.out ! test/tools/javac/TryWithResources/TwrFlow.java ! test/tools/javac/TryWithResources/TwrFlow.out - test/tools/javac/TryWithResources/TwrInference.java - test/tools/javac/TryWithResources/TwrIntersection.java - test/tools/javac/TryWithResources/TwrIntersection02.java - test/tools/javac/TryWithResources/TwrIntersection02.out ! test/tools/javac/TryWithResources/TwrMultiCatch.java ! test/tools/javac/TryWithResources/TwrOnNonResource.java ! test/tools/javac/TryWithResources/TwrOnNonResource.out + test/tools/javac/diags/examples/TryResourceTrailingSemi.java Changeset: df371fd16386 Author: jjg Date: 2011-01-26 11:20 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/df371fd16386 6554097: "final" confuses @SuppressWarnings Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java + test/tools/javac/T6554097.java + test/tools/javac/T6554097.out Changeset: 3da26790ccb7 Author: jjg Date: 2011-01-26 13:45 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3da26790ccb7 7013272: Automatically generate info about how compiler resource keys are used Reviewed-by: mcimadamore ! make/build.xml ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/ArgTypeCompilerFactory.java ! test/tools/javac/diags/Example.java + test/tools/javac/diags/MessageFile.java + test/tools/javac/diags/MessageInfo.java ! test/tools/javac/diags/RunExamples.java Changeset: 92ab09ed59fd Author: jjh Date: 2011-01-28 00:09 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/92ab09ed59fd 7015482: jtreg test tools/javac/diags/MessageInfo.java fails when test/ dir is not in langtools repo Summary: Don't fail if the needed file isn't present, if running under jtreg. Reviewed-by: jjg ! test/tools/javac/diags/MessageInfo.java Changeset: 2088e674f0e0 Author: mcimadamore Date: 2011-01-28 12:01 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2088e674f0e0 6910550: javac 1.5.0_17 fails with incorrect error message Summary: multiple clashing members declared in same class should be added to the class' scope in order to avoid downstream spurious diagnostics Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/generics/6910550/T6910550a.java + test/tools/javac/generics/6910550/T6910550a.out + test/tools/javac/generics/6910550/T6910550b.java + test/tools/javac/generics/6910550/T6910550b.out + test/tools/javac/generics/6910550/T6910550c.java + test/tools/javac/generics/6910550/T6910550c.out + test/tools/javac/generics/6910550/T6910550d.java + test/tools/javac/generics/6910550/T6910550d.out + test/tools/javac/generics/6910550/T6910550e.java + test/tools/javac/generics/6910550/T6910550e.out Changeset: 5a43b245aed1 Author: mcimadamore Date: 2011-01-28 12:03 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5a43b245aed1 6313164: javac generates code that fails byte code verification for the varargs feature Summary: method applicability check should fail if formal varargs element type is not accessible Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/InaccessibleVarargsType/InaccessibleVarargsType.java + test/tools/javac/diags/examples/InaccessibleVarargsType/p1/A.java + test/tools/javac/diags/examples/InaccessibleVarargsType/p1/B.java ! test/tools/javac/generics/inference/6638712/T6638712c.out ! test/tools/javac/generics/inference/6638712/T6638712d.out + test/tools/javac/varargs/6313164/T6313164.java + test/tools/javac/varargs/6313164/T6313164.out + test/tools/javac/varargs/6313164/p1/A.java + test/tools/javac/varargs/6313164/p1/B.java + test/tools/javac/varargs/6313164/p1/C.java Changeset: 17bafae67e9d Author: mcimadamore Date: 2011-01-28 12:06 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/17bafae67e9d 6838943: inference: javac is not handling type-variable substitution properly Summary: free type-variables are being replaced with type-variables bound to forall type leading to unsoundness Reviewed-by: jjg, dlsmith ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/generics/inference/6838943/T6838943.java + test/tools/javac/generics/inference/6838943/T6838943.out Changeset: babf86a1ac92 Author: alanb Date: 2011-01-28 09:25 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/babf86a1ac92 7006126: (fs) Updates to file system API (1/2011) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java ! test/tools/javac/nio/compileTest/CompileTest.java Changeset: df3394337b04 Author: alanb Date: 2011-01-28 12:36 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/df3394337b04 Merge Changeset: 7a75a1803c7a Author: darcy Date: 2011-01-28 16:54 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7a75a1803c7a 7015530: Reiterate API specializations in javax.lang.model.elment subinterfaces Reviewed-by: jjg ! src/share/classes/javax/lang/model/element/Element.java ! src/share/classes/javax/lang/model/element/ExecutableElement.java ! src/share/classes/javax/lang/model/element/PackageElement.java ! src/share/classes/javax/lang/model/element/TypeElement.java ! src/share/classes/javax/lang/model/element/TypeParameterElement.java ! src/share/classes/javax/lang/model/element/VariableElement.java Changeset: 2ab47c4cd618 Author: darcy Date: 2011-01-31 19:06 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2ab47c4cd618 7014734: Project Coin: Allow optional trailing semicolon to terminate resources list in try-with-resources Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/TryWithResources/BadTwrSyntax.java ! test/tools/javac/TryWithResources/BadTwrSyntax.out - test/tools/javac/diags/examples/TryResourceTrailingSemi.java Changeset: cad51b6eb7a6 Author: darcy Date: 2011-02-01 10:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/cad51b6eb7a6 6961571: Update visitors to support ARM's ElementKind.RESOURCE_VARIABLE Reviewed-by: jjg + src/share/classes/javax/lang/model/type/DisjunctiveType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/share/classes/javax/lang/model/util/ElementScanner6.java ! src/share/classes/javax/lang/model/util/ElementScanner7.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/share/classes/javax/lang/model/util/Types.java ! test/tools/javac/processing/model/element/TestResourceVariable.java Changeset: 899f7c3d9426 Author: mcimadamore Date: 2011-02-03 09:35 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/899f7c3d9426 6594914: @SuppressWarnings("deprecation") does not not work for the type of a variable Summary: Lint warnings generated during MemberEnter might ignore @SuppressWarnings annotations Reviewed-by: jjg + src/share/classes/com/sun/tools/javac/code/DeferredLintHandler.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/warnings/6594914/DeprecatedClass.java + test/tools/javac/warnings/6594914/T6594914a.java + test/tools/javac/warnings/6594914/T6594914a.out + test/tools/javac/warnings/6594914/T6594914b.java + test/tools/javac/warnings/6594914/T6594914b.out Changeset: 875262e89b52 Author: mcimadamore Date: 2011-02-03 09:36 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/875262e89b52 5017953: spurious cascaded diagnostics when name not found Summary: when an operator is applied to one or more erroneous operands, spurious diagnostics are generated Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/5017953/T5017953.java + test/tools/javac/5017953/T5017953.out ! test/tools/javac/6491592/T6491592.out Changeset: 03cf47d4de15 Author: mcimadamore Date: 2011-02-03 09:37 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/03cf47d4de15 6969184: poor error recovery after symbol not found Summary: generic type-well formedness check should ignore erroneous symbols Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/6969184/T6969184.java + test/tools/javac/generics/6969184/T6969184.out Changeset: afe226180744 Author: mcimadamore Date: 2011-02-03 09:38 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/afe226180744 7014715: javac returns different error code for certain failure(s) Summary: javac silently crashes when emitting certain kinds of resolution diagnostics Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/AnonStaticMember_2.java + test/tools/javac/AnonStaticMember_2.out ! test/tools/javac/InterfaceInInner.java + test/tools/javac/InterfaceInInner.out ! test/tools/javac/QualifiedNew.java + test/tools/javac/QualifiedNew.out ! test/tools/javac/T6247324.out ! test/tools/javac/generics/diamond/neg/Neg01.out ! test/tools/javac/generics/inference/6943278/T6943278.out Changeset: 9e6a09375d37 Author: lana Date: 2011-02-04 17:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9e6a09375d37 Merge Changeset: 3aa269645199 Author: mcimadamore Date: 2011-02-07 18:09 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3aa269645199 7017414: before the move of JSR 292 to package java.lang.invoke, javac must recognize the new package Summary: added support for future 292 package (support for old location 'java.dyn' will be removed in followup changeset) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/util/Names.java Changeset: 96d4226bdd60 Author: mcimadamore Date: 2011-02-07 18:10 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/96d4226bdd60 7007615: java_util/generics/phase2/NameClashTest02 fails since jdk7/pit/b123. Summary: override clash algorithm is not implemented correctly Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Scope.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/NameClashSameErasureNoHide.java ! test/tools/javac/diags/examples/NameClashSameErasureNoOverride.java + test/tools/javac/diags/examples/NameClashSameErasureNoOverride1.java ! test/tools/javac/generics/5009937/T5009937.out ! test/tools/javac/generics/6182950/T6182950b.out ! test/tools/javac/generics/6476118/T6476118a.out ! test/tools/javac/generics/6476118/T6476118b.out ! test/tools/javac/generics/6476118/T6476118c.java ! test/tools/javac/generics/6476118/T6476118c.out ! test/tools/javac/generics/6985719/T6985719e.out ! test/tools/javac/generics/6985719/T6985719f.out ! test/tools/javac/generics/6985719/T6985719g.out ! test/tools/javac/generics/6985719/T6985719h.out + test/tools/javac/generics/7007615/T7007615.java + test/tools/javac/generics/7007615/T7007615.out + test/tools/javac/generics/7007615/acc1/AccessibilityCheck01.java + test/tools/javac/generics/7007615/acc1/p1/C.java + test/tools/javac/generics/7007615/acc1/p1/D.java + test/tools/javac/generics/7007615/acc1/p2/E.java + test/tools/javac/generics/7007615/acc2/AccessibilityCheck02.java + test/tools/javac/generics/7007615/acc2/AccessibilityCheck02.out + test/tools/javac/generics/7007615/acc2/p1/C.java + test/tools/javac/generics/7007615/acc2/p1/D.java + test/tools/javac/generics/7007615/acc2/p2/E.java ! test/tools/javac/scope/HashCollisionTest.java ! test/tools/javac/scope/StarImportTest.java Changeset: 56b77a38618c Author: jjg Date: 2011-02-07 11:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/56b77a38618c 7017675: typo in JavacParser for allowUnderscoresInLiterals Reviewed-by: dlsmith Contributed-by: peter.b.kessler at oracle.com ! src/share/classes/com/sun/tools/javac/parser/Scanner.java Changeset: 2cbaa43eb075 Author: lana Date: 2011-02-14 16:31 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2cbaa43eb075 Merge - test/tools/javac/TryWithResources/TwrInference.java - test/tools/javac/TryWithResources/TwrIntersection.java - test/tools/javac/TryWithResources/TwrIntersection02.java - test/tools/javac/TryWithResources/TwrIntersection02.out Changeset: a21c7f194d31 Author: mfang Date: 2011-02-10 16:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a21c7f194d31 7017734: jdk7 message drop 1 translation integration Reviewed-by: ogino, yhuang ! src/share/classes/com/sun/tools/apt/resources/apt_ja.properties ! src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties ! src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties ! src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties Changeset: 4cdea0752a48 Author: mfang Date: 2011-02-11 22:58 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4cdea0752a48 Merge Changeset: 26071d11c613 Author: mfang Date: 2011-02-11 23:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/26071d11c613 Merge Changeset: 7a98db8cbfce Author: ohair Date: 2011-02-15 12:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7a98db8cbfce Merge Changeset: 6cdb76cf4d1a Author: cl Date: 2011-02-18 14:23 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/6cdb76cf4d1a Added tag jdk7-b130 for changeset 7a98db8cbfce ! .hgtags Changeset: 22ea7d483794 Author: ohair Date: 2011-02-16 13:30 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/22ea7d483794 7013964: openjdk LICENSE file needs rebranding Reviewed-by: darcy, katleman, jjg ! LICENSE Changeset: 67221b8643b4 Author: cl Date: 2011-02-23 15:49 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/67221b8643b4 Merge Changeset: 80bbd1da4a72 Author: cl Date: 2011-02-24 15:16 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/80bbd1da4a72 Added tag jdk7-b131 for changeset 67221b8643b4 ! .hgtags Changeset: c6cb387190ee Author: jjg Date: 2011-02-09 14:04 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c6cb387190ee 7016750: tools/javac/nio/CompileTest failing in nightly test Reviewed-by: mcimadamore ! test/tools/javac/nio/compileTest/CompileTest.java Changeset: 3ce4e1a07e92 Author: jjg Date: 2011-02-09 14:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3ce4e1a07e92 7010792: remove bad debugging method from javac Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/Scanner.java Changeset: bfa59f3e84bd Author: jjg Date: 2011-02-09 18:26 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bfa59f3e84bd 7018447: langtools launcher template fails if tools run from their own directory Reviewed-by: jjg Contributed-by: daniel.smith at oracle.com ! src/share/bin/launcher.sh-template Changeset: a19b1f4f23c9 Author: jjg Date: 2011-02-10 14:24 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a19b1f4f23c9 7018098: CacheFSInfo persists too long Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/tools/javac/file/T7018098.java Changeset: 747a7601b6d6 Author: jjg Date: 2011-02-10 14:27 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/747a7601b6d6 7018452: langtools not buildable on Mac Reviewed-by: ohair ! make/build.xml Changeset: e0c16199b2e0 Author: jjg Date: 2011-02-10 15:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e0c16199b2e0 6485027: javac incorrectly handles relative paths in manifest classpath Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/file/Paths.java ! test/tools/javac/Paths/Class-Path.sh + test/tools/javac/Paths/Class-Path2.sh ! test/tools/javac/Paths/Diagnostics.sh Changeset: bfeed79c70aa Author: jjg Date: 2011-02-11 17:10 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bfeed79c70aa 6505047: javax.lang.model.element.Element.getEnclosingElement() doesn't return null for type parameter Reviewed-by: darcy + test/tools/javac/processing/model/element/TestTypeParameter.java Changeset: ef6c66215a93 Author: jjg Date: 2011-02-14 14:27 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/ef6c66215a93 7008433: Minor copyright changes Reviewed-by: jjg Contributed-by: kelly.ohair at oracle.com ! test/tools/javac/4917091/Test255.java ! test/tools/javac/4917091/Test256a.java ! test/tools/javac/4917091/Test256b.java Changeset: 351027202f60 Author: mcimadamore Date: 2011-02-15 11:49 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/351027202f60 7017664: Add listeners infrastracture to javac scopes Summary: Add listeners to javac scopes, added CompoundScope and correct invalidation logic for ImplementationCache Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Scope.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/scope/7017664/CompoundScopeTest.java + test/tools/javac/scope/7017664/ImplementationCacheTest.java Changeset: fa0e4e1916f4 Author: mcimadamore Date: 2011-02-15 11:51 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/fa0e4e1916f4 7017104: improve error reporting for uncaught/undeclared exceptions from try-with-resources Summary: twr should generate better error message when uncaught exceptions are thrown by implicit call of close() method Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/TryWithResources/ResourceInterface.out ! test/tools/javac/TryWithResources/TwrFlow.out + test/tools/javac/diags/examples/UnreportedExceptionImplicitClose.java Changeset: 846d6644bb70 Author: lana Date: 2011-02-15 08:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/846d6644bb70 Merge Changeset: 0c24826853b2 Author: dlsmith Date: 2011-02-16 10:27 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/0c24826853b2 6990136: Cleanup use of Type.clone() Summary: Introduced factory methods in class Types which can be used rather than clone(). Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 4ce95dc0b908 Author: mcimadamore Date: 2011-02-18 12:28 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4ce95dc0b908 7020043: Project Coin: diamond allowed on non-generic type Summary: Diamond oerator should be disallowed on non-generic class types (i.e. String) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/generics/diamond/neg/Neg12.java + test/tools/javac/generics/diamond/neg/Neg12.out Changeset: 3d45cc94ee0f Author: ksrini Date: 2011-02-18 08:12 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3d45cc94ee0f 7018859: javac turn off the Zip optimization by default Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! test/tools/javac/4241573/T4241573.java ! test/tools/javac/6508981/TestInferBinaryName.java ! test/tools/javac/api/6411310/Test.java ! test/tools/javac/api/T6838467.java ! test/tools/javac/api/T6877206.java Changeset: 51e643f41a3a Author: mcimadamore Date: 2011-02-18 16:17 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/51e643f41a3a 7020626: diamond: add diagnostic test for diamond and non-generic classes Summary: Fix failure in regression test CheckExamples Reviewed-by: jjg + test/tools/javac/diags/examples/DiamondNonGeneric.java Changeset: 75e25df50873 Author: darcy Date: 2011-02-18 15:55 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/75e25df50873 7020047: Project Coin: generate null-check around try-with-resources close call Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/TryWithResources/TwrNullTests.java Changeset: de5524670f80 Author: lana Date: 2011-02-21 14:35 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/de5524670f80 Merge Changeset: e3d011d59a33 Author: lana Date: 2011-02-24 18:05 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e3d011d59a33 Merge Changeset: e77e98f936e8 Author: katleman Date: 2011-03-03 14:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e77e98f936e8 Added tag jdk7-b132 for changeset e3d011d59a33 ! .hgtags Changeset: 0d056b7b93de Author: cl Date: 2011-03-10 17:11 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/0d056b7b93de Added tag jdk7-b133 for changeset e77e98f936e8 ! .hgtags Changeset: 015dc9a63efc Author: mcimadamore Date: 2011-02-23 14:16 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/015dc9a63efc 7020657: Javac rejects a fairly common idiom with raw override and interfaces Summary: name clash should not be reported if subinterface/implementing class resolves the clash by defining common overrider Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/7020657/T7020657neg.java + test/tools/javac/generics/7020657/T7020657neg.out + test/tools/javac/generics/7020657/T7020657pos.java Changeset: 3ab7bb46c5c1 Author: mcimadamore Date: 2011-02-23 14:17 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3ab7bb46c5c1 7019631: issues in test headers in b130 Summary: fix to test headers not containing correct bug ID Reviewed-by: jjg ! test/tools/javac/AnonStaticMember_2.java ! test/tools/javac/InterfaceInInner.java ! test/tools/javac/QualifiedNew.java ! test/tools/javac/generics/6969184/T6969184.java Changeset: 4b0491db73af Author: lana Date: 2011-02-23 10:34 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4b0491db73af Merge Changeset: 3e30c95da3c6 Author: jjh Date: 2011-02-24 08:40 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3e30c95da3c6 7018753: tools/javac/varargs/warning/Warn5.java times out on slow machines Summary: Use a single file manager for all JavacTasks Reviewed-by: jjg, mcimadamore ! test/tools/javac/varargs/6199075/T6199075.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: 8f0dcb9499db Author: jjg Date: 2011-02-25 12:09 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/8f0dcb9499db 7021650: fix Context issues Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/apt/util/Bark.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/util/Context.java ! src/share/classes/com/sun/tools/javadoc/JavadocClassReader.java ! src/share/classes/com/sun/tools/javadoc/JavadocEnter.java ! src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java ! src/share/classes/com/sun/tools/javadoc/JavadocTodo.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! test/tools/javac/diags/ArgTypeCompilerFactory.java ! test/tools/javac/diags/Example.java + test/tools/javac/util/context/T7021650.java Changeset: 23b64ad3eec8 Author: jjg Date: 2011-02-25 12:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/23b64ad3eec8 7022310: test/tools/javac/diags/Example: args added twice Reviewed-by: mcimadamore ! test/tools/javac/diags/Example.java Changeset: 9286a5d1fae3 Author: mcimadamore Date: 2011-02-28 11:48 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9286a5d1fae3 7015430: Incorrect thrown type determined for unchecked invocations Summary: Thrown types do not get updated after 15.12.2.8, and do not get erased as per 15.12.2.6 Reviewed-by: jjg, dlsmith ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/7015430/T7015430.java + test/tools/javac/generics/7015430/T7015430.out Changeset: 9f9df9684cfc Author: mcimadamore Date: 2011-02-28 11:50 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9f9df9684cfc 7015715: lub gets stuck on type with complex supertype Summary: lub should not scan supertypes unnecessarily Reviewed-by: jjg, dlsmith ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/generics/inference/T7015715.java Changeset: 9029f694e5df Author: jjg Date: 2011-02-28 12:19 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9029f694e5df 7022337: repeated warnings about bootclasspath not set Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java - test/tools/javac/T6900037.java - test/tools/javac/T6900037.out + test/tools/javac/options/T6900037.java + test/tools/javac/options/T6900037.out + test/tools/javac/options/T7022337.java Changeset: bf9f162c7104 Author: jjg Date: 2011-02-28 13:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bf9f162c7104 7022741: warning counts are wrong after anno processing Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/tools/javac/processing/TestWarnErrorCount.java ! test/tools/javac/processing/warnings/gold_0.out ! test/tools/javac/processing/warnings/gold_sv_warn_0_2.out ! test/tools/javac/processing/warnings/gold_sv_warn_2_3.out ! test/tools/javac/processing/warnings/gold_sv_warn_5_6.out Changeset: 67d6b2df47ba Author: jjg Date: 2011-02-28 13:42 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/67d6b2df47ba 7022711: compiler crash in try-with-resources Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Kinds.java + test/tools/javac/TryWithResources/T7022711.java + test/tools/javac/TryWithResources/T7022711.out Changeset: 938dda0bec17 Author: jjg Date: 2011-03-01 12:00 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/938dda0bec17 7021183: 269: assertion failure getting enclosing element of an undefined name Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symtab.java + test/tools/javac/processing/model/TestSymtabItems.java Changeset: 02b699d97a55 Author: mcimadamore Date: 2011-03-02 10:56 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/02b699d97a55 6541876: "Enclosing Instance" error new in 1.6 Summary: unqualified 'this' should not be selected in a qualified super() call in a default constructor Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/implicitThis/6541876/T6541876a.java + test/tools/javac/implicitThis/6541876/T6541876b.java ! test/tools/javac/implicitThis/NewBeforeOuterConstructed3.java ! test/tools/javac/nested/4903103/T4903103.java Changeset: 2a5c919f20b8 Author: jjg Date: 2011-03-02 14:03 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2a5c919f20b8 6986895: compiler gives misleading message for no input files Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties + test/tools/javac/options/T6986895.java Changeset: 3085d0089546 Author: jjg Date: 2011-03-02 21:06 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3085d0089546 6986892: confusing warning given after errors in annotation processing Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/processing/warnings/UseImplicit/C1.java + test/tools/javac/processing/warnings/UseImplicit/TestProcUseImplicitWarning.java + test/tools/javac/processing/warnings/UseImplicit/err.out + test/tools/javac/processing/warnings/UseImplicit/p/C2.java + test/tools/javac/processing/warnings/UseImplicit/warn.out Changeset: 4baab658f357 Author: jjg Date: 2011-03-02 21:13 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4baab658f357 6639645: Modeling type implementing missing interfaces Reviewed-by: darcy, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/tools/javac/api/6557752/T6557752.java + test/tools/javac/processing/model/element/TestMissingElement/InvalidSource.java + test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java + test/tools/javac/processing/model/element/TestMissingElement2/Generator.java + test/tools/javac/processing/model/element/TestMissingElement2/TestMissingClass.java + test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass1.java + test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericClass2.java + test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericInterface1.java + test/tools/javac/processing/model/element/TestMissingElement2/TestMissingGenericInterface2.java + test/tools/javac/processing/model/element/TestMissingElement2/TestMissingInterface.java Changeset: e9b8fbb30f5a Author: mcimadamore Date: 2011-03-03 09:43 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e9b8fbb30f5a 7023233: False positive for -Xlint:try with nested try with resources blocks Summary: Wrong lint warning issued about unused resource when nested try-with-resource blocks are found Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java + test/tools/javac/TryWithResources/UnusedResourcesTest.java Changeset: c15d788cb381 Author: mcimadamore Date: 2011-03-03 17:32 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c15d788cb381 7023703: Valid code doesn't compile Summary: leftovers cause problems when analyzing loops in Flow.java Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java + test/tools/javac/7023703/T7023703neg.java + test/tools/javac/7023703/T7023703neg.out + test/tools/javac/7023703/T7023703pos.java Changeset: 32565546784b Author: mcimadamore Date: 2011-03-03 17:34 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/32565546784b 7022054: Invalid compiler error on covariant overriding methods with the same erasure Summary: Rules for method clash use notion of subsignature, which is sometimes too strict and incompatible with JDK 6 Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/generics/7022054/T7022054neg1.java + test/tools/javac/generics/7022054/T7022054neg1.out + test/tools/javac/generics/7022054/T7022054neg2.java + test/tools/javac/generics/7022054/T7022054neg2.out + test/tools/javac/generics/7022054/T7022054pos1.java + test/tools/javac/generics/7022054/T7022054pos2.java Changeset: 8fb48a9ac9ec Author: mcimadamore Date: 2011-03-03 18:05 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/8fb48a9ac9ec 7024212: TestWarnErrorCount fails Summary: TestWarnErrorCount should be executed with -Xlint:all,-path to avoid spurious failures Reviewed-by: jjg ! test/tools/javac/processing/TestWarnErrorCount.java Changeset: 7798e3a5ecf5 Author: jjg Date: 2011-03-04 11:33 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7798e3a5ecf5 6966736: javac verbose output is inconsistent Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/apt/main/AptJavaCompiler.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/util/Log.java Changeset: ebf7c13df6c0 Author: jjg Date: 2011-03-04 19:53 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/ebf7c13df6c0 6866185: Util.getPackageSourcePath should use lastIndexOf not indexOf and related cleanup Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ParameterizedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/SeeTagImpl.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! src/share/classes/com/sun/tools/javadoc/WildcardTypeImpl.java Changeset: 4ee7de0684f5 Author: jjg Date: 2011-03-04 19:56 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4ee7de0684f5 6227454: package.html and overview.html may not be read fully Reviewed-by: bpatel ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/resources/javadoc.properties + test/tools/javadoc/6227454/Test.java Changeset: 5e6c661891da Author: jjg Date: 2011-03-04 19:59 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5e6c661891da 6964914: javadoc does not output number of warnings using user written doclet Reviewed-by: bpatel ! src/share/classes/com/sun/tools/javadoc/DocletInvoker.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java ! src/share/classes/com/sun/tools/javadoc/Start.java + test/tools/javadoc/6964914/Error.java + test/tools/javadoc/6964914/JavacWarning.java + test/tools/javadoc/6964914/JavadocWarning.java + test/tools/javadoc/6964914/Test.java + test/tools/javadoc/6964914/TestStdDoclet.java + test/tools/javadoc/6964914/TestUserDoclet.java + test/tools/javadoc/T6968833.java Changeset: 74f0c05c51eb Author: mcimadamore Date: 2011-03-07 14:11 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/74f0c05c51eb 7024568: Very long method resolution causing OOM error Summary: Resolve.findMethod scans same receiver type more than once in certain inheritance graphs Reviewed-by: jjg Contributed-by: jan.lahoda at oracle.com ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/7024568/T7024568.java + test/tools/javac/7024568/T7024568.out Changeset: ca32f2986301 Author: mcimadamore Date: 2011-03-07 14:31 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/ca32f2986301 7020044: Project Coin: diamond erroneous allowed on some anonymous inner classes Summary: Disallow diamond on anonymous innner class creation expression (as per JSR 334's EDR) Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/DiamondAndAnonClass.java - test/tools/javac/diags/examples/DiamondInvalidArg.java - test/tools/javac/diags/examples/DiamondInvalidArgs.java ! test/tools/javac/generics/diamond/6996914/T6996914a.java ! test/tools/javac/generics/diamond/6996914/T6996914b.java ! test/tools/javac/generics/diamond/T6939780.java ! test/tools/javac/generics/diamond/T6939780.out ! test/tools/javac/generics/diamond/neg/Neg01.java ! test/tools/javac/generics/diamond/neg/Neg01.out ! test/tools/javac/generics/diamond/neg/Neg02.java ! test/tools/javac/generics/diamond/neg/Neg02.out ! test/tools/javac/generics/diamond/neg/Neg03.java ! test/tools/javac/generics/diamond/neg/Neg03.out ! test/tools/javac/generics/diamond/neg/Neg04.java ! test/tools/javac/generics/diamond/neg/Neg04.out ! test/tools/javac/generics/diamond/neg/Neg05.java ! test/tools/javac/generics/diamond/neg/Neg05.out ! test/tools/javac/generics/diamond/neg/Neg06.java ! test/tools/javac/generics/diamond/neg/Neg06.out ! test/tools/javac/generics/diamond/neg/Neg07.java ! test/tools/javac/generics/diamond/neg/Neg07.out ! test/tools/javac/generics/diamond/neg/Neg08.java ! test/tools/javac/generics/diamond/neg/Neg08.out ! test/tools/javac/generics/diamond/neg/Neg09.java ! test/tools/javac/generics/diamond/neg/Neg09.out ! test/tools/javac/generics/diamond/neg/Neg10.java ! test/tools/javac/generics/diamond/neg/Neg11.java - test/tools/javac/generics/diamond/neg/Neg12.java - test/tools/javac/generics/diamond/neg/Neg12.out ! test/tools/javac/generics/diamond/pos/Pos01.java ! test/tools/javac/generics/diamond/pos/Pos02.java ! test/tools/javac/generics/diamond/pos/Pos03.java ! test/tools/javac/generics/diamond/pos/Pos04.java ! test/tools/javac/generics/diamond/pos/Pos05.java + test/tools/javac/generics/diamond/pos/Pos06.java + test/tools/javac/generics/diamond/pos/Pos07.java - test/tools/javac/multicatch/Neg05.java - test/tools/javac/multicatch/Neg05.out + test/tools/javac/multicatch/Pos09.java Changeset: b1b898c00b71 Author: lana Date: 2011-03-07 11:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/b1b898c00b71 Merge Changeset: cb9493a80341 Author: jjg Date: 2011-03-07 13:45 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/cb9493a80341 6980021: javac should document @file command line option Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! test/tools/javac/diags/CheckResourceKeys.java Changeset: d7dfa105f159 Author: lana Date: 2011-03-10 20:51 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d7dfa105f159 Merge - test/tools/javac/T6900037.java - test/tools/javac/T6900037.out - test/tools/javac/diags/examples/DiamondInvalidArg.java - test/tools/javac/diags/examples/DiamondInvalidArgs.java - test/tools/javac/generics/diamond/neg/Neg12.java - test/tools/javac/generics/diamond/neg/Neg12.out - test/tools/javac/multicatch/Neg05.java - test/tools/javac/multicatch/Neg05.out Changeset: 0f19e1e98b42 Author: mfang Date: 2011-03-08 23:43 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/0f19e1e98b42 7025324: NLS: t13y fix for 7022005 [ja,zh_CN] javadoc, part of navigation bar in generated html are not translated Reviewed-by: yhuang, ogino, jennyh ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Changeset: 654336cabc5a Author: mfang Date: 2011-03-13 14:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/654336cabc5a Merge Changeset: 3d7acdbb72ca Author: ohair Date: 2011-03-15 15:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/3d7acdbb72ca Merge Changeset: 9d0a61ac567b Author: schien Date: 2011-03-17 14:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9d0a61ac567b Added tag jdk7-b134 for changeset 3d7acdbb72ca ! .hgtags Changeset: 028248b9a397 Author: schien Date: 2011-03-24 11:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/028248b9a397 Added tag jdk7-b135 for changeset 9d0a61ac567b ! .hgtags Changeset: 6970d9fb8e02 Author: ksrini Date: 2011-03-07 17:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/6970d9fb8e02 7021927: javac: regression in performance Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/file/JavacFileManager.java ! src/share/classes/com/sun/tools/javac/file/ZipFileIndex.java ! src/share/classes/com/sun/tools/javac/util/Options.java ! test/tools/javac/6508981/TestInferBinaryName.java ! test/tools/javac/api/6411310/Test.java ! test/tools/javac/api/T6838467.java ! test/tools/javac/api/T6877206.java + test/tools/javac/file/zip/T6836682.java + test/tools/javac/file/zip/T6865530.java + test/tools/javac/file/zip/Utils.java Changeset: 4fd20d5b7295 Author: mcimadamore Date: 2011-03-09 16:47 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4fd20d5b7295 7025988: Test test/tools/javac/file/zip/T6836682.java takes too long to complete Summary: added @ignore tag to temporarily disable the test Reviewed-by: jjg ! test/tools/javac/file/zip/T6836682.java Changeset: da10d62990a7 Author: bpatel Date: 2011-03-10 14:37 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/da10d62990a7 6776656: Incorrect number in 'generated' help-doc.html Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Changeset: 46ed58a098ad Author: darcy Date: 2011-03-11 14:07 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/46ed58a098ad 7026868: Apply specification changes fro 6505047 Reviewed-by: jjg ! src/share/classes/javax/lang/model/element/Element.java ! src/share/classes/javax/lang/model/element/TypeParameterElement.java Changeset: b60754fe206d Author: bpatel Date: 2011-03-11 15:39 -0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/b60754fe206d 7006178: findbugs high priority issues in new javadoc Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java + test/com/sun/javadoc/testUseOption/C.java ! test/com/sun/javadoc/testUseOption/TestUseOption.java + test/com/sun/javadoc/testUseOption/UsedInC.java Changeset: 307b065ff2af Author: jjg Date: 2011-03-14 11:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/307b065ff2af 7026414: Types.asElement() returns null for ErrorType Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! test/tools/javac/api/6557752/T6557752.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java Changeset: e2890b8369f7 Author: jjg Date: 2011-03-14 11:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e2890b8369f7 7010608: the string 'error' should appear in error messages Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/util/BasicDiagnosticFormatter.java ! test/tools/apt/Compile/golden.txt ! test/tools/javac/4846262/Test.out ! test/tools/javac/Diagnostics/6769027/T6769027.java + test/tools/javac/Diagnostics/7010608/Test.java ! test/tools/javac/diags/examples/CountError.java ! test/tools/javac/diags/examples/CountErrorPlural.java ! test/tools/javac/diags/examples/IdentifierExpected.java ! test/tools/javac/diags/examples/KindnameClass.java ! test/tools/javac/diags/examples/KindnameConstructor.java ! test/tools/javac/diags/examples/KindnameMethod.java ! test/tools/javac/diags/examples/KindnameVariable.java Changeset: cb119107aeea Author: jjg Date: 2011-03-14 11:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/cb119107aeea 7026509: Cannot use JavaCompiler to create multiple CompilationTasks for partial compilations Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java + test/tools/javac/api/TestJavacTask_Lock.java + test/tools/javac/api/TestJavacTask_Multiple.java + test/tools/javac/api/TestJavacTask_ParseAttrGen.java Changeset: c9432f06d9bc Author: jjg Date: 2011-03-15 11:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c9432f06d9bc 6993311: annotations on packages are not validated Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java + test/tools/javac/annotations/TestAnnotationPackageInfo.java ! test/tools/javac/annotations/pos/package-info.java ! test/tools/javac/processing/filer/TestPackageInfo.java ! test/tools/javac/processing/filer/foo/bar/package-info.java Changeset: edf03ca74991 Author: jjg Date: 2011-03-15 11:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/edf03ca74991 6987384: -XprintProcessorRoundsInfo message printed with different timing than previous Reviewed-by: darcy ! test/tools/javac/lib/JavacTestingAbstractProcessor.java ! test/tools/javac/processing/6430209/b6341534.java ! test/tools/javac/processing/environment/round/TestContext.java + test/tools/javac/processing/options/testPrintProcessorInfo/Test.java + test/tools/javac/processing/options/testPrintProcessorInfo/Test.out Changeset: 0f9e5b7f0d7e Author: jjg Date: 2011-03-15 11:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/0f9e5b7f0d7e 6988079: Errors reported via Messager.printMessage(ERROR,"error message") are not tallied correctly Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! test/tools/javac/processing/6994946/SemanticErrorTest.2.out + test/tools/javac/processing/errors/TestErrorCount.java + test/tools/javac/processing/errors/TestErrorCount.out Changeset: 480de7832e2f Author: bpatel Date: 2011-03-15 14:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/480de7832e2f 4743537: Help doesn't say what "All Classes" and other links really mean Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Changeset: 5b29f2a85085 Author: mcimadamore Date: 2011-03-16 11:12 +0000 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5b29f2a85085 6558548: The compiler needs to be aligned with clarified specification of throws Summary: Javac should issue unconditional warnings when 'dead' catch clauses are detected Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/6558548/T6558548.java + test/tools/javac/6558548/T6558548_6.out + test/tools/javac/6558548/T6558548_latest.out + test/tools/javac/diags/examples/UnreachableCatch.java + test/tools/javac/diags/examples/UnreachableCatch1.java Changeset: f2f04935ef3f Author: ksrini Date: 2011-03-16 09:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/f2f04935ef3f 7026359: (langtools) fix big jar test Reviewed-by: jjg ! test/tools/javac/file/zip/T6836682.java Changeset: a2399c8db703 Author: jjg Date: 2011-03-16 17:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a2399c8db703 6930508: Passing nested class names on javac command line interfere with subsequent name -> class lookup Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! test/tools/javac/processing/model/element/TestAnonClassNames.java + test/tools/javac/processing/options/testCommandLineClasses/Test.java + test/tools/javac/processing/options/testCommandLineClasses/p/NestedExamples.java Changeset: e286ec0df754 Author: lana Date: 2011-03-18 11:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/e286ec0df754 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Changeset: ed0f7f1f9511 Author: lana Date: 2011-03-26 00:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/ed0f7f1f9511 Merge Changeset: a15c9b058ae0 Author: schien Date: 2011-03-31 18:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a15c9b058ae0 Added tag jdk7-b136 for changeset ed0f7f1f9511 ! .hgtags Changeset: aa4f494c17ef Author: schien Date: 2011-04-07 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/aa4f494c17ef Added tag jdk7-b137 for changeset a15c9b058ae0 ! .hgtags Changeset: 148d3dc4e1e1 Author: bpatel Date: 2011-03-22 18:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/148d3dc4e1e1 7025314: NLS: translatability violation on standard.properties Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! test/com/sun/javadoc/testJavascript/TestJavascript.java ! test/com/sun/javadoc/testNavagation/TestNavagation.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Changeset: 72bdd232e0ea Author: bpatel Date: 2011-03-23 14:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/72bdd232e0ea 7010342: End tag for element P is not open for few html files generated using new javadoc Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css + test/com/sun/javadoc/testSubTitle/TestSubTitle.java + test/com/sun/javadoc/testSubTitle/pkg/C.java + test/com/sun/javadoc/testSubTitle/pkg/package.html Changeset: 83260b3305ac Author: jjg Date: 2011-03-24 16:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/83260b3305ac 6597678: JavaCompiler.getStandardFileManager always uses default charset not the one that user specifies Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/util/JavacMessages.java + test/tools/javac/util/T6597678.java Changeset: 26ea2557214a Author: jjg Date: 2011-03-25 07:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/26ea2557214a 7009599: javac build puts extraneous files into dist/lib/classes.jar Reviewed-by: ohair ! make/build.xml Changeset: 31e5cfc5a990 Author: jjg Date: 2011-03-25 07:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/31e5cfc5a990 6437138: JSR 199: Compiler doesn't diagnose crash in user code 6482554: uncaught exception from annotation processor not reported through JavaCompiler.CompilationTask.call Reviewed-by: mcimadamore + src/share/classes/com/sun/tools/javac/api/ClientCodeWrapper.java ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/api/JavacTool.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/util/Log.java + test/tools/javac/api/T6437138.java + test/tools/javac/api/TestClientCodeWrapper.java Changeset: 442b1366cfdf Author: bpatel Date: 2011-03-25 15:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/442b1366cfdf 7001086: NLS: un-used resources should be removed from standard.properties and improper concatenation Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties + test/com/sun/javadoc/testNonFrameWarning/TestNonFrameWarning.java + test/com/sun/javadoc/testNonFrameWarning/pkg/C.java Changeset: 2007998f89f2 Author: mcimadamore Date: 2011-03-29 16:40 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2007998f89f2 7030687: Diamond: compiler accepts erroneous code where diamond is used with non-generic inner class Summary: Diamond accepts non-parameterized member inner classes with parameterized outer because of a bad check Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/generics/diamond/7030687/ParserTest.java + test/tools/javac/generics/diamond/7030687/T7030687.java + test/tools/javac/generics/diamond/7030687/T7030687.out Changeset: ddec8c712e85 Author: mcimadamore Date: 2011-03-29 16:40 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/ddec8c712e85 7030606: Project-coin: multi-catch types should be pairwise disjoint Summary: Bring javac in sync with latest Project Coin EDR Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/MulticatchTypesMustBeDisjoint.java + test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java + test/tools/javac/multicatch/7030606/T7030606.java + test/tools/javac/multicatch/7030606/T7030606.out Changeset: f5b5112ee1cc Author: mcimadamore Date: 2011-03-29 16:40 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/f5b5112ee1cc 7030150: Type inference for generic instance creation failed for formal type parameter Summary: Problem when explicit generic constructor type-arguments are used in conjunction with diamond Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/generics/diamond/7030150/GenericConstructorAndDiamondTest.java + test/tools/javac/generics/diamond/7030150/Neg01.java + test/tools/javac/generics/diamond/7030150/Neg01.out + test/tools/javac/generics/diamond/7030150/Neg02.java + test/tools/javac/generics/diamond/7030150/Neg02.out + test/tools/javac/generics/diamond/7030150/Neg03.java + test/tools/javac/generics/diamond/7030150/Neg03.out + test/tools/javac/generics/diamond/7030150/Pos01.java + test/tools/javac/generics/diamond/7030150/Pos02.java Changeset: de1c65ecfec2 Author: mcimadamore Date: 2011-03-29 16:41 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/de1c65ecfec2 7027157: Project Coin: javac warnings for AutoCloseable.close throwing InterruptedException Summary: javac should warn about use/declaration of AutoCloseable subclasses that can throw InterruptedException Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/TryWithResources/InterruptedExceptionTest.java + test/tools/javac/diags/examples/TryResourceThrowsInterruptedExc.java Changeset: 02ba4ff98742 Author: jjg Date: 2011-03-30 18:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/02ba4ff98742 7031108: NPE in javac.jvm.ClassReader.findMethod in PackageElement.enclosedElements from AP in incr build Reviewed-by: darcy, mcimadamore ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/classreader/T7031108.java ! test/tools/javac/diags/examples.not-yet.txt Changeset: c55928005af4 Author: jjg Date: 2011-03-30 18:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c55928005af4 7031005: javap prints "extends java.lang.Object" Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/classfile/Type.java ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! test/tools/javap/6937244/T6937244A.java ! test/tools/javap/T4880663.java ! test/tools/javap/T4880672.java + test/tools/javap/TestSuperclass.java Changeset: b945b846c979 Author: mcimadamore Date: 2011-04-01 12:30 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/b945b846c979 7032633: javac -Xlint:all warns about flush() within try on an auto-closeable resource Summary: missing name check before calling MethodSymbol.overrides causes wrong warnings to be issued Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/TryWithResources/T7032633.java Changeset: 28570a737e83 Author: lana Date: 2011-03-31 22:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/28570a737e83 Merge Changeset: d0b5026ec7ca Author: lana Date: 2011-04-01 10:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d0b5026ec7ca Merge Changeset: 46d720734db3 Author: ksrini Date: 2011-04-03 17:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/46d720734db3 7028405: (javac) remove unused JSR-292 code Reviewed-by: jrose, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/util/Names.java ! test/tools/javac/meth/InvokeMH.java ! test/tools/javac/meth/TestCP.java ! test/tools/javac/meth/XlintWarn.java Changeset: 734144b6b22f Author: bpatel Date: 2011-04-04 10:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/734144b6b22f 7010344: Some of the html files do not have element in right context. Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java ! test/com/sun/javadoc/testHref/TestHref.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testLinkOption/TestLinkOption.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testTypeParams/TestTypeParameters.java + test/com/sun/javadoc/testTypeParams/pkg/ClassUseTest3.java + test/com/sun/javadoc/testTypeParams/pkg/Foo4.java + test/com/sun/javadoc/testTypeParams/pkg/ParamTest2.java Changeset: 7916df9c99be Author: alanb Date: 2011-04-04 18:10 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7916df9c99be 7029979: (fs) Path.toRealPath(boolean) should be toRealPath(LinkOption...) Reviewed-by: mcimadamore, jjg ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java Changeset: 26b065bb4ee7 Author: alanb Date: 2011-04-04 19:36 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/26b065bb4ee7 Merge Changeset: de8bb6fa070c Author: lana Date: 2011-04-10 10:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/de8bb6fa070c Merge Changeset: 0ff2bbd38f10 Author: ohair Date: 2011-04-06 20:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/0ff2bbd38f10 7033660: Update copyright year to 2011 on any files changed in 2011 Reviewed-by: dholmes ! make/netbeans/langtools/build.xml ! make/tools/GenStubs/GenStubs.java ! src/share/bin/launcher.sh-template ! src/share/classes/com/sun/tools/apt/resources/apt_ja.properties ! src/share/classes/com/sun/tools/apt/resources/apt_zh_CN.properties ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/main/OptionName.java ! src/share/classes/com/sun/tools/javac/main/RecognizedOptions.java ! src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javac/util/Names.java ! src/share/classes/com/sun/tools/javac/util/Options.java ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties ! src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties ! src/share/classes/com/sun/tools/javah/resources/l10n_zh_CN.properties ! test/tools/javac/4917091/Test255.java ! test/tools/javac/4917091/Test256a.java ! test/tools/javac/4917091/Test256b.java ! test/tools/javac/ClassPathTest/ClassPathTest.sh ! test/tools/javac/ExtDirs/ExtDirs.sh ! test/tools/javac/Paths/Help.sh ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/javazip/Test.sh ! test/tools/javac/meth/TestCP.java ! test/tools/javac/meth/XlintWarn.java ! test/tools/javac/options/T6900037.java ! test/tools/javac/scope/HashCollisionTest.java ! test/tools/javac/scope/StarImportTest.java ! test/tools/javac/types/GenericTypeWellFormednessTest.java ! test/tools/javac/types/TypeHarness.java ! test/tools/javac/varargs/6199075/T6199075.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java ! test/tools/javac/versions/check.sh Changeset: 7278b5b61c17 Author: mfang Date: 2011-04-08 15:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7278b5b61c17 7034940: message drop 2 translation integration Reviewed-by: yhuang ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_ja.properties ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Changeset: d042f2ca7e85 Author: mfang Date: 2011-04-11 14:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/d042f2ca7e85 Merge Changeset: 6f8bb109a65b Author: mfang Date: 2011-04-11 16:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/6f8bb109a65b Merge ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Changeset: 53f212bed4f4 Author: ohair Date: 2011-04-13 16:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/53f212bed4f4 Merge ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/javac/nio/PathFileObject.java ! src/share/classes/com/sun/tools/javac/util/Names.java ! test/tools/javac/meth/TestCP.java ! test/tools/javac/meth/XlintWarn.java Changeset: 853b6bb99f9b Author: schien Date: 2011-04-14 15:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/853b6bb99f9b Added tag jdk7-b138 for changeset 53f212bed4f4 ! .hgtags Changeset: 674dc2b21640 Author: katleman Date: 2011-04-21 15:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/674dc2b21640 Added tag jdk7-b139 for changeset 853b6bb99f9b ! .hgtags Changeset: 8cc5b440fdde Author: darcy Date: 2011-04-06 19:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/8cc5b440fdde 7033809: Rename "disjunctive" to "union" in javax.lang.model Reviewed-by: mcimadamore, jjg - src/share/classes/com/sun/source/tree/DisjunctiveTypeTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java + src/share/classes/com/sun/source/tree/UnionTypeTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java - src/share/classes/javax/lang/model/type/DisjunctiveType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java + src/share/classes/javax/lang/model/type/UnionType.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor7.java Changeset: f00986f55961 Author: mcimadamore Date: 2011-04-12 20:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/f00986f55961 7034511: Loophole in typesafety Summary: Type-variable substutution takes upper bound of replaced captured type-variable Reviewed-by: dlsmith ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/generics/7034511/T7034511a.java + test/tools/javac/generics/7034511/T7034511a.out + test/tools/javac/generics/7034511/T7034511b.java + test/tools/javac/generics/7034511/T7034511b.out Changeset: bfbc197b560f Author: mcimadamore Date: 2011-04-12 20:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bfbc197b560f 7034019: ClassCastException in javac with conjunction types Summary: Resolve.mostSpecific doesn't handle case of raw override Reviewed-by: dlsmith ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/generics/7034019/T7034019a.java + test/tools/javac/generics/7034019/T7034019b.java + test/tools/javac/generics/7034019/T7034019c.java + test/tools/javac/generics/7034019/T7034019c.out + test/tools/javac/generics/7034019/T7034019d.java + test/tools/javac/generics/7034019/T7034019d.out Changeset: 694ff82ca68e Author: jjh Date: 2011-04-13 11:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/694ff82ca68e 7032975: API files in javax.annotation.processing need to be updated for references to JLS 7032972: API files in javax.tools need to updated for references to JVM Spec with editions/hyperlinks 7032978: API files in javax.tools need to be updated for references to JLS with editions/hyperlinks Summary: Removed URLs and 'edition' references Reviewed-by: jjg, darcy ! make/build.properties ! make/build.xml ! src/share/classes/com/sun/javadoc/ClassDoc.java ! src/share/classes/com/sun/source/tree/AnnotationTree.java ! src/share/classes/com/sun/source/tree/ArrayAccessTree.java ! src/share/classes/com/sun/source/tree/ArrayTypeTree.java ! src/share/classes/com/sun/source/tree/AssertTree.java ! src/share/classes/com/sun/source/tree/AssignmentTree.java ! src/share/classes/com/sun/source/tree/BinaryTree.java ! src/share/classes/com/sun/source/tree/BlockTree.java ! src/share/classes/com/sun/source/tree/BreakTree.java ! src/share/classes/com/sun/source/tree/CaseTree.java ! src/share/classes/com/sun/source/tree/CatchTree.java ! src/share/classes/com/sun/source/tree/ClassTree.java ! src/share/classes/com/sun/source/tree/CompilationUnitTree.java ! src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java ! src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java ! src/share/classes/com/sun/source/tree/ContinueTree.java ! src/share/classes/com/sun/source/tree/DoWhileLoopTree.java ! src/share/classes/com/sun/source/tree/EmptyStatementTree.java ! src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java ! src/share/classes/com/sun/source/tree/ExpressionStatementTree.java ! src/share/classes/com/sun/source/tree/ExpressionTree.java ! src/share/classes/com/sun/source/tree/ForLoopTree.java ! src/share/classes/com/sun/source/tree/IdentifierTree.java ! src/share/classes/com/sun/source/tree/IfTree.java ! src/share/classes/com/sun/source/tree/ImportTree.java ! src/share/classes/com/sun/source/tree/InstanceOfTree.java ! src/share/classes/com/sun/source/tree/LabeledStatementTree.java ! src/share/classes/com/sun/source/tree/LiteralTree.java ! src/share/classes/com/sun/source/tree/MemberSelectTree.java ! src/share/classes/com/sun/source/tree/MethodInvocationTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/ModifiersTree.java ! src/share/classes/com/sun/source/tree/NewArrayTree.java ! src/share/classes/com/sun/source/tree/NewClassTree.java ! src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java ! src/share/classes/com/sun/source/tree/ParenthesizedTree.java ! src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java ! src/share/classes/com/sun/source/tree/ReturnTree.java ! src/share/classes/com/sun/source/tree/StatementTree.java ! src/share/classes/com/sun/source/tree/SwitchTree.java ! src/share/classes/com/sun/source/tree/SynchronizedTree.java ! src/share/classes/com/sun/source/tree/ThrowTree.java ! src/share/classes/com/sun/source/tree/TryTree.java ! src/share/classes/com/sun/source/tree/TypeCastTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/tree/UnaryTree.java ! src/share/classes/com/sun/source/tree/VariableTree.java ! src/share/classes/com/sun/source/tree/WhileLoopTree.java ! src/share/classes/com/sun/source/tree/WildcardTree.java ! src/share/classes/com/sun/tools/apt/mirror/util/DeclarationsImpl.java ! src/share/classes/com/sun/tools/classfile/AccessFlags.java ! src/share/classes/com/sun/tools/classfile/Annotation.java ! src/share/classes/com/sun/tools/classfile/AnnotationDefault_attribute.java ! src/share/classes/com/sun/tools/classfile/BootstrapMethods_attribute.java ! src/share/classes/com/sun/tools/classfile/ClassFile.java ! src/share/classes/com/sun/tools/classfile/Code_attribute.java ! src/share/classes/com/sun/tools/classfile/ConstantPool.java ! src/share/classes/com/sun/tools/classfile/ConstantValue_attribute.java ! src/share/classes/com/sun/tools/classfile/Deprecated_attribute.java ! src/share/classes/com/sun/tools/classfile/Descriptor.java ! src/share/classes/com/sun/tools/classfile/EnclosingMethod_attribute.java ! src/share/classes/com/sun/tools/classfile/Exceptions_attribute.java ! src/share/classes/com/sun/tools/classfile/InnerClasses_attribute.java ! src/share/classes/com/sun/tools/classfile/Instruction.java ! src/share/classes/com/sun/tools/classfile/LineNumberTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LocalVariableTable_attribute.java ! src/share/classes/com/sun/tools/classfile/LocalVariableTypeTable_attribute.java ! src/share/classes/com/sun/tools/classfile/Opcode.java ! src/share/classes/com/sun/tools/classfile/RuntimeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleParameterAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeParameterAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleParameterAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/Signature.java ! src/share/classes/com/sun/tools/classfile/Signature_attribute.java ! src/share/classes/com/sun/tools/classfile/SourceDebugExtension_attribute.java ! src/share/classes/com/sun/tools/classfile/SourceFile_attribute.java ! src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java ! src/share/classes/com/sun/tools/classfile/Synthetic_attribute.java ! src/share/classes/com/sun/tools/classfile/package.html ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/javax/annotation/processing/Processor.java ! src/share/classes/javax/lang/model/SourceVersion.java ! src/share/classes/javax/lang/model/element/Element.java ! src/share/classes/javax/lang/model/element/Modifier.java ! src/share/classes/javax/lang/model/element/PackageElement.java ! src/share/classes/javax/lang/model/element/TypeElement.java ! src/share/classes/javax/lang/model/element/VariableElement.java ! src/share/classes/javax/lang/model/type/DeclaredType.java ! src/share/classes/javax/lang/model/type/TypeVariable.java ! src/share/classes/javax/lang/model/util/Elements.java ! src/share/classes/javax/lang/model/util/Types.java ! src/share/classes/javax/tools/JavaCompiler.java ! src/share/classes/javax/tools/JavaFileManager.java ! src/share/classes/javax/tools/JavaFileObject.java ! src/share/sample/javac/processing/src/CheckNamesProcessor.java Changeset: 5ed971fce27c Author: lana Date: 2011-04-17 16:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5ed971fce27c Merge Changeset: 258e6654aba2 Author: lana Date: 2011-04-25 15:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/258e6654aba2 Merge - src/share/classes/com/sun/source/tree/DisjunctiveTypeTree.java - src/share/classes/javax/lang/model/type/DisjunctiveType.java Changeset: 841e1c6a5914 Author: mfang Date: 2011-04-25 20:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/841e1c6a5914 7039493: incorporating WPTG translation bug fixes Reviewed-by: yhuang ! src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Changeset: c2e7291e98e7 Author: ohair Date: 2011-04-26 16:22 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c2e7291e98e7 6631003: Add hg tip changeset to build image Reviewed-by: mduigou ! .hgignore Changeset: 8505c91a1f85 Author: cl Date: 2011-04-27 19:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/8505c91a1f85 Merge From tom.rodriguez at oracle.com Tue May 3 15:03:08 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 3 May 2011 15:03:08 -0700 Subject: review for 7041582: set_mode_flags isn't called without -Xmixed specified Message-ID: http://cr.openjdk.java.net/~never/7041582 7041582: set_mode_flags isn't called without -Xmixed specified Reviewed-by: The fix 7034513 moved some logic into set_mode_flags but set_mode_flags isn't called unless a mode is specified on the command line. The fix simply to call set_mode_flag(_mixed) before parsing arguments. Tested with -XX:+PrintFlagsFinal. From igor.veresov at oracle.com Tue May 3 15:25:45 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 03 May 2011 15:25:45 -0700 Subject: review for 7041582: set_mode_flags isn't called without -Xmixed specified In-Reply-To: References: Message-ID: <4DC080E9.9060801@oracle.com> Looks good. igor On 5/3/11 3:03 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7041582 > > 7041582: set_mode_flags isn't called without -Xmixed specified > Reviewed-by: > > The fix 7034513 moved some logic into set_mode_flags but > set_mode_flags isn't called unless a mode is specified on the command > line. The fix simply to call set_mode_flag(_mixed) before parsing > arguments. Tested with -XX:+PrintFlagsFinal. > From vladimir.kozlov at oracle.com Tue May 3 15:35:01 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 03 May 2011 15:35:01 -0700 Subject: review for 7041582: set_mode_flags isn't called without -Xmixed specified In-Reply-To: References: Message-ID: <4DC08315.2070500@oracle.com> Looks good. Vladimir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7041582 > > 7041582: set_mode_flags isn't called without -Xmixed specified > Reviewed-by: > > The fix 7034513 moved some logic into set_mode_flags but > set_mode_flags isn't called unless a mode is specified on the command > line. The fix simply to call set_mode_flag(_mixed) before parsing > arguments. Tested with -XX:+PrintFlagsFinal. > From vladimir.kozlov at oracle.com Tue May 3 17:05:51 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 04 May 2011 00:05:51 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7041100: The load in String.equals intrinsic executed before null check Message-ID: <20110504000613.B16E647246@hg.openjdk.java.net> Changeset: e6d7eed3330c Author: kvn Date: 2011-05-03 09:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e6d7eed3330c 7041100: The load in String.equals intrinsic executed before null check Summary: Remove control from loads in String.equals intrinsic and cast argument to not-null. Reviewed-by: never ! src/share/vm/opto/library_call.cpp + test/compiler/7041100/Test7041100.java From tom.rodriguez at oracle.com Tue May 3 17:27:11 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 3 May 2011 17:27:11 -0700 Subject: Request for reviews (XXL): 5091921: Sign flip issues in loop optimizer In-Reply-To: <4DB9F28A.8020105@oracle.com> References: <4DB9F28A.8020105@oracle.com> Message-ID: <1B6D02A4-EECE-4660-B275-070BD6062841@oracle.com> Overall it looks good I think. I believe I understand it for the most part but I'm assuming that the tests you've added are getting us good coverage too. There are still some perf regression too right? Would it be possible to factor some of the big new pieces of code in loopTransform.cpp? I know it's not always easy since there's often a lot of state required but if there's anything you can do that would be great. You don't have to do it as part of this change if you want to do it later. I have a vague memory of the need for more optimizations around min and max nodes to reduce some of the overhead. Presumably we don't need that because we're using predicates? loopTransform.cpp: symetrical -> symmetrical fliped -> flipped guaranty -> guarantee What did you mean here? + // Use not adjusted previous limit as old limit. loopnode.hpp: What do you mean by Normal below? That it has the normal meaning? Just leave it out. + enum { Normal=0, Init=1, Limit=2, Stride=3 }; macro.cpp: It's not really on the macro list is it? tom On Apr 28, 2011, at 4:04 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/5091921/webrev > > Fixed 5091921: Sign flip issues in loop optimizer > > Loop optimizer in Server VM does not take into account integer overflow when it generates code for loop limits calculation during counted loop construction, unrolling and range check elimination. As result generated code will behave incorrectly when an integer overflow happens. > > 1. Added limit check for Counted loops which, if failed, causes recompilation of the method without counted loop. It based on loop predication code we have already but we don't need to copy it after corresponding counted loop is created (this is why a new flag is passed to loop predicate copy methods). > > if (limit>= max_int-stride) > uncommon_trap > counted_loop init, limit, stride > > 2. Long arithmetic is used to calculate exact limit only when it is needed: empty loop elimination and predicated range check elimination. New ideal macro node LoopLimitNode is used but corresponding mach node is created only for 32-bit x86 to get better assembler code. Sparc and x64 have long registers so generated assembler is good enough without specialized mach node. Also delay LoopLimitNode transformation until all loop optimizations are done (by marking LoopLimitNode as macro node). > > 3. New limit after unroll calculated as: > > new_limit = limit-stride > new_limit = (limit < new_limit) ? MININT : new_limit; > > instead of current expression: > > new_limit = init + (((limit-init)/stride)&(-2))*stride > > Added other checks to avoid limit value overflow during unroll. Also fully unroll loops with up to 3 trip count. > > 4. Added underflow check for normal compares in loops which are optimized out using range check elimination code (I also refactored the code): > > MIN_INT <= scale*I+offset < limit > > ---------------------------------------------- > These changes are put under flags to debug associated problems. I also allowed to print inlining decisions in product VM since PrintInlining is diagnostic flag now. New regression tests are added based on associated bug reports. > > These changes cause performance regression in benchmarks. Some of regression cases can't not be avoided but some we will address in a future. > > And finally I want to thank java VM team from HP who provided nice test cases and even suggested fix. I used their idea for unroll limit fix. From vladimir.kozlov at oracle.com Tue May 3 18:37:13 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 03 May 2011 18:37:13 -0700 Subject: Request for reviews (XXL): 5091921: Sign flip issues in loop optimizer In-Reply-To: <1B6D02A4-EECE-4660-B275-070BD6062841@oracle.com> References: <4DB9F28A.8020105@oracle.com> <1B6D02A4-EECE-4660-B275-070BD6062841@oracle.com> Message-ID: <4DC0ADC9.2060707@oracle.com> Thank you very much, Tom Tom Rodriguez wrote: > Overall it looks good I think. I believe I understand it for the most part but I'm assuming that the tests you've added are getting us good coverage too. There are still some perf regression too right? Yes, mostly scimark Sparse and LU, I don't see affect on jbb (in refworkload). And I'm expecting performance results from aurora done by perf team. I talked with Dave and perf team and we accept performance lost with this fix. I am also looking on generated code and we may recover some perf lost with optimizations in lcm and igvn optimizations for CMove and Min, Max nodes. > Would it be possible to factor some of the big new pieces of code in loopTransform.cpp? I know it's not always easy since there's often a lot of state required but if there's anything you can do that would be great. You don't have to do it as part of this change if you want to do it later. Yes, I will do that clean up later. I did a lot of testing with current code and I don't want to modify it just before the push. > I have a vague memory of the need for more optimizations around min and max nodes to reduce some of the overhead. Presumably we don't need that because we're using predicates? We still need to do more optimizations for min and max even with predicates since not all RCE is done by predicates. Predicates currently do RCE only for arrays range checks. > loopTransform.cpp: > > symetrical -> symmetrical > fliped -> flipped > guaranty -> guarantee Corrected. > What did you mean here? > > + // Use not adjusted previous limit as old limit. I am trying to use original (not adjusted) limit to avoid nested CMove nodes. After first unroll the new limit is: adj_limit1 = orig_limit - stride; new_limit1 = (orig_limit < adj_limit1) ? MININT : adj_limit1; If I do simple adjustment the next new limit for next unroll is: adj_limit2 = new_limit1 - stride; new_limit2 = (new_limit1 < adj_limit2) ? MININT : adj_limit2; which will introduce nested CMove nodes, so I do next instead: adj_limit2 = adj_limit1 - stride; new_limit2 = (orig_limit < adj_limit2) ? MININT : adj_limit2; > loopnode.hpp: > > What do you mean by Normal below? That it has the normal meaning? Just leave it out. > > + enum { Normal=0, Init=1, Limit=2, Stride=3 }; Removed. It was copy-paste typo :) > macro.cpp: > > It's not really on the macro list is it? It IS on macro list. What is a problem to have it on macro list? LoopLimitNode( Compile* C, Node *init, Node *limit, Node *stride ) : Node(0,init,limit,stride) { // Put it on the Macro nodes list to optimize during macro nodes expansion. init_flags(Flag_is_macro); C->add_macro_node(this); } Thank you, Vladimir > > > > tom > > On Apr 28, 2011, at 4:04 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/5091921/webrev >> >> Fixed 5091921: Sign flip issues in loop optimizer >> >> Loop optimizer in Server VM does not take into account integer overflow when it generates code for loop limits calculation during counted loop construction, unrolling and range check elimination. As result generated code will behave incorrectly when an integer overflow happens. >> >> 1. Added limit check for Counted loops which, if failed, causes recompilation of the method without counted loop. It based on loop predication code we have already but we don't need to copy it after corresponding counted loop is created (this is why a new flag is passed to loop predicate copy methods). >> >> if (limit>= max_int-stride) >> uncommon_trap >> counted_loop init, limit, stride >> >> 2. Long arithmetic is used to calculate exact limit only when it is needed: empty loop elimination and predicated range check elimination. New ideal macro node LoopLimitNode is used but corresponding mach node is created only for 32-bit x86 to get better assembler code. Sparc and x64 have long registers so generated assembler is good enough without specialized mach node. Also delay LoopLimitNode transformation until all loop optimizations are done (by marking LoopLimitNode as macro node). >> >> 3. New limit after unroll calculated as: >> >> new_limit = limit-stride >> new_limit = (limit < new_limit) ? MININT : new_limit; >> >> instead of current expression: >> >> new_limit = init + (((limit-init)/stride)&(-2))*stride >> >> Added other checks to avoid limit value overflow during unroll. Also fully unroll loops with up to 3 trip count. >> >> 4. Added underflow check for normal compares in loops which are optimized out using range check elimination code (I also refactored the code): >> >> MIN_INT <= scale*I+offset < limit >> >> ---------------------------------------------- >> These changes are put under flags to debug associated problems. I also allowed to print inlining decisions in product VM since PrintInlining is diagnostic flag now. New regression tests are added based on associated bug reports. >> >> These changes cause performance regression in benchmarks. Some of regression cases can't not be avoided but some we will address in a future. >> >> And finally I want to thank java VM team from HP who provided nice test cases and even suggested fix. I used their idea for unroll limit fix. > From tom.rodriguez at oracle.com Tue May 3 19:20:15 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Wed, 04 May 2011 02:20:15 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 2 new changesets Message-ID: <20110504022022.819C347253@hg.openjdk.java.net> Changeset: f1d6640088a1 Author: never Date: 2011-05-03 12:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f1d6640088a1 6796786: invalid FP identity transform - (a - b) -> b - a Reviewed-by: iveresov, twisti ! src/share/vm/opto/subnode.cpp ! src/share/vm/opto/subnode.hpp + test/compiler/6796786/Test6796786.java Changeset: 8a9941687aae Author: never Date: 2011-05-03 17:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8a9941687aae Merge From tom.rodriguez at oracle.com Tue May 3 19:55:49 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 3 May 2011 19:55:49 -0700 Subject: Request for reviews (XXL): 5091921: Sign flip issues in loop optimizer In-Reply-To: <4DC0ADC9.2060707@oracle.com> References: <4DB9F28A.8020105@oracle.com> <1B6D02A4-EECE-4660-B275-070BD6062841@oracle.com> <4DC0ADC9.2060707@oracle.com> Message-ID: <39B087B3-9573-4A8A-B6FC-FC7B40DF24CB@oracle.com> On May 3, 2011, at 6:37 PM, Vladimir Kozlov wrote: > Thank you very much, Tom > > Tom Rodriguez wrote: >> Overall it looks good I think. I believe I understand it for the most part but I'm assuming that the tests you've added are getting us good coverage too. There are still some perf regression too right? > > Yes, mostly scimark Sparse and LU, I don't see affect on jbb (in refworkload). And I'm expecting performance results from aurora done by perf team. I talked with Dave and perf team and we accept performance lost with this fix. I am also looking on generated code and we may recover some perf lost with optimizations in lcm and igvn optimizations for CMove and Min, Max nodes. > >> Would it be possible to factor some of the big new pieces of code in loopTransform.cpp? I know it's not always easy since there's often a lot of state required but if there's anything you can do that would be great. You don't have to do it as part of this change if you want to do it later. > > Yes, I will do that clean up later. I did a lot of testing with current code and I don't want to modify it just before the push. That's what I figured. > >> I have a vague memory of the need for more optimizations around min and max nodes to reduce some of the overhead. Presumably we don't need that because we're using predicates? > > We still need to do more optimizations for min and max even with predicates since not all RCE is done by predicates. Predicates currently do RCE only for arrays range checks. Ok. > >> loopTransform.cpp: >> symetrical -> symmetrical >> fliped -> flipped >> guaranty -> guarantee > > Corrected. > >> What did you mean here? >> + // Use not adjusted previous limit as old limit. > > I am trying to use original (not adjusted) limit to avoid nested CMove nodes. After first unroll the new limit is: > > adj_limit1 = orig_limit - stride; > new_limit1 = (orig_limit < adj_limit1) ? MININT : adj_limit1; > > If I do simple adjustment the next new limit for next unroll is: > > adj_limit2 = new_limit1 - stride; > new_limit2 = (new_limit1 < adj_limit2) ? MININT : adj_limit2; > > which will introduce nested CMove nodes, so I do next instead: > > adj_limit2 = adj_limit1 - stride; > new_limit2 = (orig_limit < adj_limit2) ? MININT : adj_limit2; Use "original" or "unadjusted" instead. Not adjusted doesn't sound right. > >> loopnode.hpp: >> What do you mean by Normal below? That it has the normal meaning? Just leave it out. >> + enum { Normal=0, Init=1, Limit=2, Stride=3 }; > > Removed. It was copy-paste typo :) > >> macro.cpp: >> It's not really on the macro list is it? > > It IS on macro list. What is a problem to have it on macro list? > > LoopLimitNode( Compile* C, Node *init, Node *limit, Node *stride ) : Node(0,init,limit,stride) { > // Put it on the Macro nodes list to optimize during macro nodes expansion. > init_flags(Flag_is_macro); > C->add_macro_node(this); > } I didn't notice that part. It just doesn't seem very much like the other macros. Why is it a macro? It's not expanded by macro.cpp. Is it just so that it's reprocessed by GVN at the end? Why isn't it just expanded by macro.cpp then? I'm a bit dubious of guards like this in the first place: + // Delay following optimizations until all loop optimizations + // done to keep Ideal graph simple. + if (!can_reshape || phase->C->major_progress()) + return NULL; It seems more like there should be a more general way to ask what phase we are in instead. Anyway, I'm fine if you leave it as is. It just seems odd. Maybe macro is the wrong name for what that list has become. tom > > Thank you, > Vladimir > >> tom >> On Apr 28, 2011, at 4:04 PM, Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/5091921/webrev >>> >>> Fixed 5091921: Sign flip issues in loop optimizer >>> >>> Loop optimizer in Server VM does not take into account integer overflow when it generates code for loop limits calculation during counted loop construction, unrolling and range check elimination. As result generated code will behave incorrectly when an integer overflow happens. >>> >>> 1. Added limit check for Counted loops which, if failed, causes recompilation of the method without counted loop. It based on loop predication code we have already but we don't need to copy it after corresponding counted loop is created (this is why a new flag is passed to loop predicate copy methods). >>> >>> if (limit>= max_int-stride) >>> uncommon_trap >>> counted_loop init, limit, stride >>> >>> 2. Long arithmetic is used to calculate exact limit only when it is needed: empty loop elimination and predicated range check elimination. New ideal macro node LoopLimitNode is used but corresponding mach node is created only for 32-bit x86 to get better assembler code. Sparc and x64 have long registers so generated assembler is good enough without specialized mach node. Also delay LoopLimitNode transformation until all loop optimizations are done (by marking LoopLimitNode as macro node). >>> >>> 3. New limit after unroll calculated as: >>> >>> new_limit = limit-stride >>> new_limit = (limit < new_limit) ? MININT : new_limit; >>> >>> instead of current expression: >>> >>> new_limit = init + (((limit-init)/stride)&(-2))*stride >>> >>> Added other checks to avoid limit value overflow during unroll. Also fully unroll loops with up to 3 trip count. >>> >>> 4. Added underflow check for normal compares in loops which are optimized out using range check elimination code (I also refactored the code): >>> >>> MIN_INT <= scale*I+offset < limit >>> >>> ---------------------------------------------- >>> These changes are put under flags to debug associated problems. I also allowed to print inlining decisions in product VM since PrintInlining is diagnostic flag now. New regression tests are added based on associated bug reports. >>> >>> These changes cause performance regression in benchmarks. Some of regression cases can't not be avoided but some we will address in a future. >>> >>> And finally I want to thank java VM team from HP who provided nice test cases and even suggested fix. I used their idea for unroll limit fix. From vladimir.kozlov at oracle.com Tue May 3 20:31:47 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 03 May 2011 20:31:47 -0700 Subject: Request for reviews (XXL): 5091921: Sign flip issues in loop optimizer In-Reply-To: <39B087B3-9573-4A8A-B6FC-FC7B40DF24CB@oracle.com> References: <4DB9F28A.8020105@oracle.com> <1B6D02A4-EECE-4660-B275-070BD6062841@oracle.com> <4DC0ADC9.2060707@oracle.com> <39B087B3-9573-4A8A-B6FC-FC7B40DF24CB@oracle.com> Message-ID: <4DC0C8A3.2060300@oracle.com> Tom Rodriguez wrote: > > Use "original" or "unadjusted" instead. Not adjusted doesn't sound right. Replaced with "original". >>> macro.cpp: >>> It's not really on the macro list is it? >> It IS on macro list. What is a problem to have it on macro list? >> >> LoopLimitNode( Compile* C, Node *init, Node *limit, Node *stride ) : Node(0,init,limit,stride) { >> // Put it on the Macro nodes list to optimize during macro nodes expansion. >> init_flags(Flag_is_macro); >> C->add_macro_node(this); >> } > > I didn't notice that part. It just doesn't seem very much like the other macros. Why is it a macro? It's not expanded by macro.cpp. Is it just so that it's reprocessed by GVN at the end? Why isn't it just expanded by macro.cpp then? I'm a bit dubious of guards like this in the first place: Yes, I just need to reprocess it after all loop opts. Originally it was not on macro list but it failed because nobody put it on igvn worklist at the end of loop opts. So the choice was to create an other list or used existing one. I choose existing list. Opaque nodes are on macro list for exactly the same reason: we want optimize them out after all loop opts. May be we should just put all nodes on IGVN worklist after all loop opts and do optimization before macro nodes expansion. We can mark that phase specially and check for it as you said. But it is for next round of changes since it may affect generated code and requires additional testing. Thanks, Vladimir > > + // Delay following optimizations until all loop optimizations > + // done to keep Ideal graph simple. > + if (!can_reshape || phase->C->major_progress()) > + return NULL; > > It seems more like there should be a more general way to ask what phase we are in instead. Anyway, I'm fine if you leave it as is. It just seems odd. Maybe macro is the wrong name for what that list has become. > > tom > >> Thank you, >> Vladimir >> >>> tom >>> On Apr 28, 2011, at 4:04 PM, Vladimir Kozlov wrote: >>>> http://cr.openjdk.java.net/~kvn/5091921/webrev >>>> >>>> Fixed 5091921: Sign flip issues in loop optimizer >>>> >>>> Loop optimizer in Server VM does not take into account integer overflow when it generates code for loop limits calculation during counted loop construction, unrolling and range check elimination. As result generated code will behave incorrectly when an integer overflow happens. >>>> >>>> 1. Added limit check for Counted loops which, if failed, causes recompilation of the method without counted loop. It based on loop predication code we have already but we don't need to copy it after corresponding counted loop is created (this is why a new flag is passed to loop predicate copy methods). >>>> >>>> if (limit>= max_int-stride) >>>> uncommon_trap >>>> counted_loop init, limit, stride >>>> >>>> 2. Long arithmetic is used to calculate exact limit only when it is needed: empty loop elimination and predicated range check elimination. New ideal macro node LoopLimitNode is used but corresponding mach node is created only for 32-bit x86 to get better assembler code. Sparc and x64 have long registers so generated assembler is good enough without specialized mach node. Also delay LoopLimitNode transformation until all loop optimizations are done (by marking LoopLimitNode as macro node). >>>> >>>> 3. New limit after unroll calculated as: >>>> >>>> new_limit = limit-stride >>>> new_limit = (limit < new_limit) ? MININT : new_limit; >>>> >>>> instead of current expression: >>>> >>>> new_limit = init + (((limit-init)/stride)&(-2))*stride >>>> >>>> Added other checks to avoid limit value overflow during unroll. Also fully unroll loops with up to 3 trip count. >>>> >>>> 4. Added underflow check for normal compares in loops which are optimized out using range check elimination code (I also refactored the code): >>>> >>>> MIN_INT <= scale*I+offset < limit >>>> >>>> ---------------------------------------------- >>>> These changes are put under flags to debug associated problems. I also allowed to print inlining decisions in product VM since PrintInlining is diagnostic flag now. New regression tests are added based on associated bug reports. >>>> >>>> These changes cause performance regression in benchmarks. Some of regression cases can't not be avoided but some we will address in a future. >>>> >>>> And finally I want to thank java VM team from HP who provided nice test cases and even suggested fix. I used their idea for unroll limit fix. > From tom.rodriguez at oracle.com Wed May 4 00:02:07 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Wed, 04 May 2011 07:02:07 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7041603: standalone SA doesn't build after 7010849 Message-ID: <20110504070209.A3A674725E@hg.openjdk.java.net> Changeset: eae35325e5e1 Author: never Date: 2011-05-03 20:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/eae35325e5e1 7041603: standalone SA doesn't build after 7010849 Reviewed-by: dcubed ! agent/make/Makefile From christian.thalinger at oracle.com Wed May 4 00:42:35 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 4 May 2011 09:42:35 +0200 Subject: Request for review (XXS): 7041244: JSR 292: Server VM gets a SEGV running a JCK test In-Reply-To: <328A19D6-4217-46C5-971E-AFAA6E3779C1@oracle.com> References: <328A19D6-4217-46C5-971E-AFAA6E3779C1@oracle.com> Message-ID: <3FB784F1-0944-4143-A84D-3F5AF4FB959D@oracle.com> Thank you all for the review. I'm going to add a small compiler warning fix that I introduced with 7018355: diff -r 2e038ad0c1d0 src/share/vm/memory/genOopClosures.hpp --- a/src/share/vm/memory/genOopClosures.hpp +++ b/src/share/vm/memory/genOopClosures.hpp @@ -175,7 +175,7 @@ class VerifyOopClosure: public OopClosur protected: template inline void do_oop_work(T* p) { oop obj = oopDesc::load_decode_heap_oop(p); - guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, obj)); + guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, (oopDesc*) obj)); } public: virtual void do_oop(oop* p); -- Christian On May 3, 2011, at 7:19 PM, Tom Rodriguez wrote: > Looks good. > > tom > > On May 3, 2011, at 2:52 AM, Christian Thalinger wrote: > >> http://cr.openjdk.java.net/~twisti/7041244/ >> >> 7041244: JSR 292: Server VM gets a SEGV running a JCK test >> Reviewed-by: >> >> The call to check_klass_subtype in _adapter_check_cast uses O0 as a >> temporary register which may be later used in the exception throwing >> path in vmarg to reload the bad object. >> >> The fix is to use O3 instead of O0 which is also free at this point. >> >> src/cpu/sparc/vm/methodHandles_sparc.cpp From vladimir.kozlov at oracle.com Wed May 4 01:25:20 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 04 May 2011 01:25:20 -0700 Subject: Request for review (XXS): 7041244: JSR 292: Server VM gets a SEGV running a JCK test In-Reply-To: <3FB784F1-0944-4143-A84D-3F5AF4FB959D@oracle.com> References: <328A19D6-4217-46C5-971E-AFAA6E3779C1@oracle.com> <3FB784F1-0944-4143-A84D-3F5AF4FB959D@oracle.com> Message-ID: <4DC10D70.7060103@oracle.com> Good, thank you for fixing it. Vladimir On 5/4/11 12:42 AM, Christian Thalinger wrote: > Thank you all for the review. I'm going to add a small compiler warning fix that I introduced with 7018355: > > diff -r 2e038ad0c1d0 src/share/vm/memory/genOopClosures.hpp > --- a/src/share/vm/memory/genOopClosures.hpp > +++ b/src/share/vm/memory/genOopClosures.hpp > @@ -175,7 +175,7 @@ class VerifyOopClosure: public OopClosur > protected: > template inline void do_oop_work(T* p) { > oop obj = oopDesc::load_decode_heap_oop(p); > - guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, obj)); > + guarantee(obj->is_oop_or_null(), err_msg("invalid oop: " INTPTR_FORMAT, (oopDesc*) obj)); > } > public: > virtual void do_oop(oop* p); > > -- Christian > > On May 3, 2011, at 7:19 PM, Tom Rodriguez wrote: >> Looks good. >> >> tom >> >> On May 3, 2011, at 2:52 AM, Christian Thalinger wrote: >> >>> http://cr.openjdk.java.net/~twisti/7041244/ >>> >>> 7041244: JSR 292: Server VM gets a SEGV running a JCK test >>> Reviewed-by: >>> >>> The call to check_klass_subtype in _adapter_check_cast uses O0 as a >>> temporary register which may be later used in the exception throwing >>> path in vmarg to reload the bad object. >>> >>> The fix is to use O3 instead of O0 which is also free at this point. >>> >>> src/cpu/sparc/vm/methodHandles_sparc.cpp > > From tom.rodriguez at oracle.com Wed May 4 03:40:11 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Wed, 04 May 2011 10:40:11 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7041582: set_mode_flags isn't called without -Xmixed specified Message-ID: <20110504104014.D21A647269@hg.openjdk.java.net> Changeset: e9b8ef09622a Author: never Date: 2011-05-04 00:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e9b8ef09622a 7041582: set_mode_flags isn't called without -Xmixed specified Reviewed-by: kvn, iveresov ! src/share/vm/runtime/arguments.cpp From christian.thalinger at oracle.com Wed May 4 04:28:38 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 4 May 2011 13:28:38 +0200 Subject: Request for reviews (XXL): 5091921: Sign flip issues in loop optimizer In-Reply-To: <4DB9F28A.8020105@oracle.com> References: <4DB9F28A.8020105@oracle.com> Message-ID: <846D7062-D4DA-40C6-888F-20A39AA4E35A@oracle.com> On Apr 29, 2011, at 1:04 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/5091921/webrev > > Fixed 5091921: Sign flip issues in loop optimizer It seems that the two .class files you added are required to reproduce the failure. We should not commit binary blobs into open source repositories (maybe we even have a policy for that?). -- Christian From christian.thalinger at oracle.com Wed May 4 05:41:53 2011 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Wed, 04 May 2011 12:41:53 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 3 new changesets Message-ID: <20110504124158.8335D47270@hg.openjdk.java.net> Changeset: 8d944991dbf9 Author: twisti Date: 2011-05-04 00:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8d944991dbf9 7041244: JSR 292: Server VM gets a SEGV running a JCK test Reviewed-by: iveresov, kvn, never ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/share/vm/memory/genOopClosures.hpp Changeset: 6ee92b277bc5 Author: twisti Date: 2011-05-04 00:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6ee92b277bc5 Merge Changeset: 0139aac70fb5 Author: twisti Date: 2011-05-04 03:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0139aac70fb5 Merge From vladimir.kozlov at oracle.com Wed May 4 15:59:28 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 04 May 2011 22:59:28 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 5091921: Sign flip issues in loop optimizer Message-ID: <20110504225930.0EC5247295@hg.openjdk.java.net> Changeset: bad7ecd0b6ed Author: kvn Date: 2011-05-04 13:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/bad7ecd0b6ed 5091921: Sign flip issues in loop optimizer Summary: Fix integer overflow problem in the code generated by loop optimizer. Reviewed-by: never ! src/cpu/x86/vm/x86_32.ad ! src/share/vm/oops/methodDataOop.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopUnswitch.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp + test/compiler/5091921/Test5091921.java + test/compiler/5091921/Test6186134.java + test/compiler/5091921/Test6196102.java + test/compiler/5091921/Test6357214.java + test/compiler/5091921/Test6559156.java + test/compiler/5091921/Test6753639.java + test/compiler/5091921/Test6850611.java + test/compiler/5091921/Test6890943.java + test/compiler/5091921/Test6890943.sh + test/compiler/5091921/Test6897150.java + test/compiler/5091921/Test6905845.java + test/compiler/5091921/Test6931567.java + test/compiler/5091921/Test6935022.java + test/compiler/5091921/Test6959129.java + test/compiler/5091921/Test6985295.java + test/compiler/5091921/Test6992759.java + test/compiler/5091921/Test7005594.java + test/compiler/5091921/Test7020614.java + test/compiler/5091921/input6890943.txt + test/compiler/5091921/output6890943.txt From tom.rodriguez at oracle.com Wed May 4 17:09:16 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 4 May 2011 17:09:16 -0700 Subject: review for 7042052: Xcomp crash with PopSynchronousTest Message-ID: http://cr.openjdk.java.net/~never/7042052 7042052: Xcomp crash with PopSynchronousTest Reviewed-by: In the fix for 7009361 I added some logic in deoptimization to adjust interpreted callers by the size of the signature at the call site instead of the size of the callee since they can be different in the presence of invokedynamic. The logic for computing the arguments was missing some parens so it grouped incorrecty returning either 1 or 0. We have so much extra space in our frames most of the time that nothing broke but luckily this test case showed the problem. Tested with failing test case from report. From vladimir.kozlov at oracle.com Wed May 4 17:22:14 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 04 May 2011 17:22:14 -0700 Subject: review for 7042052: Xcomp crash with PopSynchronousTest In-Reply-To: References: Message-ID: <4DC1EDB6.9060202@oracle.com> Looks good. Vladimir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7042052 > > 7042052: Xcomp crash with PopSynchronousTest > Reviewed-by: > > In the fix for 7009361 I added some logic in deoptimization to adjust > interpreted callers by the size of the signature at the call site > instead of the size of the callee since they can be different in the > presence of invokedynamic. The logic for computing the arguments was > missing some parens so it grouped incorrecty returning either 1 or 0. > We have so much extra space in our frames most of the time that > nothing broke but luckily this test case showed the problem. Tested > with failing test case from report. > From igor.veresov at oracle.com Wed May 4 17:34:24 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 04 May 2011 17:34:24 -0700 Subject: review for 7042052: Xcomp crash with PopSynchronousTest In-Reply-To: References: Message-ID: <4DC1F090.3020609@oracle.com> Looks good. igor On 5/4/11 5:09 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7042052 > > 7042052: Xcomp crash with PopSynchronousTest > Reviewed-by: > > In the fix for 7009361 I added some logic in deoptimization to adjust > interpreted callers by the size of the signature at the call site > instead of the size of the callee since they can be different in the > presence of invokedynamic. The logic for computing the arguments was > missing some parens so it grouped incorrecty returning either 1 or 0. > We have so much extra space in our frames most of the time that > nothing broke but luckily this test case showed the problem. Tested > with failing test case from report. > From vladimir.kozlov at oracle.com Wed May 4 18:21:49 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 04 May 2011 18:21:49 -0700 Subject: Request for reviews (XS): 7042070: Typo in Test6796786.java Message-ID: <4DC1FBAD.1070407@oracle.com> http://cr.openjdk.java.net/~kvn/7042070/webrev Fixed 7042070: Typo in Test6796786.java The test should compare with -0.0f. From igor.veresov at oracle.com Wed May 4 20:42:17 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 04 May 2011 20:42:17 -0700 Subject: Request for reviews (XS): 7042070: Typo in Test6796786.java In-Reply-To: <4DC1FBAD.1070407@oracle.com> References: <4DC1FBAD.1070407@oracle.com> Message-ID: <4DC21C99.7010704@oracle.com> Looks good. I wonder if the test should be executed with Xbatch? Otherwise the compiled code will have little chances to get executed of a fast machine. igor On 5/4/11 6:21 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7042070/webrev > > Fixed 7042070: Typo in Test6796786.java > > The test should compare with -0.0f. From tom.rodriguez at oracle.com Wed May 4 21:39:00 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 4 May 2011 21:39:00 -0700 Subject: Request for reviews (XS): 7042070: Typo in Test6796786.java In-Reply-To: <4DC21C99.7010704@oracle.com> References: <4DC1FBAD.1070407@oracle.com> <4DC21C99.7010704@oracle.com> Message-ID: <5C954EF0-093B-445F-8552-83A8690F60BB@oracle.com> Yes, it looks good. -Xbatch is probably good idea too. tom On May 4, 2011, at 8:42 PM, Igor Veresov wrote: > Looks good. > > I wonder if the test should be executed with Xbatch? Otherwise the compiled code will have little chances to get executed of a fast machine. > > igor > > On 5/4/11 6:21 PM, Vladimir Kozlov wrote: >> http://cr.openjdk.java.net/~kvn/7042070/webrev >> >> Fixed 7042070: Typo in Test6796786.java >> >> The test should compare with -0.0f. > From tom.rodriguez at oracle.com Wed May 4 21:41:02 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 4 May 2011 21:41:02 -0700 Subject: review for 7042052: Xcomp crash with PopSynchronousTest In-Reply-To: <4DC1F090.3020609@oracle.com> References: <4DC1F090.3020609@oracle.com> Message-ID: Thanks Igor and Vladimir. tom On May 4, 2011, at 5:34 PM, Igor Veresov wrote: > Looks good. > > igor > > On 5/4/11 5:09 PM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7042052 >> >> 7042052: Xcomp crash with PopSynchronousTest >> Reviewed-by: >> >> In the fix for 7009361 I added some logic in deoptimization to adjust >> interpreted callers by the size of the signature at the call site >> instead of the size of the callee since they can be different in the >> presence of invokedynamic. The logic for computing the arguments was >> missing some parens so it grouped incorrecty returning either 1 or 0. >> We have so much extra space in our frames most of the time that >> nothing broke but luckily this test case showed the problem. Tested >> with failing test case from report. >> > From tom.rodriguez at oracle.com Thu May 5 03:05:21 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Thu, 05 May 2011 10:05:21 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7042052: Xcomp crash with PopSynchronousTest Message-ID: <20110505100529.5851B472B9@hg.openjdk.java.net> Changeset: dcfb3dede009 Author: never Date: 2011-05-04 22:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/dcfb3dede009 7042052: Xcomp crash with PopSynchronousTest Reviewed-by: kvn, iveresov ! src/share/vm/runtime/deoptimization.cpp From john.r.rose at oracle.com Thu May 5 04:16:53 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 5 May 2011 04:16:53 -0700 Subject: review request (L): 6939861: JVM should handle more conversion operations References: Message-ID: I have finished the last large chunk of JVM work for JDK 7 JSR 292, the implementation of so-called "ricochet frames". Here it is for review: 6939861: JVM should handle more conversion operations http://cr.openjdk.java.net/~jrose/6939861/webrev.04/ This work started in April 2010 and was partially reviewed last October: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2010-October/004188.html These frames allow one method handle to invoke a second recursively, with a third method handle as the continuation to invoke on a set of preset arguments, plus the return value from the second method handle. This is the simplest way to provide a "hook" for combining method handles without spinning bytecodes specific to the set of stacked intermediate arguments. For example, this provides a way to convert a primitive value to a boxed reference: The first function accepts the primitive (plus maybe other arguments), passes it (alone) to a second function such as Long.valueOf(long), accepts the boxed value back, replaces the original argument with the boxed version (perhaps adjusting stack size, as occurs with long and double here), and invokes the third and final function which expects a boxed reference. (The inner function is tail-called, and gets all the pending arguments originally saved by the first function.) There are many points where the present JDK code will fail due to boxing, because of the lack of a bytecode class to manage the recursive call to Long.valueOf, while this mechanism allows all such cases to be handled simply and efficiently. This mechanism handles boxing, asCollector, filterArguments, filterReturnValue, and foldArguments. There is more description about these control flow patterns in my recent post to mlvm-dev: http://mail.openjdk.java.net/pipermail/mlvm-dev/2011-April/002905.html The main technical requirement for the JVM is that a recognizable stack frame be pushed during the intermediate method handle call, so that if there is an exception, or a GC, or some other stack walk, the stack will be parsed properly. Crucially, the pending arguments (saved for ) must be recognized as managed pointers. With suitable JDK support (to be integrated next week), the JVM code passes strong tests of argument spreading and collecting, with references, primitives, and mixtures up to the maximum of 255 arguments. The JVM also runs "down-rev" JDK code just fine, so there's no "flag day". Here for reference is the JDK code: http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.04/ (This JDK change does not yet discard hardwired bytecode adapter classes like ToGeneric and FromGeneric, but that will be done also before integration, assuming the platforms are ready for this.) Known missing parts, which cause temporary performance reductions: - methodHandleWalk support to decode the new adapters - port to platforms other than x86 - removing obsolete JDK code, to use the new mechanism Known problems: - x86/64 fails some JSR 292 test cases (might be fixed for integration) Known working parts: - x86/32 (passes all unit tests) - GC, stack walking, exception throwing (tested with stress tests) - boxing of primitive arguments (the simplest case; requires a recursion to the GC) - filtering, collecting, folding of arguments by user functions and primitives (boxing, varargs collection) - arbitrary mixes of primitive and/or reference arguments and return types From christian.thalinger at oracle.com Thu May 5 04:24:19 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 5 May 2011 13:24:19 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters Message-ID: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> http://cr.openjdk.java.net/~twisti/7042122/ 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters Reviewed-by: The default inline thresholds for various JSR 292 API methods are too small avoiding the possibility to inline through a method handle chain. Currently it is required to tweak some command line options to get decent performance. The tweaking should go away. The change also renames two methods to follow our conventions and changed the output of discounting method handle adapters from inlining level. src/share/vm/opto/bytecodeInfo.cpp src/share/vm/opto/parse.hpp From vladimir.kozlov at oracle.com Thu May 5 05:08:09 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Thu, 05 May 2011 12:08:09 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7042070: Typo in Test6796786.java Message-ID: <20110505120814.1690A472BF@hg.openjdk.java.net> Changeset: 37e4df3c8952 Author: kvn Date: 2011-05-04 22:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/37e4df3c8952 7042070: Typo in Test6796786.java Summary: The test should compare with -0.0f. Reviewed-by: never, iveresov ! test/compiler/6796786/Test6796786.java From vladimir.kozlov at oracle.com Thu May 5 09:56:57 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 May 2011 09:56:57 -0700 Subject: Reviewer needed - new regression test to check issues #6196102 and #5091921 In-Reply-To: <4DC2BFC2.7050307@redhat.com> References: <4DC2BFC2.7050307@redhat.com> Message-ID: <4DC2D6D9.9080706@oracle.com> Pavel, First, you are on wrong mail alias. Loop optimization is JIT compiler's issue: hotspot-compiler-dev at openjdk.java.net Second, I already responded to you last time (2 months ago) when you asked for the same changes. We don't push separate regression tests without corresponding fix. Third, if you sent this request again because you noticed that 5091921 is fixed then you should look on what was pushed and see that the test from 6196102 was also pushed: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/file/37e4df3c8952/test/compiler/5091921/Test6196102.java Regards, Vladimir Pavel Tisnovsky wrote: > Hi all, > > I'd like to add new (quite simple) regression test which checks issues > #6196102 and #5091921 to OpenJDK7 and probably backport it to OpenJDK6 too. > > Webrew containing this change is available at: > http://cr.openjdk.java.net/~ptisnovs/jtreg-6196102/ > > Can anybody please review it? > > Thank you in advance, > Pavel Tisnovsky From vladimir.kozlov at oracle.com Thu May 5 10:22:59 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 May 2011 10:22:59 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> Message-ID: <4DC2DCF3.5090300@oracle.com> Christian, your comments does not explain why you need such particular sizes. Where "*3" and "/2" come from? Also I think you should use one 'if' instead of 2 cmoves: + int default_max_inline_size = C->max_inline_size(); + int inline_small_code_size = InlineSmallCode / 4; + if (callee_holder->is_in_package("java/lang/invoke") || + callee_holder->is_in_package("sun/invoke") || + caller_method->is_method_handle_adapter()) { + // adjust default thresholds + default_max_inline_size *= 3; + inline_small_code_size *= 2; + } + int max_inline_size = default_max_inline_size; Vladimir Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/7042122/ > > 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters > Reviewed-by: > > The default inline thresholds for various JSR 292 API methods are too > small avoiding the possibility to inline through a method handle > chain. Currently it is required to tweak some command line options to > get decent performance. The tweaking should go away. > > The change also renames two methods to follow our conventions and > changed the output of discounting method handle adapters from inlining > level. > > src/share/vm/opto/bytecodeInfo.cpp > src/share/vm/opto/parse.hpp > From christian.thalinger at oracle.com Thu May 5 10:40:38 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 5 May 2011 19:40:38 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <4DC2DCF3.5090300@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> Message-ID: On May 5, 2011, at 7:22 PM, Vladimir Kozlov wrote: > Christian, > > your comments does not explain why you need such particular sizes. Where "*3" and "/2" come from? Right, I forgot to mention that. These are empirically evaluated numbers and work good with JRuby which uses a couple of very common patterns. I assume we have to tweak the numbers again in the future when we have more users of the code. > Also I think you should use one 'if' instead of 2 cmoves: > > + int default_max_inline_size = C->max_inline_size(); > + int inline_small_code_size = InlineSmallCode / 4; > + if (callee_holder->is_in_package("java/lang/invoke") || > + callee_holder->is_in_package("sun/invoke") || > + caller_method->is_method_handle_adapter()) { > + // adjust default thresholds > + default_max_inline_size *= 3; > + inline_small_code_size *= 2; > + } > + int max_inline_size = default_max_inline_size; I will change that. -- Christian > > Vladimir > > Christian Thalinger wrote: >> http://cr.openjdk.java.net/~twisti/7042122/ >> 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters >> Reviewed-by: >> The default inline thresholds for various JSR 292 API methods are too >> small avoiding the possibility to inline through a method handle >> chain. Currently it is required to tweak some command line options to >> get decent performance. The tweaking should go away. >> The change also renames two methods to follow our conventions and >> changed the output of discounting method handle adapters from inlining >> level. >> src/share/vm/opto/bytecodeInfo.cpp >> src/share/vm/opto/parse.hpp From john.r.rose at oracle.com Thu May 5 11:57:34 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 5 May 2011 11:57:34 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> Message-ID: <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> On May 5, 2011, at 10:40 AM, Christian Thalinger wrote: > These are empirically evaluated numbers and work good with JRuby which uses a couple of very common patterns. I assume we have to tweak the numbers again in the future when we have more users of the code. Consider making them parameters, then. Percentages, since they are ratios. -- John From tom.rodriguez at oracle.com Thu May 5 12:11:08 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 12:11:08 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> Message-ID: <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> On May 5, 2011, at 11:57 AM, John Rose wrote: > On May 5, 2011, at 10:40 AM, Christian Thalinger wrote: > >> These are empirically evaluated numbers and work good with JRuby which uses a couple of very common patterns. I assume we have to tweak the numbers again in the future when we have more users of the code. > > Consider making them parameters, then. Percentages, since they are ratios. -- John I'm not sure we want to enshrine these just yet, do we? These settings will affect all code that's in java/lang/invoke, not just method handle call chains. I would expect that some policy that takes into account the calling chain would do better than just tweaking the inline size and small code values. tom From john.r.rose at oracle.com Thu May 5 12:35:59 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 5 May 2011 12:35:59 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> Message-ID: <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> On May 5, 2011, at 12:11 PM, Tom Rodriguez wrote: > I'm not sure we want to enshrine these just yet, do we? We know we want more aggressive inlining along deep linear MH chains. (They don't look like bytecodes.) But we need a knob to tune. I think we should have at least one non-specific number like -XX:MethodHandleInlineFactor=50 . Or is there a better way to do it? > These settings will affect all code that's in java/lang/invoke, not just method handle call chains. I would expect that some policy that takes into account the calling chain would do better than just tweaking the inline size and small code values. You are right, and a better policy would want to take into account named factors such as the above, for tuning experiments. Christian, would your change work if the inlining changes were restricted to calls nested within a MH.invoke*? That would probably address the issue Tom raised about effects on code in j/l/i other than MH call chains. -- John From christian.thalinger at oracle.com Thu May 5 12:53:38 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 5 May 2011 21:53:38 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> Message-ID: On May 5, 2011, at 9:35 PM, John Rose wrote: > On May 5, 2011, at 12:11 PM, Tom Rodriguez wrote: > >> I'm not sure we want to enshrine these just yet, do we? > > We know we want more aggressive inlining along deep linear MH chains. (They don't look like bytecodes.) But we need a knob to tune. I think we should have at least one non-specific number like -XX:MethodHandleInlineFactor=50 . Or is there a better way to do it? > >> These settings will affect all code that's in java/lang/invoke, not just method handle call chains. I would expect that some policy that takes into account the calling chain would do better than just tweaking the inline size and small code values. > > You are right, and a better policy would want to take into account named factors such as the above, for tuning experiments. > > Christian, would your change work if the inlining changes were restricted to calls nested within a MH.invoke*? That would probably address the issue Tom raised about effects on code in j/l/i other than MH call chains. I guess that would work. I will check on that tomorrow. The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). Tom, do you have a better idea how we could handle that? -- Christian From tom.rodriguez at oracle.com Thu May 5 12:58:12 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 12:58:12 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> Message-ID: <575FF292-83E0-402A-892E-ED86D597B96C@oracle.com> On May 5, 2011, at 12:35 PM, John Rose wrote: > On May 5, 2011, at 12:11 PM, Tom Rodriguez wrote: > >> I'm not sure we want to enshrine these just yet, do we? > > We know we want more aggressive inlining along deep linear MH chains. (They don't look like bytecodes.) But we need a knob to tune. I think we should have at least one non-specific number like -XX:MethodHandleInlineFactor=50 . Or is there a better way to do it? Adding factors onto existing knobs seems dubious to me. Iit would be fine transitionally but it's almost impossible to reason about since it applies so broadly. I think the broadness also may limit it's effectiveness since the more you turn it up the more likely you will bad effects as well as good effects. > >> These settings will affect all code that's in java/lang/invoke, not just method handle call chains. I would expect that some policy that takes into account the calling chain would do better than just tweaking the inline size and small code values. > > You are right, and a better policy would want to take into account named factors such as the above, for tuning experiments. > > Christian, would your change work if the inlining changes were restricted to calls nested within a MH.invoke*? That would probably address the issue Tom raised about effects on code in j/l/i other than MH call chains. I think as a short term fix Christians change is fine, particularly since it's apparently the result of some actual testing. But it was done based on tweaking existing knobs because that's all there is. I'd rather see some more directed thinking about how this should work in the next release. tom > > -- John From tom.rodriguez at oracle.com Thu May 5 13:00:13 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 13:00:13 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> Message-ID: <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> On May 5, 2011, at 12:53 PM, Christian Thalinger wrote: > On May 5, 2011, at 9:35 PM, John Rose wrote: >> On May 5, 2011, at 12:11 PM, Tom Rodriguez wrote: >> >>> I'm not sure we want to enshrine these just yet, do we? >> >> We know we want more aggressive inlining along deep linear MH chains. (They don't look like bytecodes.) But we need a knob to tune. I think we should have at least one non-specific number like -XX:MethodHandleInlineFactor=50 . Or is there a better way to do it? >> >>> These settings will affect all code that's in java/lang/invoke, not just method handle call chains. I would expect that some policy that takes into account the calling chain would do better than just tweaking the inline size and small code values. >> >> You are right, and a better policy would want to take into account named factors such as the above, for tuning experiments. >> >> Christian, would your change work if the inlining changes were restricted to calls nested within a MH.invoke*? That would probably address the issue Tom raised about effects on code in j/l/i other than MH call chains. > > I guess that would work. I will check on that tomorrow. > > The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). > > Tom, do you have a better idea how we could handle that? Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. tom > > -- Christian From headius at headius.com Thu May 5 13:19:05 2011 From: headius at headius.com (Charles Oliver Nutter) Date: Thu, 5 May 2011 15:19:05 -0500 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> Message-ID: <3997E1BA-1AE8-4A50-B31A-FAE0BD644B23@headius.com> FWIW I hope to be able to spend more time on JRuby perf analysis with larger benchmarks and more asm inspection this coming week, in prep for turning Indy on full-time soon. If there are other flags I should try playing with other than MaxInlineSize and InlineSmallCode I'd be happy to iterate over them to provide more empirical data. With the tweaks Christian suggested, more and more code is running faster under indy than using our existing IC, which is great. I need to add code to JRuby for other forms of Ruby invocations to get a more holistic picture, but I'm very pleased with the results so far. - Charlie (mobile) On May 5, 2011, at 15:00, Tom Rodriguez wrote: > > On May 5, 2011, at 12:53 PM, Christian Thalinger wrote: > >> On May 5, 2011, at 9:35 PM, John Rose wrote: >>> On May 5, 2011, at 12:11 PM, Tom Rodriguez wrote: >>> >>>> I'm not sure we want to enshrine these just yet, do we? >>> >>> We know we want more aggressive inlining along deep linear MH chains. (They don't look like bytecodes.) But we need a knob to tune. I think we should have at least one non-specific number like -XX:MethodHandleInlineFactor=50 . Or is there a better way to do it? >>> >>>> These settings will affect all code that's in java/lang/invoke, not just method handle call chains. I would expect that some policy that takes into account the calling chain would do better than just tweaking the inline size and small code values. >>> >>> You are right, and a better policy would want to take into account named factors such as the above, for tuning experiments. >>> >>> Christian, would your change work if the inlining changes were restricted to calls nested within a MH.invoke*? That would probably address the issue Tom raised about effects on code in j/l/i other than MH call chains. >> >> I guess that would work. I will check on that tomorrow. >> >> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >> >> Tom, do you have a better idea how we could handle that? > > Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. > > tom > >> >> -- Christian > From tom.rodriguez at oracle.com Thu May 5 13:29:12 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 13:29:12 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> Message-ID: >> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >> >> Tom, do you have a better idea how we could handle that? > > Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. I do have one concrete thought about this but it would require some investigation. The method handle chains themselves aren't profiled but presumably the base call site is. Maybe we should be looking back through method handle calls to find the frequency of the base call site and feeding that into the frequent call site logic. tom > > tom > >> >> -- Christian > From dmdabbs at gmail.com Thu May 5 15:54:28 2011 From: dmdabbs at gmail.com (David Dabbs) Date: Thu, 5 May 2011 17:54:28 -0500 Subject: -XX:+UseCondCardMarks Message-ID: <00f801cc0b77$647a1d40$2d6e57c0$@com> Hello. I just read the RFE details (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167) for the newly-added hotspot flag, -XX:+UseCondCardMarks. Is this relevant only for large MP machines such as the "4-socket system where each socket contains a Niagara T2+ UltraSPARC processor having 64 logical processors" referenced in the writeup? The switch is marked product() and not experimental, so I'll give it a try on some workloads. Just wondering if there's some benchmark or test case that is known to perform better (on MP hardware) with the flag enabled. Many thanks, David From vladimir.kozlov at oracle.com Thu May 5 16:03:57 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 May 2011 16:03:57 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) Message-ID: <4DC32CDD.7050001@oracle.com> http://cr.openjdk.java.net/~kvn/7042327/webrev Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) New loop unrolling code calculate new_limit = limit-stride. If limit is trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. I also removed code which creates dead loops since limit is input to new_limit. Tested with failed case and CTW. From tom.rodriguez at oracle.com Thu May 5 17:01:00 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 17:01:00 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: <4DC32CDD.7050001@oracle.com> References: <4DC32CDD.7050001@oracle.com> Message-ID: It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? tom On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7042327/webrev > > Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) > > New loop unrolling code calculate new_limit = limit-stride. If limit is > trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. > reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. > > Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. > I also removed code which creates dead loops since limit is input to new_limit. > > Tested with failed case and CTW. From tom.rodriguez at oracle.com Thu May 5 17:04:20 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 17:04:20 -0700 Subject: -XX:+UseCondCardMarks In-Reply-To: <00f801cc0b77$647a1d40$2d6e57c0$@com> References: <00f801cc0b77$647a1d40$2d6e57c0$@com> Message-ID: It's mainly targeted at apps that are heavy users of the concurrency APIs on machines with multiple sockets. On a single socket machine the overhead isn't very great and if you don't have much concurrency then the overhead of the conditional check will swamp any benefit you might get. The description in the bug report actually came from http://blogs.sun.com/dave/entry/false_sharing_induced_by_card. I believe there were specific workloads where there were benefits but I don't think it's any standard benchmark. Doug Lea was the primary requestor of this feature because of scalability problem he had seen. tom On May 5, 2011, at 3:54 PM, David Dabbs wrote: > Hello. > > I just read the RFE details > (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7029167) > for the newly-added hotspot flag, -XX:+UseCondCardMarks. > > Is this relevant only for large MP machines such as the > "4-socket system where each socket contains a Niagara T2+ UltraSPARC > processor having 64 logical processors" > referenced in the writeup? The switch is marked product() and not > experimental, so I'll give it a > try on some workloads. Just wondering if there's some benchmark or test case > that is known to perform > better (on MP hardware) with the flag enabled. > > > Many thanks, > > David > > From vladimir.kozlov at oracle.com Thu May 5 17:30:12 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 May 2011 17:30:12 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: References: <4DC32CDD.7050001@oracle.com> Message-ID: <4DC34114.6060400@oracle.com> Thank you, Tom Thinking about what you said and, yes, such situation could happen. To be safe I need always put Opaque2 for limit for unrolled loop. I updated webrev. Thanks, Vladimir Tom Rodriguez wrote: > It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? > > tom > > On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7042327/webrev >> >> Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) >> >> New loop unrolling code calculate new_limit = limit-stride. If limit is >> trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. >> reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. >> >> Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. >> I also removed code which creates dead loops since limit is input to new_limit. >> >> Tested with failed case and CTW. > From tom.rodriguez at oracle.com Thu May 5 17:57:08 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 17:57:08 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: <4DC34114.6060400@oracle.com> References: <4DC32CDD.7050001@oracle.com> <4DC34114.6060400@oracle.com> Message-ID: Looks good. tom On May 5, 2011, at 5:30 PM, Vladimir Kozlov wrote: > Thank you, Tom > > Thinking about what you said and, yes, such situation could happen. To be safe I need always put Opaque2 for limit for unrolled loop. I updated webrev. > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? >> tom >> On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/7042327/webrev >>> >>> Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) >>> >>> New loop unrolling code calculate new_limit = limit-stride. If limit is >>> trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. >>> reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. >>> >>> Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. >>> I also removed code which creates dead loops since limit is input to new_limit. >>> >>> Tested with failed case and CTW. From vladimir.kozlov at oracle.com Thu May 5 19:10:10 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 May 2011 19:10:10 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: References: <4DC32CDD.7050001@oracle.com> <4DC34114.6060400@oracle.com> Message-ID: <4DC35882.8080603@oracle.com> Thank you, Tom I ran into small problem with last fix during Match because one IfNode has Con as condition but was not optimized out. I added the missing push to IGVN worklist in adjust_check() and updated webrev. It happened because Opaque2 node I added prevented constant propagation early. So I want to add Identity() to Opaque2 node but would like to get your opinion before I do this. Opaque2 node was originally (before this fix) used only for guarding loop's trip-counter. But with my change the limit expression could be transformed into constant or final value of trip-count could be transformed to constant if loop was empty. So I think it is safe to do this Identity transformation since it is not trip-count any more. What do you think? +Node *Opaque2Node::Identity( PhaseTransform *phase ) { + return (in(1)->is_Con()) ? in(1) : this; +} Thanks, Vladimir Tom Rodriguez wrote: > Looks good. > > tom > > On May 5, 2011, at 5:30 PM, Vladimir Kozlov wrote: > >> Thank you, Tom >> >> Thinking about what you said and, yes, such situation could happen. To be safe I need always put Opaque2 for limit for unrolled loop. I updated webrev. >> >> Thanks, >> Vladimir >> >> Tom Rodriguez wrote: >>> It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? >>> tom >>> On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: >>>> http://cr.openjdk.java.net/~kvn/7042327/webrev >>>> >>>> Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) >>>> >>>> New loop unrolling code calculate new_limit = limit-stride. If limit is >>>> trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. >>>> reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. >>>> >>>> Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. >>>> I also removed code which creates dead loops since limit is input to new_limit. >>>> >>>> Tested with failed case and CTW. > From tom.rodriguez at oracle.com Thu May 5 20:38:36 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 20:38:36 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: <4DC35882.8080603@oracle.com> References: <4DC32CDD.7050001@oracle.com> <4DC34114.6060400@oracle.com> <4DC35882.8080603@oracle.com> Message-ID: <0BAB6C94-F0C0-4355-B1B6-BA9FCCE1F5B2@oracle.com> On May 5, 2011, at 7:10 PM, Vladimir Kozlov wrote: > Thank you, Tom > > I ran into small problem with last fix during Match because one IfNode has Con as condition but was not optimized out. I added the missing push to IGVN worklist in adjust_check() and updated webrev. It happened because Opaque2 node I added prevented constant propagation early. So I want to add Identity() to Opaque2 node but would like to get your opinion before I do this. Opaque2 node was originally (before this fix) used only for guarding loop's trip-counter. But with my change the limit expression could be transformed into constant or final value of trip-count could be transformed to constant if loop was empty. So I think it is safe to do this Identity transformation since it is not trip-count any more. What do you think? > > +Node *Opaque2Node::Identity( PhaseTransform *phase ) { > + return (in(1)->is_Con()) ? in(1) : this; > +} I'm not totally sure about this. I thought the purpose of Opaque node was to be opaque, so performing optimizations on them seems questionable. Do you need to do it for your fix? I'd be leery of pushing that without some nightly testing unless you are very sure of it. The other change seems fine. tom > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> Looks good. >> tom >> On May 5, 2011, at 5:30 PM, Vladimir Kozlov wrote: >>> Thank you, Tom >>> >>> Thinking about what you said and, yes, such situation could happen. To be safe I need always put Opaque2 for limit for unrolled loop. I updated webrev. >>> >>> Thanks, >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? >>>> tom >>>> On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: >>>>> http://cr.openjdk.java.net/~kvn/7042327/webrev >>>>> >>>>> Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) >>>>> >>>>> New loop unrolling code calculate new_limit = limit-stride. If limit is >>>>> trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. >>>>> reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. >>>>> >>>>> Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. >>>>> I also removed code which creates dead loops since limit is input to new_limit. >>>>> >>>>> Tested with failed case and CTW. From john.coomes at oracle.com Thu May 5 20:39:21 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 06 May 2011 03:39:21 +0000 Subject: hg: jdk7/hotspot-comp: 3 new changesets Message-ID: <20110506033921.E4B60472F8@hg.openjdk.java.net> Changeset: 13db01f974ce Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/13db01f974ce Added tag jdk7-b140 for changeset dcfe74f1c655 ! .hgtags Changeset: c6569c558585 Author: schien Date: 2011-05-02 09:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/c6569c558585 Merge Changeset: cfbbdb77eac0 Author: schien Date: 2011-05-05 14:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/cfbbdb77eac0 Added tag jdk7-b141 for changeset c6569c558585 ! .hgtags From john.coomes at oracle.com Thu May 5 20:39:29 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 06 May 2011 03:39:29 +0000 Subject: hg: jdk7/hotspot-comp/corba: 3 new changesets Message-ID: <20110506033934.045A2472F9@hg.openjdk.java.net> Changeset: befd1fce6339 Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/befd1fce6339 Added tag jdk7-b140 for changeset cdf5d19ec142 ! .hgtags Changeset: a58635cdd921 Author: schien Date: 2011-05-02 09:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/a58635cdd921 Merge Changeset: b05755e2234d Author: schien Date: 2011-05-05 14:01 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/b05755e2234d Added tag jdk7-b141 for changeset a58635cdd921 ! .hgtags From john.coomes at oracle.com Thu May 5 20:39:41 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 06 May 2011 03:39:41 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: 3 new changesets Message-ID: <20110506033941.370D1472FA@hg.openjdk.java.net> Changeset: 2d68646d98ba Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/2d68646d98ba Added tag jdk7-b140 for changeset c8136fd161c8 ! .hgtags Changeset: e1b5ef243445 Author: schien Date: 2011-05-02 09:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/e1b5ef243445 Merge Changeset: 84e487d88c97 Author: schien Date: 2011-05-05 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/84e487d88c97 Added tag jdk7-b141 for changeset e1b5ef243445 ! .hgtags From john.coomes at oracle.com Thu May 5 20:39:48 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 06 May 2011 03:39:48 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: 3 new changesets Message-ID: <20110506033948.1C7AC472FB@hg.openjdk.java.net> Changeset: e3c53d486eec Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/e3c53d486eec Added tag jdk7-b140 for changeset 82a9022c4f21 ! .hgtags Changeset: 66826b0aec5a Author: schien Date: 2011-05-02 09:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/66826b0aec5a Merge Changeset: 0ef3ef823c39 Author: schien Date: 2011-05-05 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/0ef3ef823c39 Added tag jdk7-b141 for changeset 66826b0aec5a ! .hgtags From john.coomes at oracle.com Thu May 5 20:40:31 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 06 May 2011 03:40:31 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 14 new changesets Message-ID: <20110506034315.4652B472FD@hg.openjdk.java.net> Changeset: 7acc942d7dcc Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7acc942d7dcc Added tag jdk7-b140 for changeset 9315c733fb17 ! .hgtags Changeset: 33a139b2a85e Author: schien Date: 2011-05-02 09:37 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/33a139b2a85e Merge Changeset: d89cf1b45b88 Author: igor Date: 2011-05-01 09:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d89cf1b45b88 7040803: regression: bugster fail to start Reviewed-by: mullan, weijun, ngthomas ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JarInputStream.java ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/sun/security/pkcs/PKCS7.java ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java - src/share/classes/sun/security/util/SignatureFileManifest.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java ! test/java/util/jar/JarInputStream/ScanSignedJar.java ! test/java/util/jar/JarInputStream/TestIndexedJarWithBadSignature.java Changeset: 9caec666c577 Author: igor Date: 2011-05-03 15:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9caec666c577 Merge Changeset: 1c31b35e9408 Author: ogino Date: 2011-04-26 21:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1c31b35e9408 7036955: Japanese man pages in linux should be in utf-8 encoding Reviewed-by: ohair, mfang ! make/common/Defs-linux.gmk ! make/common/Release.gmk Changeset: 00e485efd9e0 Author: mfang Date: 2011-04-27 23:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/00e485efd9e0 6501385: ColorChooser demo - two elemets have same mnemonic in it locale, GTK L&F Reviewed-by: yhuang ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties Changeset: 4fcbaf9fb837 Author: mfang Date: 2011-04-27 23:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4fcbaf9fb837 7038803: [CCJK] Incorrect mnemonic key (0) is displayed on cancel button on messagedialog of JOptionPane Reviewed-by: yhuang ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Changeset: 4b197be687dc Author: mfang Date: 2011-04-27 23:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4b197be687dc Merge Changeset: fddcc29ed8f8 Author: mfang Date: 2011-04-28 14:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fddcc29ed8f8 Merge ! make/common/Defs-linux.gmk ! make/common/Release.gmk - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java - src/share/native/sun/font/layout/Features.h - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: 5f0455522852 Author: mfang Date: 2011-04-28 20:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5f0455522852 7040228: [zh_TW] extra (C) on cancel button on File Chooser dialog Reviewed-by: yhuang ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Changeset: a604668a7a64 Author: mfang Date: 2011-04-28 21:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a604668a7a64 7040257: [pt_BR,fr] Print dialog has duplicate mnemonic key. Reviewed-by: psun ! src/share/classes/sun/print/resources/serviceui_fr.properties ! src/share/classes/sun/print/resources/serviceui_pt_BR.properties Changeset: 5b7d35a6e1b3 Author: mfang Date: 2011-05-02 13:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5b7d35a6e1b3 Merge Changeset: 63eeefe118da Author: ohair Date: 2011-05-04 09:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/63eeefe118da Merge Changeset: 631c23c29000 Author: schien Date: 2011-05-05 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/631c23c29000 Added tag jdk7-b141 for changeset 63eeefe118da ! .hgtags From vladimir.kozlov at oracle.com Thu May 5 21:04:24 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 05 May 2011 21:04:24 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: <0BAB6C94-F0C0-4355-B1B6-BA9FCCE1F5B2@oracle.com> References: <4DC32CDD.7050001@oracle.com> <4DC34114.6060400@oracle.com> <4DC35882.8080603@oracle.com> <0BAB6C94-F0C0-4355-B1B6-BA9FCCE1F5B2@oracle.com> Message-ID: <4DC37348.2060904@oracle.com> I will push the fix without it since it is not needed. But having Opaque node on unrolled loop limit may prevent some loop optimizations which happened before this fix. So it is mostly performance issue, I think. So I will do it later with out performance work for loops. I am sure it safe :) Thanks, Vladimir Tom Rodriguez wrote: > On May 5, 2011, at 7:10 PM, Vladimir Kozlov wrote: > >> Thank you, Tom >> >> I ran into small problem with last fix during Match because one IfNode has Con as condition but was not optimized out. I added the missing push to IGVN worklist in adjust_check() and updated webrev. It happened because Opaque2 node I added prevented constant propagation early. So I want to add Identity() to Opaque2 node but would like to get your opinion before I do this. Opaque2 node was originally (before this fix) used only for guarding loop's trip-counter. But with my change the limit expression could be transformed into constant or final value of trip-count could be transformed to constant if loop was empty. So I think it is safe to do this Identity transformation since it is not trip-count any more. What do you think? >> >> +Node *Opaque2Node::Identity( PhaseTransform *phase ) { >> + return (in(1)->is_Con()) ? in(1) : this; >> +} > > I'm not totally sure about this. I thought the purpose of Opaque node was to be opaque, so performing optimizations on them seems questionable. Do you need to do it for your fix? I'd be leery of pushing that without some nightly testing unless you are very sure of it. The other change seems fine. > > tom > >> Thanks, >> Vladimir >> >> Tom Rodriguez wrote: >>> Looks good. >>> tom >>> On May 5, 2011, at 5:30 PM, Vladimir Kozlov wrote: >>>> Thank you, Tom >>>> >>>> Thinking about what you said and, yes, such situation could happen. To be safe I need always put Opaque2 for limit for unrolled loop. I updated webrev. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> Tom Rodriguez wrote: >>>>> It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? >>>>> tom >>>>> On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: >>>>>> http://cr.openjdk.java.net/~kvn/7042327/webrev >>>>>> >>>>>> Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) >>>>>> >>>>>> New loop unrolling code calculate new_limit = limit-stride. If limit is >>>>>> trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. >>>>>> reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. >>>>>> >>>>>> Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. >>>>>> I also removed code which creates dead loops since limit is input to new_limit. >>>>>> >>>>>> Tested with failed case and CTW. > From tom.rodriguez at oracle.com Thu May 5 21:24:07 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 5 May 2011 21:24:07 -0700 Subject: Request for reviews (S): 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) In-Reply-To: <4DC37348.2060904@oracle.com> References: <4DC32CDD.7050001@oracle.com> <4DC34114.6060400@oracle.com> <4DC35882.8080603@oracle.com> <0BAB6C94-F0C0-4355-B1B6-BA9FCCE1F5B2@oracle.com> <4DC37348.2060904@oracle.com> Message-ID: <0DBB1533-32A3-4313-AE1D-8566CF659778@oracle.com> Sounds good. tom On May 5, 2011, at 9:04 PM, Vladimir Kozlov wrote: > I will push the fix without it since it is not needed. But having Opaque node on unrolled loop limit may prevent some loop optimizations which happened before this fix. So it is mostly performance issue, I think. So I will do it later with out performance work for loops. I am sure it safe :) > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> On May 5, 2011, at 7:10 PM, Vladimir Kozlov wrote: >>> Thank you, Tom >>> >>> I ran into small problem with last fix during Match because one IfNode has Con as condition but was not optimized out. I added the missing push to IGVN worklist in adjust_check() and updated webrev. It happened because Opaque2 node I added prevented constant propagation early. So I want to add Identity() to Opaque2 node but would like to get your opinion before I do this. Opaque2 node was originally (before this fix) used only for guarding loop's trip-counter. But with my change the limit expression could be transformed into constant or final value of trip-count could be transformed to constant if loop was empty. So I think it is safe to do this Identity transformation since it is not trip-count any more. What do you think? >>> >>> +Node *Opaque2Node::Identity( PhaseTransform *phase ) { >>> + return (in(1)->is_Con()) ? in(1) : this; >>> +} >> I'm not totally sure about this. I thought the purpose of Opaque node was to be opaque, so performing optimizations on them seems questionable. Do you need to do it for your fix? I'd be leery of pushing that without some nightly testing unless you are very sure of it. The other change seems fine. >> tom >>> Thanks, >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> Looks good. >>>> tom >>>> On May 5, 2011, at 5:30 PM, Vladimir Kozlov wrote: >>>>> Thank you, Tom >>>>> >>>>> Thinking about what you said and, yes, such situation could happen. To be safe I need always put Opaque2 for limit for unrolled loop. I updated webrev. >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> Tom Rodriguez wrote: >>>>>> It seems ok. Can't this situation occur as a result of other optimizations? If limit is behind by some expressions that later gets optimized away it seems like the same configuration could happen. Or isn't that possible? >>>>>> tom >>>>>> On May 5, 2011, at 4:03 PM, Vladimir Kozlov wrote: >>>>>>> http://cr.openjdk.java.net/~kvn/7042327/webrev >>>>>>> >>>>>>> Fixed 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) >>>>>>> >>>>>>> New loop unrolling code calculate new_limit = limit-stride. If limit is >>>>>>> trip-counter (phi+stride) with the same stride from a previous loop then new_limit will be optimized to pre-incremented value: new_limit = phi. >>>>>>> reorg_offsets() optimization will create a separate Opaque2 node for each use of trip-counter (phi) and as result zero trip guard limit will be different from loop limit and it causes the assert to fail. >>>>>>> >>>>>>> Separate limit by Opaque2 node when calculating new limit for unroll if limit is an incremented variable from previous loop to avoid using pre-incremented value and reduce register pressure. >>>>>>> I also removed code which creates dead loops since limit is input to new_limit. >>>>>>> >>>>>>> Tested with failed case and CTW. From igor.veresov at oracle.com Thu May 5 22:46:39 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 05 May 2011 22:46:39 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp Message-ID: <4DC38B3F.1000505@oracle.com> In C1, during IfOp elimination we can try to fold and IfOp that has constant objects as an arguments to the condition that are unloaded (not known at compile time) and are going to be patched later. The solution is to check for such cases in make_ifop(). Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ Tested with a short testcase, which I added to the regression suite. Thanks, igor From vladimir.kozlov at oracle.com Thu May 5 23:18:34 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 06 May 2011 06:18:34 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) Message-ID: <20110506061838.C0A9A4730B@hg.openjdk.java.net> Changeset: f879eafd5835 Author: kvn Date: 2011-05-05 21:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f879eafd5835 7042327: assert(opaq->outcnt() == 1 && opaq->in(1) == limit) Summary: Separate limit by Opaque2 node when calculating new limit for unrolled loop. Reviewed-by: never ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/loopTransform.cpp From christian.thalinger at oracle.com Thu May 5 23:58:08 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 6 May 2011 08:58:08 +0200 Subject: review request (L): 6939861: JVM should handle more conversion operations In-Reply-To: References: Message-ID: <5FE71249-99EA-479D-AA62-3E38451B2706@oracle.com> On May 5, 2011, at 1:16 PM, John Rose wrote: > I have finished the last large chunk of JVM work for JDK 7 JSR 292, the implementation of so-called "ricochet frames". Here it is for review: > > 6939861: JVM should handle more conversion operations > http://cr.openjdk.java.net/~jrose/6939861/webrev.04/ src/share/vm/code/codeBlob.cpp: In DeoptimizationBlob::create you call trace_new_stub but the code that code factored out is still there. src/cpu/x86/vm/methodHandles_x86.cpp: + // This opens space space for the return value. One space too much. + __ mov(saved_last_sp, rsp); // set rsi/r13 for calleee One e too much. All new header files have the wrong (Sun) copyright header. -- Christian From john.r.rose at oracle.com Fri May 6 00:27:28 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 6 May 2011 00:27:28 -0700 Subject: review request (L): 6939861: JVM should handle more conversion operations In-Reply-To: <5FE71249-99EA-479D-AA62-3E38451B2706@oracle.com> References: <5FE71249-99EA-479D-AA62-3E38451B2706@oracle.com> Message-ID: <4FCC3B72-FDA8-476C-9138-73931A7C9CF0@oracle.com> On May 5, 2011, at 11:58 PM, Christian Thalinger wrote: > On May 5, 2011, at 1:16 PM, John Rose wrote: >> I have finished the last large chunk of JVM work for JDK 7 JSR 292, the implementation of so-called "ricochet frames". Here it is for review: >> >> 6939861: JVM should handle more conversion operations >> http://cr.openjdk.java.net/~jrose/6939861/webrev.04/ > > src/share/vm/code/codeBlob.cpp: > > In DeoptimizationBlob::create you call trace_new_stub but the code that code factored out is still there. Thanks. > src/cpu/x86/vm/methodHandles_x86.cpp: > > + // This opens space space for the return value. > > One space too much. Fixed. > + __ mov(saved_last_sp, rsp); // set rsi/r13 for calleee > > One e too much. Fixed. > All new header files have the wrong (Sun) copyright header. I'm backing off from introducing new header files. The only new file is methodHandles_x86.hpp. See what you think. The idea is to allow each port to control its own individual future relative to this refactoring. The logic is toward the bottom of this diff: http://cr.openjdk.java.net/~jrose/6939861/webrev.05/src/share/vm/prims/methodHandles.hpp.udiff.html Also, this new webrev is relative to hotspot-comp, not bsd-port: http://cr.openjdk.java.net/~jrose/6939861/webrev.05 Thanks. I'm hoping we can put this in today, especially with the reduced dependency on port changes. -- John From christian.thalinger at oracle.com Fri May 6 00:31:04 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 6 May 2011 09:31:04 +0200 Subject: review request (L): 6939861: JVM should handle more conversion operations In-Reply-To: <4FCC3B72-FDA8-476C-9138-73931A7C9CF0@oracle.com> References: <5FE71249-99EA-479D-AA62-3E38451B2706@oracle.com> <4FCC3B72-FDA8-476C-9138-73931A7C9CF0@oracle.com> Message-ID: <63D0BE2A-719D-4967-B5C0-60CEDD88D6FD@oracle.com> On May 6, 2011, at 9:27 AM, John Rose wrote: >> All new header files have the wrong (Sun) copyright header. > > I'm backing off from introducing new header files. The only new file is methodHandles_x86.hpp. > > See what you think. The idea is to allow each port to control its own individual future relative to this refactoring. The logic is toward the bottom of this diff: > > http://cr.openjdk.java.net/~jrose/6939861/webrev.05/src/share/vm/prims/methodHandles.hpp.udiff.html > > Also, this new webrev is relative to hotspot-comp, not bsd-port: > > http://cr.openjdk.java.net/~jrose/6939861/webrev.05 > > Thanks. I'm hoping we can put this in today, especially with the reduced dependency on port changes. Yes, I'm very sure we can. I will review it right now and again do some test builds. Having this in will also make my porting work easier. -- Christian From gnu_andrew at member.fsf.org Fri May 6 04:51:08 2011 From: gnu_andrew at member.fsf.org (Dr Andrew John Hughes) Date: Fri, 6 May 2011 12:51:08 +0100 Subject: Reviewer needed - new regression test to check issues #6196102 and #5091921 In-Reply-To: <4DC2D6D9.9080706@oracle.com> References: <4DC2BFC2.7050307@redhat.com> <4DC2D6D9.9080706@oracle.com> Message-ID: On 5 May 2011 17:56, Vladimir Kozlov wrote: > Pavel, > > First, you are on wrong mail alias. Loop optimization is JIT compiler's > issue: > > hotspot-compiler-dev at openjdk.java.net > While you are right in your other comments, you can't really expect external contributors to know which of the multitude of HotSpot lists is the right one to post to. It baffles me why you don't just use hotspot-dev and have done with. -- Andrew :-) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D ?0698 0713 C3ED F586 2A37 From christian.thalinger at oracle.com Fri May 6 06:49:39 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 6 May 2011 15:49:39 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> Message-ID: <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> On May 5, 2011, at 10:29 PM, Tom Rodriguez wrote: >>> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >>> >>> Tom, do you have a better idea how we could handle that? >> >> Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. > > I do have one concrete thought about this but it would require some investigation. The method handle chains themselves aren't profiled but presumably the base call site is. Maybe we should be looking back through method handle calls to find the frequency of the base call site and feeding that into the frequent call site logic. Yeah, I suppose that's how it should work. What about this? http://cr.openjdk.java.net/~twisti/7042122/ I get the same performance but without any tweaking of any inline thresholds. -- Christian From ptisnovs at redhat.com Fri May 6 02:44:00 2011 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 06 May 2011 11:44:00 +0200 Subject: Reviewer needed - new regression test to check issues #6196102 and #5091921 In-Reply-To: <4DC2D6D9.9080706@oracle.com> References: <4DC2BFC2.7050307@redhat.com> <4DC2D6D9.9080706@oracle.com> Message-ID: <4DC3C2E0.5070600@redhat.com> Vladimir Kozlov wrote: > Pavel, > > First, you are on wrong mail alias. Loop optimization is JIT compiler's > issue: > > hotspot-compiler-dev at openjdk.java.net > > Second, I already responded to you last time (2 months ago) when you > asked for the same changes. We don't push separate regression tests > without corresponding fix. > > Third, if you sent this request again because you noticed that 5091921 > is fixed then you should look on what was pushed and see that the test > from 6196102 was also pushed: Hi Vladimir, yes, that's the reason I resend this request, unfortunately I missed that the new test is already pushed. Thank you for pointing me out to this change. Is there any chance that this change will be backported into OpenJDK6? Cheers, Pavel > > http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/file/37e4df3c8952/test/compiler/5091921/Test6196102.java > > > Regards, > Vladimir > > Pavel Tisnovsky wrote: >> Hi all, >> >> I'd like to add new (quite simple) regression test which checks issues >> #6196102 and #5091921 to OpenJDK7 and probably backport it to OpenJDK6 >> too. >> >> Webrew containing this change is available at: >> http://cr.openjdk.java.net/~ptisnovs/jtreg-6196102/ >> >> Can anybody please review it? >> >> Thank you in advance, >> Pavel Tisnovsky From vladimir.kozlov at oracle.com Fri May 6 08:30:23 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 06 May 2011 08:30:23 -0700 Subject: Reviewer needed - new regression test to check issues #6196102 and #5091921 In-Reply-To: <4DC3C2E0.5070600@redhat.com> References: <4DC2BFC2.7050307@redhat.com> <4DC2D6D9.9080706@oracle.com> <4DC3C2E0.5070600@redhat.com> Message-ID: <4DC4140F.7030404@oracle.com> Yes, eventually current VM with this fix and tests will go into one of jdk6 future update. But I don't know when it will happened. We are concentrated on jdk7 release now. Vladimir On 5/6/11 2:44 AM, Pavel Tisnovsky wrote: > Vladimir Kozlov wrote: >> Pavel, >> >> First, you are on wrong mail alias. Loop optimization is JIT compiler's >> issue: >> >> hotspot-compiler-dev at openjdk.java.net >> >> Second, I already responded to you last time (2 months ago) when you >> asked for the same changes. We don't push separate regression tests >> without corresponding fix. >> >> Third, if you sent this request again because you noticed that 5091921 >> is fixed then you should look on what was pushed and see that the test >> from 6196102 was also pushed: > > Hi Vladimir, > > yes, that's the reason I resend this request, unfortunately I missed > that the new test is already pushed. Thank you for pointing me out to > this change. > > Is there any chance that this change will be backported into OpenJDK6? > > Cheers, > Pavel > >> >> http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/file/37e4df3c8952/test/compiler/5091921/Test6196102.java >> >> >> Regards, >> Vladimir >> >> Pavel Tisnovsky wrote: >>> Hi all, >>> >>> I'd like to add new (quite simple) regression test which checks issues >>> #6196102 and #5091921 to OpenJDK7 and probably backport it to OpenJDK6 >>> too. >>> >>> Webrew containing this change is available at: >>> http://cr.openjdk.java.net/~ptisnovs/jtreg-6196102/ >>> >>> Can anybody please review it? >>> >>> Thank you in advance, >>> Pavel Tisnovsky > From vladimir.kozlov at oracle.com Fri May 6 08:32:47 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 06 May 2011 08:32:47 -0700 Subject: Reviewer needed - new regression test to check issues #6196102 and #5091921 In-Reply-To: References: <4DC2BFC2.7050307@redhat.com> <4DC2D6D9.9080706@oracle.com> Message-ID: <4DC4149F.6090506@oracle.com> Yes, hotspot-dev is the best for external questions/comments. Vladimir On 5/6/11 4:51 AM, Dr Andrew John Hughes wrote: > On 5 May 2011 17:56, Vladimir Kozlov wrote: >> Pavel, >> >> First, you are on wrong mail alias. Loop optimization is JIT compiler's >> issue: >> >> hotspot-compiler-dev at openjdk.java.net >> > > While you are right in your other comments, you can't really expect > external contributors to know which of the multitude of HotSpot lists > is the right one to post to. It baffles me why you don't just use > hotspot-dev and have done with. From vladimir.kozlov at oracle.com Fri May 6 08:48:21 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 06 May 2011 08:48:21 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> Message-ID: <4DC41845.7000901@oracle.com> I don't see changing inline sizes for 292 methods. Do you not need it anymore? Also question, how many call sites mh adapter has? I thought adapter has only one call site. Then why generate MDO only to propagate counter for one call site? Vladimir On 5/6/11 6:49 AM, Christian Thalinger wrote: > On May 5, 2011, at 10:29 PM, Tom Rodriguez wrote: >>>> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >>>> >>>> Tom, do you have a better idea how we could handle that? >>> >>> Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. >> >> I do have one concrete thought about this but it would require some investigation. The method handle chains themselves aren't profiled but presumably the base call site is. Maybe we should be looking back through method handle calls to find the frequency of the base call site and feeding that into the frequent call site logic. > > Yeah, I suppose that's how it should work. What about this? > > http://cr.openjdk.java.net/~twisti/7042122/ > > I get the same performance but without any tweaking of any inline thresholds. > > -- Christian From forax at univ-mlv.fr Fri May 6 08:56:00 2011 From: forax at univ-mlv.fr (=?ISO-8859-1?Q?R=E9mi_Forax?=) Date: Fri, 06 May 2011 17:56:00 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> Message-ID: <4DC41A10.70002@univ-mlv.fr> On 05/06/2011 03:49 PM, Christian Thalinger wrote: > On May 5, 2011, at 10:29 PM, Tom Rodriguez wrote: >>>> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >>>> >>>> Tom, do you have a better idea how we could handle that? >>> Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. >> I do have one concrete thought about this but it would require some investigation. The method handle chains themselves aren't profiled but presumably the base call site is. Maybe we should be looking back through method handle calls to find the frequency of the base call site and feeding that into the frequent call site logic. > Yeah, I suppose that's how it should work. What about this? > > http://cr.openjdk.java.net/~twisti/7042122/ > > I get the same performance but without any tweaking of any inline thresholds. > > -- Christian I've just though that because there is no profiling info, a method handle constructed using findVirtual with a receiver that is not bound, by example if the receiver is taken as parameter, will never be de-virtualized. I wonder if a way to solve that is to generate the code with the profiling info like this is done if tiered compilation is enabled and then to re-optimize the callsite using mdo. R?mi From vladimir.kozlov at oracle.com Fri May 6 09:17:06 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 06 May 2011 09:17:06 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp In-Reply-To: <4DC38B3F.1000505@oracle.com> References: <4DC38B3F.1000505@oracle.com> Message-ID: <4DC41F02.9020804@oracle.com> Looks good to me. I would add a comment for changes in c1_Optimizer.cpp to explain why !can_trap() check is needed. Vladimir Igor Veresov wrote: > In C1, during IfOp elimination we can try to fold and IfOp that has > constant objects as an arguments to the condition that are unloaded (not > known at compile time) and are going to be patched later. > The solution is to check for such cases in make_ifop(). > > Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ > > Tested with a short testcase, which I added to the regression suite. > > Thanks, > igor From tom.rodriguez at oracle.com Fri May 6 09:37:03 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Fri, 6 May 2011 09:37:03 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp In-Reply-To: <4DC38B3F.1000505@oracle.com> References: <4DC38B3F.1000505@oracle.com> Message-ID: <21241BB2-1E13-4C10-BDE8-DA993B033C74@oracle.com> On May 5, 2011, at 10:46 PM, Igor Veresov wrote: > In C1, during IfOp elimination we can try to fold and IfOp that has constant objects as an arguments to the condition that are unloaded (not known at compile time) and are going to be patched later. > The solution is to check for such cases in make_ifop(). > > Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ > > Tested with a short testcase, which I added to the regression suite. I think instead of disallowing this case you can simply the optimization if not_comparable is returned. not_comparable is a valid return value so I don't think it should be an error to get is back from compare. tom > > Thanks, > igor From igor.veresov at oracle.com Fri May 6 11:05:10 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Fri, 06 May 2011 11:05:10 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp In-Reply-To: <21241BB2-1E13-4C10-BDE8-DA993B033C74@oracle.com> References: <4DC38B3F.1000505@oracle.com> <21241BB2-1E13-4C10-BDE8-DA993B033C74@oracle.com> Message-ID: <4DC43856.9010405@oracle.com> On 5/6/11 9:37 AM, Tom Rodriguez wrote: > > On May 5, 2011, at 10:46 PM, Igor Veresov wrote: > >> In C1, during IfOp elimination we can try to fold and IfOp that has constant objects as an arguments to the condition that are unloaded (not known at compile time) and are going to be patched later. >> The solution is to check for such cases in make_ifop(). >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ >> >> Tested with a short testcase, which I added to the regression suite. > > I think instead of disallowing this case you can simply the optimization if not_comparable is returned. not_comparable is a valid return value so I don't think it should be an error to get is back from compare. > Good point. Here's the new webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.01 Vladimir, I've also added comments. Thanks, igor From tom.rodriguez at oracle.com Fri May 6 11:11:09 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Fri, 6 May 2011 11:11:09 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp In-Reply-To: <4DC43856.9010405@oracle.com> References: <4DC38B3F.1000505@oracle.com> <21241BB2-1E13-4C10-BDE8-DA993B033C74@oracle.com> <4DC43856.9010405@oracle.com> Message-ID: <9FC6DD34-356F-4D16-B77C-94266509D151@oracle.com> Looks good. tom On May 6, 2011, at 11:05 AM, Igor Veresov wrote: > On 5/6/11 9:37 AM, Tom Rodriguez wrote: >> >> On May 5, 2011, at 10:46 PM, Igor Veresov wrote: >> >>> In C1, during IfOp elimination we can try to fold and IfOp that has constant objects as an arguments to the condition that are unloaded (not known at compile time) and are going to be patched later. >>> The solution is to check for such cases in make_ifop(). >>> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ >>> >>> Tested with a short testcase, which I added to the regression suite. >> >> I think instead of disallowing this case you can simply the optimization if not_comparable is returned. not_comparable is a valid return value so I don't think it should be an error to get is back from compare. >> > > Good point. > Here's the new webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.01 > > Vladimir, I've also added comments. > > Thanks, > igor From vladimir.kozlov at oracle.com Fri May 6 11:14:55 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 06 May 2011 11:14:55 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp In-Reply-To: <4DC43856.9010405@oracle.com> References: <4DC38B3F.1000505@oracle.com> <21241BB2-1E13-4C10-BDE8-DA993B033C74@oracle.com> <4DC43856.9010405@oracle.com> Message-ID: <4DC43A9F.9000202@oracle.com> Typo "it case" -> "in case" in both comments. Otherwise good. Vladimir Igor Veresov wrote: > On 5/6/11 9:37 AM, Tom Rodriguez wrote: >> >> On May 5, 2011, at 10:46 PM, Igor Veresov wrote: >> >>> In C1, during IfOp elimination we can try to fold and IfOp that has >>> constant objects as an arguments to the condition that are unloaded >>> (not known at compile time) and are going to be patched later. >>> The solution is to check for such cases in make_ifop(). >>> >>> Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ >>> >>> Tested with a short testcase, which I added to the regression suite. >> >> I think instead of disallowing this case you can simply the >> optimization if not_comparable is returned. not_comparable is a valid >> return value so I don't think it should be an error to get is back >> from compare. >> > > Good point. > Here's the new webrev: > http://cr.openjdk.java.net/~iveresov/7042153/webrev.01 > > Vladimir, I've also added comments. > > Thanks, > igor From igor.veresov at oracle.com Fri May 6 11:20:01 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Fri, 06 May 2011 11:20:01 -0700 Subject: review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp In-Reply-To: <4DC43A9F.9000202@oracle.com> References: <4DC38B3F.1000505@oracle.com> <21241BB2-1E13-4C10-BDE8-DA993B033C74@oracle.com> <4DC43856.9010405@oracle.com> <4DC43A9F.9000202@oracle.com> Message-ID: <4DC43BD1.5070506@oracle.com> Oh, right. Thanks Vladimir and Tom! igor On 5/6/11 11:14 AM, Vladimir Kozlov wrote: > Typo "it case" -> "in case" in both comments. Otherwise good. > > Vladimir > > Igor Veresov wrote: >> On 5/6/11 9:37 AM, Tom Rodriguez wrote: >>> >>> On May 5, 2011, at 10:46 PM, Igor Veresov wrote: >>> >>>> In C1, during IfOp elimination we can try to fold and IfOp that has >>>> constant objects as an arguments to the condition that are unloaded >>>> (not known at compile time) and are going to be patched later. >>>> The solution is to check for such cases in make_ifop(). >>>> >>>> Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ >>>> >>>> Tested with a short testcase, which I added to the regression suite. >>> >>> I think instead of disallowing this case you can simply the >>> optimization if not_comparable is returned. not_comparable is a valid >>> return value so I don't think it should be an error to get is back >>> from compare. >>> >> >> Good point. >> Here's the new webrev: >> http://cr.openjdk.java.net/~iveresov/7042153/webrev.01 >> >> Vladimir, I've also added comments. >> >> Thanks, >> igor From john.coomes at oracle.com Fri May 6 13:39:11 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 06 May 2011 20:39:11 +0000 Subject: hg: jdk7/hotspot-comp/langtools: 3 new changesets Message-ID: <20110506203922.20AD847342@hg.openjdk.java.net> Changeset: 2637cf09460b Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/2637cf09460b Added tag jdk7-b140 for changeset 258e6654aba2 ! .hgtags Changeset: 90adb5d6adc7 Author: schien Date: 2011-05-02 09:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/90adb5d6adc7 Merge Changeset: 4c41a371aaf4 Author: schien Date: 2011-05-05 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4c41a371aaf4 Added tag jdk7-b141 for changeset 90adb5d6adc7 ! .hgtags From christian.thalinger at oracle.com Fri May 6 14:09:02 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 6 May 2011 23:09:02 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <4DC41845.7000901@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> Message-ID: <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> On May 6, 2011, at 5:48 PM, Vladimir Kozlov wrote: > I don't see changing inline sizes for 292 methods. Do you not need it anymore? No, with that change it's not required anymore, which is good. > Also question, how many call sites mh adapter has? I thought adapter has only one call site. Then why generate MDO only to propagate counter for one call site? I has only one call site to the target, right, but I can have additional invokes to helpers, e.g.: 0 aload_3 1 checkcast 3 0 bci: 1 ReceiverTypeData count(82944) entries(0) 4 astore_3 5 aload_3 6 checkcast 4 24 bci: 6 ReceiverTypeData count(82944) entries(0) 9 astore_3 10 aload_3 11 invokevirtual 9 48 bci: 11 VirtualCallData count(82944) entries(0) 14 istore #4 16 aload_2 17 checkcast 10 72 bci: 17 ReceiverTypeData count(82944) entries(0) 20 astore_2 21 aload_2 22 checkcast 11 96 bci: 22 ReceiverTypeData count(82944) entries(0) 25 astore_2 26 aload_2 27 invokevirtual 16 120 bci: 27 VirtualCallData count(82944) entries(0) 30 istore #5 32 aload_1 33 iload #5 35 iload #4 37 invokespecial 21 144 bci: 37 CounterData count(82944) 40 ireturn I want them all to be inlined. -- Christian > > Vladimir > > On 5/6/11 6:49 AM, Christian Thalinger wrote: >> On May 5, 2011, at 10:29 PM, Tom Rodriguez wrote: >>>>> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >>>>> >>>>> Tom, do you have a better idea how we could handle that? >>>> >>>> Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. >>> >>> I do have one concrete thought about this but it would require some investigation. The method handle chains themselves aren't profiled but presumably the base call site is. Maybe we should be looking back through method handle calls to find the frequency of the base call site and feeding that into the frequent call site logic. >> >> Yeah, I suppose that's how it should work. What about this? >> >> http://cr.openjdk.java.net/~twisti/7042122/ >> >> I get the same performance but without any tweaking of any inline thresholds. >> >> -- Christian From vladimir.kozlov at oracle.com Fri May 6 14:42:26 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 06 May 2011 14:42:26 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> Message-ID: <4DC46B42.4070506@oracle.com> OK, then it makes sense to have MDO. An other thing. You actually don't need real MDO. Do you? As I understand you need MDO only during compilation then you should use CURRENT_ENV->get_empty_methodData() in ciMethodHandle::get_adapter() to set call counters and assign it to created ciMethod._method_data. Vladimir Christian Thalinger wrote: > On May 6, 2011, at 5:48 PM, Vladimir Kozlov wrote: >> I don't see changing inline sizes for 292 methods. Do you not need it anymore? > > No, with that change it's not required anymore, which is good. > > >> Also question, how many call sites mh adapter has? I thought adapter has only one call site. Then why generate MDO only to propagate counter for one call site? > > I has only one call site to the target, right, but I can have additional invokes to helpers, e.g.: > > 0 aload_3 > 1 checkcast 3 > 0 bci: 1 ReceiverTypeData count(82944) entries(0) > 4 astore_3 > 5 aload_3 > 6 checkcast 4 > 24 bci: 6 ReceiverTypeData count(82944) entries(0) > 9 astore_3 > 10 aload_3 > 11 invokevirtual 9 > 48 bci: 11 VirtualCallData count(82944) entries(0) > 14 istore #4 > 16 aload_2 > 17 checkcast 10 > 72 bci: 17 ReceiverTypeData count(82944) entries(0) > 20 astore_2 > 21 aload_2 > 22 checkcast 11 > 96 bci: 22 ReceiverTypeData count(82944) entries(0) > 25 astore_2 > 26 aload_2 > 27 invokevirtual 16 > 120 bci: 27 VirtualCallData count(82944) entries(0) > 30 istore #5 > 32 aload_1 > 33 iload #5 > 35 iload #4 > 37 invokespecial 21 > 144 bci: 37 CounterData count(82944) > 40 ireturn > > I want them all to be inlined. > > -- Christian > >> Vladimir >> >> On 5/6/11 6:49 AM, Christian Thalinger wrote: >>> On May 5, 2011, at 10:29 PM, Tom Rodriguez wrote: >>>>>> The reason I came up with something like band-aid fix is because I didn't have enough time to do something more sophisticated and we need something that works in Java 7. JRuby wants to enable invokedynamic by default for the current development version as soon as we have heuristic that makes out-of-the-box performance good enough (reads: equally or better than non-indy). >>>>>> >>>>>> Tom, do you have a better idea how we could handle that? >>>>> Given where we are I thought your patch was a fine band aid. I was just a bit leery of adding a real exposed flag before we've really had a chance to make a policy. If we're fine with potentially abandoning that flag later then I'm fine with adding it. >>>> I do have one concrete thought about this but it would require some investigation. The method handle chains themselves aren't profiled but presumably the base call site is. Maybe we should be looking back through method handle calls to find the frequency of the base call site and feeding that into the frequent call site logic. >>> Yeah, I suppose that's how it should work. What about this? >>> >>> http://cr.openjdk.java.net/~twisti/7042122/ >>> >>> I get the same performance but without any tweaking of any inline thresholds. >>> >>> -- Christian > > From john.r.rose at oracle.com Fri May 6 14:45:15 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 6 May 2011 14:45:15 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> Message-ID: On May 6, 2011, at 2:09 PM, Christian Thalinger wrote: >> Also question, how many call sites mh adapter has? I thought adapter has only one call site. Then why generate MDO only to propagate counter for one call site? > > I has only one call site to the target, right, but I can have additional invokes to helpers, e.g.: The code shape grow complex in the case of recursive method handles, of the form (a,b,c) => {f(a,g(b),c)}. A frequent example of 'g' is Integer.valueOf(int), which performs boxing. But it can also be a user function with its own structure. -- John From john.r.rose at oracle.com Fri May 6 15:29:00 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 6 May 2011 15:29:00 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <4DC46B42.4070506@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> <4DC46B42.4070506@oracle.com> Message-ID: On May 6, 2011, at 2:42 PM, Vladimir Kozlov wrote: > OK, then it makes sense to have MDO. An other thing. You actually don't need real MDO. Do you? As I understand you need MDO only during compilation then you should use CURRENT_ENV->get_empty_methodData() in ciMethodHandle::get_adapter() > to set call counters and assign it to created ciMethod._method_data. It's probably safer to have the real MDO. The adapter is a real method, and it can (I think) reappear in the course of deoptimization and maybe even recompilation. (This raises the question of whether we should be throwing away the adapters generated during compilation. It seems non-parsimonious to do so, but it is simplest.) -- John From igor.veresov at oracle.com Fri May 6 15:42:02 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Fri, 06 May 2011 22:42:02 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp Message-ID: <20110506224204.14A734734B@hg.openjdk.java.net> Changeset: d4c1fbc3de95 Author: iveresov Date: 2011-05-06 12:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/d4c1fbc3de95 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp Summary: Handle IfOps folding properly in case of unloaded constant oop arguments Reviewed-by: kvn, never ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_Optimizer.cpp + test/compiler/7042153/Test7042153.java From tom.rodriguez at oracle.com Fri May 6 18:55:01 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Sat, 07 May 2011 01:55:01 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6939861: JVM should handle more conversion operations Message-ID: <20110507015503.8757B47353@hg.openjdk.java.net> Changeset: 167b70ff3abc Author: never Date: 2011-05-06 16:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/167b70ff3abc 6939861: JVM should handle more conversion operations Reviewed-by: twisti, jrose ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/interpreter_x86.hpp ! src/cpu/x86/vm/methodHandles_x86.cpp + src/cpu/x86/vm/methodHandles_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_32.hpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/services/heapDumper.cpp From tom.rodriguez at oracle.com Fri May 6 21:57:30 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Sat, 07 May 2011 04:57:30 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 33 new changesets Message-ID: <20110507045828.1BAB14735C@hg.openjdk.java.net> Changeset: 2a3da7eaf4a6 Author: zgu Date: 2011-04-27 09:09 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2a3da7eaf4a6 7036747: 7017009 reappeared, problem with ElfStringTable Summary: Created new "new" operator for CHeapObj that allows malloc to fail without causing fatal error. Also replaced "HeapAllocate" with "os::malloc" in decoder code to allow decoder to handle low memory scenario. Reviewed-by: coleenp, dholmes ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfStringTable.cpp Changeset: e534ac80e49a Author: zgu Date: 2011-04-27 06:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e534ac80e49a Merge Changeset: 0cddebc420d8 Author: dcubed Date: 2011-04-28 08:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0cddebc420d8 7039447: 2/1 java profiling is broken in build 139 (garbage in function name) Summary: The name in a deferred JVM/TI DynamicCodeGenerated event needs to be explicitly saved. Reviewed-by: acorn, never, dsamersoff, dholmes ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/prims/jvmtiImpl.cpp Changeset: dddc5753c53a Author: dsamersoff Date: 2011-04-29 21:13 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/dddc5753c53a 7019808: build fails on Fedora 14: SELinux run-time check: execution of stack in libjvm.so Summary: executable flag is set in the elf header of libjvm.so during build, instruct ld to don't do it. Reviewed-by: acorn, phh ! make/linux/makefiles/vm.make Changeset: 405c634f4aaa Author: dcubed Date: 2011-05-02 14:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/405c634f4aaa 7028172: 3/4 SA needs to adapt to Solaris libproc change made in 6748307 Summary: Support build and runtime configs of old and new interfaces as appropriate. Reviewed-by: acorn, never ! agent/src/os/solaris/proc/libproc.h ! agent/src/os/solaris/proc/salibproc.h ! agent/src/os/solaris/proc/saproc.cpp ! make/solaris/makefiles/saproc.make Changeset: 250642c729b4 Author: dsamersoff Date: 2011-05-03 18:24 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/250642c729b4 7041156: gcc 4.6 doesn't recognise -export-dynamic option Summary: Since -export-dynamic is a linker option, the correct way to pass it is -Xlinker -export-dynamic Reviewed-by: dsamersoff, dholmes Contributed-by: omajid at redhat.com ! make/linux/makefiles/gcc.make Changeset: da880ba4edf9 Author: dsamersoff Date: 2011-05-03 18:43 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/da880ba4edf9 7031385: incorrect register allocation in release_store_fence on linux x86 Summary: Since gcc 4.5 the inline assembly trying to use r register for an atomic 8-bit exchange and it leads to compilation error Reviewed-by: dsamersoff, dholmes Contributed-by: dbhole at redhat.com ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp Changeset: f78b3a5497f2 Author: dsamersoff Date: 2011-05-03 13:01 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f78b3a5497f2 Merge Changeset: 69e41359aef0 Author: zgu Date: 2011-05-03 13:01 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/69e41359aef0 6986065: Rebrand exe/dll company names Summary: Fixed Windows exe/dll right-click properties. "Oracle Corporation" for company name in jdk7, but "Sun Microsystems, Inc." for jdk6. Reviewed-by: phh, acorn + make/jdk6_hotspot_distro ! make/windows/build.make Changeset: f7b5dc171e92 Author: zgu Date: 2011-05-03 10:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f7b5dc171e92 Merge Changeset: e62e515d3a55 Author: zgu Date: 2011-05-03 12:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e62e515d3a55 Merge Changeset: 5781ed5f1865 Author: dcubed Date: 2011-05-03 12:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5781ed5f1865 7041410: 5/4 finish removing SOLARIS_7_OR_LATER from HotSpot Summary: Delete use of SOLARIS_7_OR_LATER from sparcWorks.make Reviewed-by: never ! make/solaris/makefiles/sparcWorks.make Changeset: 6dce0126f44e Author: kamg Date: 2011-05-04 11:04 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6dce0126f44e Merge Changeset: da0fffdcc453 Author: johnc Date: 2011-04-28 15:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/da0fffdcc453 7040410: -Xloggc: incorrectly enables TraceClassUnloading causing tracing on tty Summary: Don't enable TraceClassUnloading whne -Xloggc is specified. Reviewed-by: tonyp, ysr ! src/share/vm/runtime/arguments.cpp Changeset: cd8e33b2a8ad Author: tonyp Date: 2011-04-29 12:40 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/cd8e33b2a8ad 7034139: G1: assert(Thread::current()->is_ConcurrentGC_thread()) failed: only a conc GC thread can call this. Summary: We were calling STS join and leave during a STW pause and we are not suppoesed to. I now only call those during concurrent phase. I also added stress code in the non-product builds to force an overflows (the condition that ws uncovering the bug) to make sure it does not happen again. Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 063382f9b575 Author: tonyp Date: 2011-04-29 14:59 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/063382f9b575 7035144: G1: nightly failure: Non-dirty cards in region that should be dirty (failures still exist...) Summary: We should only undirty cards after we decide that they are not on a young region, not before. The fix also includes improvements to the verify_dirty_region() method which print out which cards were not found dirty. Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/modRefBarrierSet.hpp Changeset: 188c9a5d6a6d Author: iveresov Date: 2011-04-29 12:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/188c9a5d6a6d 7040485: Use transparent huge page on linux by default Summary: Turn on UseLargePages by default but try only HugeTLBFS method if it is not explicitly specified on the command line. Reviewed-by: ysr ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/os.hpp Changeset: 6dd3d74b2674 Author: iveresov Date: 2011-04-29 20:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6dd3d74b2674 Merge Changeset: ca7c15a01229 Author: jmasa Date: 2011-05-02 07:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ca7c15a01229 Merge Changeset: a1d5f532838d Author: brutisso Date: 2011-04-29 09:11 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a1d5f532838d 7040068: CMS: Possibly unsafe initialization of BlockOffsetArrayUseUnallocatedBlock Summary: BlockOffsetArrayUseUnallocatedBlock was intended to be turned off as part of BUG 6948538 but a code line in collectorPolicy.cpp actually kept it turned on. Reviewed-by: jwilhelm, ysr ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/runtime/globals.hpp Changeset: 567c87d484a0 Author: iveresov Date: 2011-05-04 15:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/567c87d484a0 7041501: NUMA: Expand the old gen more aggressively Summary: Expand the old gen in bigger increments Reviewed-by: jmasa ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 75af3e8de182 Author: tonyp Date: 2011-05-05 09:15 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/75af3e8de182 7040450: G1: assert((_g1->evacuation_failed()) || (!_g1->obj_in_cs(obj))) failed: shouldn't still be in ... Summary: There is a race in the evac failure handling code that causes the condition the assert checks not to be true. The fix is to replace the too-strong assert with a more targeted one. Reviewed-by: johnc, ysr, jcoomes ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: acf5e660c71a Author: jcoomes Date: 2011-05-05 07:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/acf5e660c71a 6728025: LinkResolver is missing some ResourceMarks Reviewed-by: dholmes, coleenp, ysr, kamg ! src/share/vm/interpreter/linkResolver.cpp Changeset: 54a56bbaf95b Author: brutisso Date: 2011-05-06 09:45 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/54a56bbaf95b Merge ! src/share/vm/runtime/globals.hpp Changeset: 6c978a541c03 Author: dholmes Date: 2011-05-04 19:16 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/6c978a541c03 7036267: c2/arm: mark version number as experimental and disable on unsupported platforms Summary: Change call to Abstract_VM_Version::vm_info_string to VM_Version::vm_info_string so it cna be overridden by the arch specific VM_Version class Reviewed-by: bobv, phh ! src/share/vm/runtime/arguments.cpp Changeset: f49c31acee88 Author: dholmes Date: 2011-05-04 23:10 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f49c31acee88 Merge - make/linux/makefiles/cscope.make - make/solaris/makefiles/cscope.make Changeset: 277d0f6ca64d Author: kevinw Date: 2011-04-18 08:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/277d0f6ca64d 7005503: Make GuaranteedSafepointInterval a diagnostic flag Reviewed-by: kamg, ysr ! src/share/vm/runtime/globals.hpp Changeset: 52df0980eb50 Author: kevinw Date: 2011-05-05 09:33 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/52df0980eb50 Merge ! src/share/vm/runtime/globals.hpp Changeset: 1d80a2429f59 Author: kamg Date: 2011-05-05 12:50 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1d80a2429f59 7033669: JVM TI spec has to be changed to not contain URLS to the VM Spec Summary: Update JVMTI source files to remove hyperlinks and add full legal name Reviewed-by: acorn, dcubed, dholmes ! src/share/vm/prims/jvmti.xml ! src/share/vm/prims/jvmti.xsl Changeset: ededdaaf8ca5 Author: dholmes Date: 2011-05-05 21:20 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ededdaaf8ca5 7036525: Disable alternative source mechanism for OPENJDK builds Summary: By default if OPENJDK=true is set then we don't look in the alt-src predefined location. The user can explicitly set HS_ALT_SRC_REL to the desired location in conjunction with OPENJDK=true, if they wish. Reviewed-by: jcoomes, kamg ! make/altsrc.make Changeset: f4063a3503fc Author: kamg Date: 2011-05-06 11:25 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f4063a3503fc Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 942e888897bc Author: never Date: 2011-05-06 11:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/942e888897bc Merge ! src/share/vm/runtime/arguments.cpp Changeset: 566ea7a12419 Author: never Date: 2011-05-06 19:34 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/566ea7a12419 Merge ! src/share/vm/runtime/globals.hpp From john.r.rose at oracle.com Fri May 6 23:34:39 2011 From: john.r.rose at oracle.com (John Rose) Date: Fri, 6 May 2011 23:34:39 -0700 Subject: hg: jdk7/hotspot-comp/hotspot: 6939861: JVM should handle more conversion operations In-Reply-To: <20110507015503.8757B47353@hg.openjdk.java.net> References: <20110507015503.8757B47353@hg.openjdk.java.net> Message-ID: <90D5354A-3FE8-43E5-96D2-16E3D4E0F30B@oracle.com> Thanks, Tom! (And Christian!) This is a major milestone. -- John On May 6, 2011, at 6:55 PM, tom.rodriguez at oracle.com wrote: Changeset: 167b70ff3abc Author: never Date: 2011-05-06 16:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/167b70ff3abc 6939861: JVM should handle more conversion operations Reviewed-by: twisti, jrose ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/interpreter_x86.hpp ! src/cpu/x86/vm/methodHandles_x86.cpp + src/cpu/x86/vm/methodHandles_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_32.hpp ! src/cpu/x86/vm/stubRoutines_x86_64.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/services/heapDumper.cpp From christian.thalinger at oracle.com Mon May 9 07:41:12 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 9 May 2011 16:41:12 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> <4DC46B42.4070506@oracle.com> Message-ID: <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> On May 7, 2011, at 12:29 AM, John Rose wrote: > On May 6, 2011, at 2:42 PM, Vladimir Kozlov wrote: > >> OK, then it makes sense to have MDO. An other thing. You actually don't need real MDO. Do you? As I understand you need MDO only during compilation then you should use CURRENT_ENV->get_empty_methodData() in ciMethodHandle::get_adapter() >> to set call counters and assign it to created ciMethod._method_data. > > It's probably safer to have the real MDO. The adapter is a real method, and it can (I think) reappear in the course of deoptimization and maybe even recompilation. > > (This raises the question of whether we should be throwing away the adapters generated during compilation. It seems non-parsimonious to do so, but it is simplest.) Can we agree on this as a point-fix? I guess we have to adjust it later anyway as we get more customer feedback (or we are doing more optimizations). -- Christian From tom.rodriguez at oracle.com Mon May 9 09:42:16 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 9 May 2011 09:42:16 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> <4DC46B42.4070506@oracle.com> <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> Message-ID: That sounds good to me. tom On May 9, 2011, at 7:41 AM, Christian Thalinger wrote: > On May 7, 2011, at 12:29 AM, John Rose wrote: >> On May 6, 2011, at 2:42 PM, Vladimir Kozlov wrote: >> >>> OK, then it makes sense to have MDO. An other thing. You actually don't need real MDO. Do you? As I understand you need MDO only during compilation then you should use CURRENT_ENV->get_empty_methodData() in ciMethodHandle::get_adapter() >>> to set call counters and assign it to created ciMethod._method_data. >> >> It's probably safer to have the real MDO. The adapter is a real method, and it can (I think) reappear in the course of deoptimization and maybe even recompilation. >> >> (This raises the question of whether we should be throwing away the adapters generated during compilation. It seems non-parsimonious to do so, but it is simplest.) > > > Can we agree on this as a point-fix? I guess we have to adjust it later anyway as we get more customer feedback (or we are doing more optimizations). > > -- Christian From john.r.rose at oracle.com Mon May 9 09:57:56 2011 From: john.r.rose at oracle.com (John Rose) Date: Mon, 9 May 2011 09:57:56 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> <4DC46B42.4070506@oracle.com> <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> Message-ID: <6DCB2B14-5B26-4379-A9A7-6C57770084ED@oracle.com> On May 9, 2011, at 9:42 AM, Tom Rodriguez wrote: > That sounds good to me. Yes. -- John From vladimir.kozlov at oracle.com Mon May 9 10:46:43 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 09 May 2011 10:46:43 -0700 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> <4DC46B42.4070506@oracle.com> <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> Message-ID: <4DC82883.30505@oracle.com> Fine as point fix but one more thing. Should you have a check that MDO already exist? Vladimir On 5/9/11 7:41 AM, Christian Thalinger wrote: > On May 7, 2011, at 12:29 AM, John Rose wrote: >> On May 6, 2011, at 2:42 PM, Vladimir Kozlov wrote: >> >>> OK, then it makes sense to have MDO. An other thing. You actually don't need real MDO. Do you? As I understand you need MDO only during compilation then you should use CURRENT_ENV->get_empty_methodData() in ciMethodHandle::get_adapter() >>> to set call counters and assign it to created ciMethod._method_data. >> >> It's probably safer to have the real MDO. The adapter is a real method, and it can (I think) reappear in the course of deoptimization and maybe even recompilation. >> >> (This raises the question of whether we should be throwing away the adapters generated during compilation. It seems non-parsimonious to do so, but it is simplest.) > > > Can we agree on this as a point-fix? I guess we have to adjust it later anyway as we get more customer feedback (or we are doing more optimizations). > > -- Christian From christian.thalinger at oracle.com Mon May 9 11:34:45 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 9 May 2011 20:34:45 +0200 Subject: Request for review (S): 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters In-Reply-To: <4DC82883.30505@oracle.com> References: <41603AA4-5304-42CE-8C08-3B23EB5A2819@oracle.com> <4DC2DCF3.5090300@oracle.com> <4214CB2D-BD05-4EF3-90DB-08CEC9420491@oracle.com> <69DE86CF-106D-49BF-BFAE-83BC02F1EDDF@oracle.com> <3C22F6E1-94E3-44EC-9876-FCCA655F362C@oracle.com> <23C345E4-25F3-4872-B6E2-6D3C69A48677@oracle.com> <0C3C8585-FAA1-420E-8E8F-176C8AA36D57@oracle.com> <4DC41845.7000901@oracle.com> <3236A313-3804-422C-A75C-23EF8127D78E@oracle.com> <4DC46B42.4070506@oracle.com> <68B82666-67DA-499D-9FC8-C90609A9BA16@oracle.com> <4DC82883.30505@oracle.com> Message-ID: <33DB8F69-5964-4572-8FFB-80BA41D638CF@oracle.com> On May 9, 2011, at 7:46 PM, Vladimir Kozlov wrote: > Fine as point fix but one more thing. Should you have a check that MDO already exist? Since we are spinning the bytecode during compilation there can't be an MDO. Anyway, I will the check. Maybe it's useful later. -- Christian > > Vladimir > > On 5/9/11 7:41 AM, Christian Thalinger wrote: >> On May 7, 2011, at 12:29 AM, John Rose wrote: >>> On May 6, 2011, at 2:42 PM, Vladimir Kozlov wrote: >>> >>>> OK, then it makes sense to have MDO. An other thing. You actually don't need real MDO. Do you? As I understand you need MDO only during compilation then you should use CURRENT_ENV->get_empty_methodData() in ciMethodHandle::get_adapter() >>>> to set call counters and assign it to created ciMethod._method_data. >>> >>> It's probably safer to have the real MDO. The adapter is a real method, and it can (I think) reappear in the course of deoptimization and maybe even recompilation. >>> >>> (This raises the question of whether we should be throwing away the adapters generated during compilation. It seems non-parsimonious to do so, but it is simplest.) >> >> >> Can we agree on this as a point-fix? I guess we have to adjust it later anyway as we get more customer feedback (or we are doing more optimizations). >> >> -- Christian From tom.rodriguez at oracle.com Mon May 9 16:32:10 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 9 May 2011 16:32:10 -0700 Subject: review for 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area Message-ID: <32120A7C-0A10-454E-99D1-868C824DFC28@oracle.com> http://cr.openjdk.java.net/~never/7043301 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area Reviewed-by: During the fix for 7009361 I mistakenly simplified the computed_sp_adjustment by replacing it with rounded_cls but one is for the caller and the other is for the callee. This could result in some rare cases where the frame shrunk to be smaller than it should have been. The fix is to restore the original computation of this value. Tested with failing test case. I also corrected the frame validation code which should have complained about this. From vladimir.kozlov at oracle.com Mon May 9 16:55:07 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 09 May 2011 16:55:07 -0700 Subject: review for 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area In-Reply-To: <32120A7C-0A10-454E-99D1-868C824DFC28@oracle.com> References: <32120A7C-0A10-454E-99D1-868C824DFC28@oracle.com> Message-ID: <4DC87EDB.4070202@oracle.com> Tom, It looks good. Could you test the fix with failed tests from last Nightly (-XX:+DeoptimizeALot)? Thanks, Vladimir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7043301 > > 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area > Reviewed-by: > > During the fix for 7009361 I mistakenly simplified the > computed_sp_adjustment by replacing it with rounded_cls but one is for > the caller and the other is for the callee. This could result in some > rare cases where the frame shrunk to be smaller than it should have > been. The fix is to restore the original computation of this value. > Tested with failing test case. I also corrected the frame validation > code which should have complained about this. > From tom.rodriguez at oracle.com Mon May 9 18:24:39 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 9 May 2011 18:24:39 -0700 Subject: review for 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area In-Reply-To: <4DC87EDB.4070202@oracle.com> References: <32120A7C-0A10-454E-99D1-868C824DFC28@oracle.com> <4DC87EDB.4070202@oracle.com> Message-ID: <050854B1-3A41-48BD-A626-30CCE6B0C52B@oracle.com> They all run fine too. tom On May 9, 2011, at 4:55 PM, Vladimir Kozlov wrote: > Tom, > > It looks good. Could you test the fix with failed tests from last Nightly (-XX:+DeoptimizeALot)? > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7043301 >> 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area >> Reviewed-by: >> During the fix for 7009361 I mistakenly simplified the >> computed_sp_adjustment by replacing it with rounded_cls but one is for >> the caller and the other is for the callee. This could result in some >> rare cases where the frame shrunk to be smaller than it should have >> been. The fix is to restore the original computation of this value. >> Tested with failing test case. I also corrected the frame validation >> code which should have complained about this. From vladimir.kozlov at oracle.com Mon May 9 18:52:35 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 09 May 2011 18:52:35 -0700 Subject: review for 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area In-Reply-To: <050854B1-3A41-48BD-A626-30CCE6B0C52B@oracle.com> References: <32120A7C-0A10-454E-99D1-868C824DFC28@oracle.com> <4DC87EDB.4070202@oracle.com> <050854B1-3A41-48BD-A626-30CCE6B0C52B@oracle.com> Message-ID: <4DC89A63.9010702@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > They all run fine too. > > tom > > On May 9, 2011, at 4:55 PM, Vladimir Kozlov wrote: > >> Tom, >> >> It looks good. Could you test the fix with failed tests from last Nightly (-XX:+DeoptimizeALot)? >> >> Thanks, >> Vladimir >> >> Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7043301 >>> 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area >>> Reviewed-by: >>> During the fix for 7009361 I mistakenly simplified the >>> computed_sp_adjustment by replacing it with rounded_cls but one is for >>> the caller and the other is for the callee. This could result in some >>> rare cases where the frame shrunk to be smaller than it should have >>> been. The fix is to restore the original computation of this value. >>> Tested with failing test case. I also corrected the frame validation >>> code which should have complained about this. > From tom.rodriguez at oracle.com Mon May 9 19:03:33 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 9 May 2011 19:03:33 -0700 Subject: review for 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area In-Reply-To: <4DC89A63.9010702@oracle.com> References: <32120A7C-0A10-454E-99D1-868C824DFC28@oracle.com> <4DC87EDB.4070202@oracle.com> <050854B1-3A41-48BD-A626-30CCE6B0C52B@oracle.com> <4DC89A63.9010702@oracle.com> Message-ID: <931521F4-D70C-4852-963A-004142BBECC4@oracle.com> Thanks! tom On May 9, 2011, at 6:52 PM, Vladimir Kozlov wrote: > Thank you, Tom > > Vladimir > > Tom Rodriguez wrote: >> They all run fine too. >> tom >> On May 9, 2011, at 4:55 PM, Vladimir Kozlov wrote: >>> Tom, >>> >>> It looks good. Could you test the fix with failed tests from last Nightly (-XX:+DeoptimizeALot)? >>> >>> Thanks, >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> http://cr.openjdk.java.net/~never/7043301 >>>> 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area >>>> Reviewed-by: >>>> During the fix for 7009361 I mistakenly simplified the >>>> computed_sp_adjustment by replacing it with rounded_cls but one is for >>>> the caller and the other is for the callee. This could result in some >>>> rare cases where the frame shrunk to be smaller than it should have >>>> been. The fix is to restore the original computation of this value. >>>> Tested with failing test case. I also corrected the frame validation >>>> code which should have complained about this. From tom.rodriguez at oracle.com Mon May 9 21:59:27 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Tue, 10 May 2011 04:59:27 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area Message-ID: <20110510045930.1BAED47400@hg.openjdk.java.net> Changeset: 3cfb240033d1 Author: never Date: 2011-05-09 19:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3cfb240033d1 7043301: assert(locals < caller->fp() || locals > (caller->fp() + 16)) failed: locals in save area Reviewed-by: kvn ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/frame.hpp From christian.thalinger at oracle.com Tue May 10 04:39:24 2011 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Tue, 10 May 2011 11:39:24 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters Message-ID: <20110510113936.260E047413@hg.openjdk.java.net> Changeset: e2a92dd0d3d2 Author: twisti Date: 2011-05-10 00:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/e2a92dd0d3d2 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters Reviewed-by: jrose, never, kvn ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/ci/ciMethodHandle.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp From azeem.jiva at oracle.com Tue May 10 08:36:07 2011 From: azeem.jiva at oracle.com (Azeem Jiva) Date: Tue, 10 May 2011 10:36:07 -0500 Subject: Fwd: Compile fix for Ubuntu 11.04 Message-ID: <4DC95B67.501@oracle.com> Sent this to the wrong alias. -------- Original Message -------- Subject: Compile fix for Ubuntu 11.04 Date: Tue, 10 May 2011 10:32:42 -0500 From: Azeem Jiva Organization: Oracle To: hotspot-dev at openjdk.java.net I have a change that allows GCC 4.5.2 on Ubuntu 11.04 to properly compile the HotSpot JVM. I've attached a diff below: src/os/linux/vm/os_linux.cpp ------------------------------------------------------------------------ @@ -2848,11 +2848,11 @@ if (fp) { while (!feof(fp)) { char chars[257]; long x = 0; if (fgets(chars, sizeof(chars), fp)) { - if (sscanf(chars, "%lx-%*lx",&x) == 1 + if (sscanf(chars, "%lx-%*x",&x) == 1 && x == (long)p) { if (strstr (chars, "hugepage")) { result = true; break; } -- Azeem Jiva @javawithjiva -- Azeem Jiva @javawithjiva From azeem.jiva at oracle.com Tue May 10 08:37:34 2011 From: azeem.jiva at oracle.com (Azeem Jiva) Date: Tue, 10 May 2011 10:37:34 -0500 Subject: Fwd: Compile fix for Ubuntu 11.04 Message-ID: <4DC95BBE.7050402@oracle.com> Sorry sent this to the wrong alias before. -------- Original Message -------- Subject: Compile fix for Ubuntu 11.04 Date: Tue, 10 May 2011 10:32:42 -0500 From: Azeem Jiva Organization: Oracle To: hotspot-dev at openjdk.java.net I have a change that allows GCC 4.5.2 on Ubuntu 11.04 to properly compile the HotSpot JVM. I've attached a diff below: src/os/linux/vm/os_linux.cpp ------------------------------------------------------------------------ @@ -2848,11 +2848,11 @@ if (fp) { while (!feof(fp)) { char chars[257]; long x = 0; if (fgets(chars, sizeof(chars), fp)) { - if (sscanf(chars, "%lx-%*lx",&x) == 1 + if (sscanf(chars, "%lx-%*x",&x) == 1 && x == (long)p) { if (strstr (chars, "hugepage")) { result = true; break; } -- Azeem Jiva @javawithjiva -- Azeem Jiva @javawithjiva From aph at redhat.com Tue May 10 08:48:12 2011 From: aph at redhat.com (Andrew Haley) Date: Tue, 10 May 2011 16:48:12 +0100 Subject: Fwd: Compile fix for Ubuntu 11.04 In-Reply-To: <4DC95BBE.7050402@oracle.com> References: <4DC95BBE.7050402@oracle.com> Message-ID: <4DC95E3C.5020509@redhat.com> On 05/10/2011 04:37 PM, Azeem Jiva wrote: > Sorry sent this to the wrong alias before. > > -------- Original Message -------- > Subject: Compile fix for Ubuntu 11.04 > Date: Tue, 10 May 2011 10:32:42 -0500 > From: Azeem Jiva > Organization: Oracle > To: hotspot-dev at openjdk.java.net > > > > I have a change that allows GCC 4.5.2 on Ubuntu 11.04 to properly > compile the HotSpot JVM. I've attached a diff below: > > > src/os/linux/vm/os_linux.cpp > > ------------------------------------------------------------------------ > > @@ -2848,11 +2848,11 @@ > if (fp) { > while (!feof(fp)) { > char chars[257]; > long x = 0; > if (fgets(chars, sizeof(chars), fp)) { > - if (sscanf(chars, "%lx-%*lx",&x) == 1 > + if (sscanf(chars, "%lx-%*x",&x) == 1 > && x == (long)p) { > if (strstr (chars, "hugepage")) { > result = true; > break; > } > What does this bug fix do? Andrew. From azeem.jiva at oracle.com Tue May 10 10:00:50 2011 From: azeem.jiva at oracle.com (Azeem Jiva) Date: Tue, 10 May 2011 12:00:50 -0500 Subject: Description of fix Message-ID: <4DC96F42.6080809@oracle.com> Sorry forgot to add that if I try to build a 64bit JVM under Ubuntu 11.04 with GCC 4.5.2 I get the following compile time error: /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp: In static member function ?static bool os::Linux::hugetlbfs_sanity_check(bool, size_t)?: /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp:2853:43: error: use of assignment suppression and length modifier together in gnu_scanf format The fix is to remove the length modifier. -- Azeem Jiva @javawithjiva From aph at redhat.com Tue May 10 10:09:47 2011 From: aph at redhat.com (Andrew Haley) Date: Tue, 10 May 2011 18:09:47 +0100 Subject: Description of fix In-Reply-To: <4DC96F42.6080809@oracle.com> References: <4DC96F42.6080809@oracle.com> Message-ID: <4DC9715B.6050408@redhat.com> On 05/10/2011 06:00 PM, Azeem Jiva wrote: > Sorry forgot to add that if I try to build a 64bit JVM under Ubuntu > 11.04 with GCC 4.5.2 I get the following compile time error: > > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp: In static member > function ?static bool os::Linux::hugetlbfs_sanity_check(bool, size_t)?: > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp:2853:43: error: use > of assignment suppression and length modifier together in gnu_scanf format > > > The fix is to remove the length modifier. That shouldn't be an error, though: it's perfectly correct code. I suppose it's a (rather unhelpful) warning that's erroring out because of -Werror. Andrew. From christos at zoulas.com Tue May 10 11:07:53 2011 From: christos at zoulas.com (Christos Zoulas) Date: Tue, 10 May 2011 14:07:53 -0400 Subject: Description of fix In-Reply-To: <4DC9715B.6050408@redhat.com> from Andrew Haley (May 10, 6:09pm) Message-ID: <20110510180753.D4C1C5653E@rebar.astron.com> On May 10, 6:09pm, aph at redhat.com (Andrew Haley) wrote: -- Subject: Re: Description of fix | On 05/10/2011 06:00 PM, Azeem Jiva wrote: | > Sorry forgot to add that if I try to build a 64bit JVM under Ubuntu | > 11.04 with GCC 4.5.2 I get the following compile time error: | > | > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp: In static member | > function ?static bool os::Linux::hugetlbfs_sanity_check(bool, size_t)?: | > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp:2853:43: error: use | > of assignment suppression and length modifier together in gnu_scanf format | > | > | > The fix is to remove the length modifier. | | That shouldn't be an error, though: it's perfectly correct code. | I suppose it's a (rather unhelpful) warning that's erroring out | because of -Werror. Well, The length specifier does not affect the scanning process (i.e. the scanner does not stop on overflow, it consumes the whole numeric string) so the length modifier is superfluous on skipped format specifiers. Perhaps it is better for portability to remove the length modifier and call it a day. christos #include #include int main(int argc, char *argv[]) { static const char b[] = "123456789012345"; uint64_t x64 = 0, y64 = 0; uint32_t x32 = 0, y32 = 0; sscanf(b, "%" SCNu64 "%" SCNu64, &x64, &y64); printf("x=%" PRIu64 " y=%" PRIu64 "\n", x64, y64); sscanf(b, "%" SCNu32, &x32, &y32); printf("x=%" PRIu32 " y=%" PRIu32 "\n", x32, y32); return 0; } From igor.veresov at oracle.com Tue May 10 11:18:04 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 10 May 2011 11:18:04 -0700 Subject: Fwd: Compile fix for Ubuntu 11.04 In-Reply-To: <4DC95E3C.5020509@redhat.com> References: <4DC95BBE.7050402@oracle.com> <4DC95E3C.5020509@redhat.com> Message-ID: <4DC9815C.4040604@oracle.com> Andrew, I already knew about this problem, Tony noticed that. Apparently newer gcc produces a warning that when you have an argument suppression in sscanf you can't use a length modifier. I'll fix that today. igor On 5/10/11 8:48 AM, Andrew Haley wrote: > On 05/10/2011 04:37 PM, Azeem Jiva wrote: >> Sorry sent this to the wrong alias before. >> >> -------- Original Message -------- >> Subject: Compile fix for Ubuntu 11.04 >> Date: Tue, 10 May 2011 10:32:42 -0500 >> From: Azeem Jiva >> Organization: Oracle >> To: hotspot-dev at openjdk.java.net >> >> >> >> I have a change that allows GCC 4.5.2 on Ubuntu 11.04 to properly >> compile the HotSpot JVM. I've attached a diff below: >> >> >> src/os/linux/vm/os_linux.cpp >> >> ------------------------------------------------------------------------ >> >> @@ -2848,11 +2848,11 @@ >> if (fp) { >> while (!feof(fp)) { >> char chars[257]; >> long x = 0; >> if (fgets(chars, sizeof(chars), fp)) { >> - if (sscanf(chars, "%lx-%*lx",&x) == 1 >> + if (sscanf(chars, "%lx-%*x",&x) == 1 >> && x == (long)p) { >> if (strstr (chars, "hugepage")) { >> result = true; >> break; >> } >> > > What does this bug fix do? > > Andrew. From vladimir.kozlov at oracle.com Tue May 10 12:06:23 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 May 2011 12:06:23 -0700 Subject: Request for reviews (XS): 7043552: regression after 7042327 Message-ID: <4DC98CAF.6030906@oracle.com> http://cr.openjdk.java.net/~kvn/7043552/webrev Fixed 7043552: regression after 7042327 I screw up the fix for 7042327 and Opaque2 node is generated for each unroll preventing folding CMoveI nodes. Generate Opaque2 node only during first unroll. Tested with failed case from 7042327. From tom.rodriguez at oracle.com Tue May 10 12:29:27 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 10 May 2011 12:29:27 -0700 Subject: Request for reviews (XS): 7043552: regression after 7042327 In-Reply-To: <4DC98CAF.6030906@oracle.com> References: <4DC98CAF.6030906@oracle.com> Message-ID: <2CF6E2CB-EAFB-47B9-AB0B-F1BB0B9E4E64@oracle.com> So the old code ended up stacking them up? tom On May 10, 2011, at 12:06 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7043552/webrev > > Fixed 7043552: regression after 7042327 > > I screw up the fix for 7042327 and Opaque2 node is generated for each unroll preventing folding CMoveI nodes. Generate Opaque2 node only during first unroll. > > Tested with failed case from 7042327. From vladimir.kozlov at oracle.com Tue May 10 12:37:29 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 May 2011 12:37:29 -0700 Subject: Request for reviews (XS): 7043552: regression after 7042327 In-Reply-To: <2CF6E2CB-EAFB-47B9-AB0B-F1BB0B9E4E64@oracle.com> References: <4DC98CAF.6030906@oracle.com> <2CF6E2CB-EAFB-47B9-AB0B-F1BB0B9E4E64@oracle.com> Message-ID: <4DC993F9.9020804@oracle.com> Yes, one after an other for each unroll: 0e0 movl R11, #-2147483648 # int 0e6 cmpl R10, [RSP + #8 (32-bit)] 0eb movl R8, [rsp + #8] # spill 0f0 cmovll R8, R11 # signed, int 0f4 movl RCX, R8 # spill 0f7 addl RCX, #-2 # int 0fa cmpl R8, RCX 0fd cmovll RCX, R11 # signed, int 101 movl R8, RCX # spill 104 addl R8, #-4 # int 108 cmpl RCX, R8 10b cmovll R8, R11 # signed, int 10f movl RCX, R8 # spill 112 addl RCX, #-8 # int 115 cmpl R8, RCX 118 cmovll RCX, R11 # signed, int Vladimir Tom Rodriguez wrote: > So the old code ended up stacking them up? > > tom > > On May 10, 2011, at 12:06 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7043552/webrev >> >> Fixed 7043552: regression after 7042327 >> >> I screw up the fix for 7042327 and Opaque2 node is generated for each unroll preventing folding CMoveI nodes. Generate Opaque2 node only during first unroll. >> >> Tested with failed case from 7042327. > From tom.rodriguez at oracle.com Tue May 10 12:46:12 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 10 May 2011 12:46:12 -0700 Subject: Request for reviews (XS): 7043552: regression after 7042327 In-Reply-To: <4DC993F9.9020804@oracle.com> References: <4DC98CAF.6030906@oracle.com> <2CF6E2CB-EAFB-47B9-AB0B-F1BB0B9E4E64@oracle.com> <4DC993F9.9020804@oracle.com> Message-ID: Looks good then. tom On May 10, 2011, at 12:37 PM, Vladimir Kozlov wrote: > Yes, one after an other for each unroll: > > 0e0 movl R11, #-2147483648 # int > 0e6 cmpl R10, [RSP + #8 (32-bit)] > 0eb movl R8, [rsp + #8] # spill > 0f0 cmovll R8, R11 # signed, int > 0f4 movl RCX, R8 # spill > 0f7 addl RCX, #-2 # int > 0fa cmpl R8, RCX > 0fd cmovll RCX, R11 # signed, int > 101 movl R8, RCX # spill > 104 addl R8, #-4 # int > 108 cmpl RCX, R8 > 10b cmovll R8, R11 # signed, int > 10f movl RCX, R8 # spill > 112 addl RCX, #-8 # int > 115 cmpl R8, RCX > 118 cmovll RCX, R11 # signed, int > > Vladimir > > Tom Rodriguez wrote: >> So the old code ended up stacking them up? >> tom >> On May 10, 2011, at 12:06 PM, Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/7043552/webrev >>> >>> Fixed 7043552: regression after 7042327 >>> >>> I screw up the fix for 7042327 and Opaque2 node is generated for each unroll preventing folding CMoveI nodes. Generate Opaque2 node only during first unroll. >>> >>> Tested with failed case from 7042327. From vladimir.kozlov at oracle.com Tue May 10 12:45:02 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 May 2011 12:45:02 -0700 Subject: Request for reviews (XS): 7043552: regression after 7042327 In-Reply-To: References: <4DC98CAF.6030906@oracle.com> <2CF6E2CB-EAFB-47B9-AB0B-F1BB0B9E4E64@oracle.com> <4DC993F9.9020804@oracle.com> Message-ID: <4DC995BE.5030504@oracle.com> thank you, Tom Vladimir Tom Rodriguez wrote: > Looks good then. > > tom > > On May 10, 2011, at 12:37 PM, Vladimir Kozlov wrote: > >> Yes, one after an other for each unroll: >> >> 0e0 movl R11, #-2147483648 # int >> 0e6 cmpl R10, [RSP + #8 (32-bit)] >> 0eb movl R8, [rsp + #8] # spill >> 0f0 cmovll R8, R11 # signed, int >> 0f4 movl RCX, R8 # spill >> 0f7 addl RCX, #-2 # int >> 0fa cmpl R8, RCX >> 0fd cmovll RCX, R11 # signed, int >> 101 movl R8, RCX # spill >> 104 addl R8, #-4 # int >> 108 cmpl RCX, R8 >> 10b cmovll R8, R11 # signed, int >> 10f movl RCX, R8 # spill >> 112 addl RCX, #-8 # int >> 115 cmpl R8, RCX >> 118 cmovll RCX, R11 # signed, int >> >> Vladimir >> >> Tom Rodriguez wrote: >>> So the old code ended up stacking them up? >>> tom >>> On May 10, 2011, at 12:06 PM, Vladimir Kozlov wrote: >>>> http://cr.openjdk.java.net/~kvn/7043552/webrev >>>> >>>> Fixed 7043552: regression after 7042327 >>>> >>>> I screw up the fix for 7042327 and Opaque2 node is generated for each unroll preventing folding CMoveI nodes. Generate Opaque2 node only during first unroll. >>>> >>>> Tested with failed case from 7042327. > From tom.rodriguez at oracle.com Tue May 10 13:21:12 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 10 May 2011 13:21:12 -0700 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents Message-ID: http://cr.openjdk.java.net/~never/7043040 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents Reviewed-by: The logic in oop_push_constants was skipping JVM_CONSTANT_Object entries which would cause corruption in later GCs. The fix is to use is_pointer_entry to identify roots like all the other visitor. The verify_on method was also too weak so it missed the problem when run with the verify GC flags. Tested with failing test from report. From vladimir.kozlov at oracle.com Tue May 10 14:24:30 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 May 2011 14:24:30 -0700 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents In-Reply-To: References: Message-ID: <4DC9AD0E.40507@oracle.com> Can you move cp->tag_at(i) to local var before all checks? Is it possible for entry.get_oop() to return NULL? Thanks, Vladimir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7043040 > > 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents > Reviewed-by: > > The logic in oop_push_constants was skipping JVM_CONSTANT_Object > entries which would cause corruption in later GCs. The fix is to use > is_pointer_entry to identify roots like all the other visitor. The > verify_on method was also too weak so it missed the problem when run > with the verify GC flags. Tested with failing test from report. > From tom.rodriguez at oracle.com Tue May 10 14:36:05 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 10 May 2011 14:36:05 -0700 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents In-Reply-To: <4DC9AD0E.40507@oracle.com> References: <4DC9AD0E.40507@oracle.com> Message-ID: <5C29BE54-07C0-4352-A70D-019BD2775C8A@oracle.com> On May 10, 2011, at 2:24 PM, Vladimir Kozlov wrote: > Can you move cp->tag_at(i) to local var before all checks? Ok. > Is it possible for entry.get_oop() to return NULL? No. tom > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7043040 >> 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents >> Reviewed-by: >> The logic in oop_push_constants was skipping JVM_CONSTANT_Object >> entries which would cause corruption in later GCs. The fix is to use >> is_pointer_entry to identify roots like all the other visitor. The >> verify_on method was also too weak so it missed the problem when run >> with the verify GC flags. Tested with failing test from report. From vladimir.kozlov at oracle.com Tue May 10 14:35:37 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 10 May 2011 14:35:37 -0700 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents In-Reply-To: <5C29BE54-07C0-4352-A70D-019BD2775C8A@oracle.com> References: <4DC9AD0E.40507@oracle.com> <5C29BE54-07C0-4352-A70D-019BD2775C8A@oracle.com> Message-ID: <4DC9AFA9.1090105@oracle.com> Looks good. Vladimir Tom Rodriguez wrote: > On May 10, 2011, at 2:24 PM, Vladimir Kozlov wrote: > >> Can you move cp->tag_at(i) to local var before all checks? > > Ok. > >> Is it possible for entry.get_oop() to return NULL? > > No. > > tom > >> Thanks, >> Vladimir >> >> Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7043040 >>> 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents >>> Reviewed-by: >>> The logic in oop_push_constants was skipping JVM_CONSTANT_Object >>> entries which would cause corruption in later GCs. The fix is to use >>> is_pointer_entry to identify roots like all the other visitor. The >>> verify_on method was also too weak so it missed the problem when run >>> with the verify GC flags. Tested with failing test from report. > From y.s.ramakrishna at oracle.com Tue May 10 14:38:20 2011 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Tue, 10 May 2011 14:38:20 -0700 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents In-Reply-To: References: Message-ID: <4DC9B04C.1050303@oracle.com> looks good. -- ramki On 05/10/11 13:21, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7043040 > > 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents > Reviewed-by: > > The logic in oop_push_constants was skipping JVM_CONSTANT_Object > entries which would cause corruption in later GCs. The fix is to use > is_pointer_entry to identify roots like all the other visitor. The > verify_on method was also too weak so it missed the problem when run > with the verify GC flags. Tested with failing test from report. > From tom.rodriguez at oracle.com Tue May 10 16:23:18 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 10 May 2011 16:23:18 -0700 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents In-Reply-To: <4DC9B04C.1050303@oracle.com> References: <4DC9B04C.1050303@oracle.com> Message-ID: <6712C3D8-FE8B-456D-AD3D-CC07C354C70E@oracle.com> Thanks Vladimir and Ramki. tom On May 10, 2011, at 2:38 PM, Y. S. Ramakrishna wrote: > looks good. > > -- ramki > > On 05/10/11 13:21, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7043040 >> 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents >> Reviewed-by: >> The logic in oop_push_constants was skipping JVM_CONSTANT_Object >> entries which would cause corruption in later GCs. The fix is to use >> is_pointer_entry to identify roots like all the other visitor. The >> verify_on method was also too weak so it missed the problem when run >> with the verify GC flags. Tested with failing test from report. From vladimir.kozlov at oracle.com Tue May 10 16:29:00 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 10 May 2011 23:29:00 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7043552: regression after 7042327 Message-ID: <20110510232902.8544347443@hg.openjdk.java.net> Changeset: 3b1d58916d5f Author: kvn Date: 2011-05-10 12:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3b1d58916d5f 7043552: regression after 7042327 Summary: Generate Opaque2 node only during first unroll. Reviewed-by: never ! src/share/vm/opto/loopTransform.cpp From tom.rodriguez at oracle.com Tue May 10 19:45:58 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Wed, 11 May 2011 02:45:58 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents Message-ID: <20110511024601.1D99047453@hg.openjdk.java.net> Changeset: 69c94f488271 Author: never Date: 2011-05-10 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/69c94f488271 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents Reviewed-by: kvn, ysr ! src/share/vm/oops/constantPoolKlass.cpp From christian.thalinger at oracle.com Wed May 11 00:08:10 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 11 May 2011 09:08:10 +0200 Subject: review for 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents In-Reply-To: <6712C3D8-FE8B-456D-AD3D-CC07C354C70E@oracle.com> References: <4DC9B04C.1050303@oracle.com> <6712C3D8-FE8B-456D-AD3D-CC07C354C70E@oracle.com> Message-ID: On May 11, 2011, at 1:23 AM, Tom Rodriguez wrote: > Thanks Vladimir and Ramki. Thanks for fixing the problem! -- Christian > > tom > > On May 10, 2011, at 2:38 PM, Y. S. Ramakrishna wrote: > >> looks good. >> >> -- ramki >> >> On 05/10/11 13:21, Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7043040 >>> 7043040: JSR292: JRuby bench/shootout/binarytrees.ruby-2.ruby SEGV: constantPoolKlass::oop_follow_contents >>> Reviewed-by: >>> The logic in oop_push_constants was skipping JVM_CONSTANT_Object >>> entries which would cause corruption in later GCs. The fix is to use >>> is_pointer_entry to identify roots like all the other visitor. The >>> verify_on method was also too weak so it missed the problem when run >>> with the verify GC flags. Tested with failing test from report. From aph at redhat.com Wed May 11 01:22:46 2011 From: aph at redhat.com (Andrew Haley) Date: Wed, 11 May 2011 09:22:46 +0100 Subject: Description of fix In-Reply-To: <20110510180753.D4C1C5653E@rebar.astron.com> References: <20110510180753.D4C1C5653E@rebar.astron.com> Message-ID: <4DCA4756.7060302@redhat.com> On 10/05/11 19:07, Christos Zoulas wrote: > On May 10, 6:09pm, aph at redhat.com (Andrew Haley) wrote: > -- Subject: Re: Description of fix > > | On 05/10/2011 06:00 PM, Azeem Jiva wrote: > | > Sorry forgot to add that if I try to build a 64bit JVM under Ubuntu > | > 11.04 with GCC 4.5.2 I get the following compile time error: > | > > | > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp: In static member > | > function ?static bool os::Linux::hugetlbfs_sanity_check(bool, size_t)?: > | > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp:2853:43: error: use > | > of assignment suppression and length modifier together in gnu_scanf format > | > > | > > | > The fix is to remove the length modifier. > | > | That shouldn't be an error, though: it's perfectly correct code. > | I suppose it's a (rather unhelpful) warning that's erroring out > | because of -Werror. > > Well, > > The length specifier does not affect the scanning process (i.e. > the scanner does not stop on overflow, it consumes the whole numeric > string) so the length modifier is superfluous on skipped format > specifiers. Perhaps it is better for portability to remove the > length modifier and call it a day. Maybe, but I'd like to try to get to the bottom of this. If it's a gcc bug I'll fix it in gcc. I'm a gcc developer too. Andrew. From aph at redhat.com Wed May 11 01:44:08 2011 From: aph at redhat.com (Andrew Haley) Date: Wed, 11 May 2011 09:44:08 +0100 Subject: Description of fix In-Reply-To: <4DCA4756.7060302@redhat.com> References: <20110510180753.D4C1C5653E@rebar.astron.com> <4DCA4756.7060302@redhat.com> Message-ID: <4DCA4C58.1080506@redhat.com> On 11/05/11 09:22, Andrew Haley wrote: > On 10/05/11 19:07, Christos Zoulas wrote: >> On May 10, 6:09pm, aph at redhat.com (Andrew Haley) wrote: >> -- Subject: Re: Description of fix >> >> | On 05/10/2011 06:00 PM, Azeem Jiva wrote: >> | > Sorry forgot to add that if I try to build a 64bit JVM under Ubuntu >> | > 11.04 with GCC 4.5.2 I get the following compile time error: >> | > >> | > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp: In static member >> | > function ?static bool os::Linux::hugetlbfs_sanity_check(bool, size_t)?: >> | > /home/azeem/hs/hotspot/src/os/linux/vm/os_linux.cpp:2853:43: error: use >> | > of assignment suppression and length modifier together in gnu_scanf format >> | > >> | > >> | > The fix is to remove the length modifier. >> | >> | That shouldn't be an error, though: it's perfectly correct code. >> | I suppose it's a (rather unhelpful) warning that's erroring out >> | because of -Werror. >> >> Well, >> >> The length specifier does not affect the scanning process (i.e. >> the scanner does not stop on overflow, it consumes the whole numeric >> string) so the length modifier is superfluous on skipped format >> specifiers. Perhaps it is better for portability to remove the >> length modifier and call it a day. > > Maybe, but I'd like to try to get to the bottom of this. If > it's a gcc bug I'll fix it in gcc. I'm a gcc developer too. It looks like this has been a warning in gcc since forever. I have no idea why it generates an error on Debian, though. So, I guess there's no more to be done, but I don't like mysteries like this: they tend to come back to bite you. Andrew. From christian.thalinger at oracle.com Wed May 11 03:42:02 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 11 May 2011 12:42:02 +0200 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW Message-ID: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> http://cr.openjdk.java.net/~twisti/6998541 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW Reviewed-by: jrose There is an unimplemented path in the MethodHandleWalker for OP_RETYPE_RAW return-type conversions. This change also includes a couple of x86 fixes found by John Rose, removes the check for genericInvoker on x86 and SPARC and some miscellaneous fixes (e.g. MethodHandlePrinter output). There is also a test for the type conversions which will be pushed later into the JDK 7 repository. src/cpu/sparc/vm/methodHandles_sparc.cpp src/cpu/x86/vm/methodHandles_x86.cpp src/share/vm/prims/methodHandleWalk.cpp src/share/vm/prims/methodHandleWalk.hpp src/share/vm/prims/methodHandles.cpp src/share/vm/prims/methodHandles.hpp From ahughes at redhat.com Wed May 11 06:43:11 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 11 May 2011 14:43:11 +0100 Subject: Description of fix In-Reply-To: <4DCA4C58.1080506@redhat.com> References: <20110510180753.D4C1C5653E@rebar.astron.com> <4DCA4756.7060302@redhat.com> <4DCA4C58.1080506@redhat.com> Message-ID: <20110511134311.GD5351@rivendell.middle-earth.co.uk> On 09:44 Wed 11 May , Andrew Haley wrote: > > It looks like this has been a warning in gcc since forever. I have no > idea why it generates an error on Debian, though. So, I guess there's > no more to be done, but I don't like mysteries like this: they tend to > come back to bite you. > You already said... because HotSpot builds with -Werror. > Andrew. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From aph at redhat.com Wed May 11 07:26:13 2011 From: aph at redhat.com (Andrew Haley) Date: Wed, 11 May 2011 15:26:13 +0100 Subject: Description of fix In-Reply-To: <20110511134311.GD5351@rivendell.middle-earth.co.uk> References: <20110510180753.D4C1C5653E@rebar.astron.com> <4DCA4756.7060302@redhat.com> <4DCA4C58.1080506@redhat.com> <20110511134311.GD5351@rivendell.middle-earth.co.uk> Message-ID: <4DCA9C85.9000909@redhat.com> On 05/11/2011 02:43 PM, Dr Andrew John Hughes wrote: > On 09:44 Wed 11 May , Andrew Haley wrote: >> >> It looks like this has been a warning in gcc since forever. I have no >> idea why it generates an error on Debian, though. So, I guess there's >> no more to be done, but I don't like mysteries like this: they tend to >> come back to bite you. > > You already said... because HotSpot builds with -Werror. But that doesn't explain it. That file isn't built with -Wformat, which is what causes the warning. So why does it error out on Debian? Maybe Debian forces -Wall ? Andrew. From ahughes at redhat.com Wed May 11 07:55:52 2011 From: ahughes at redhat.com (Dr Andrew John Hughes) Date: Wed, 11 May 2011 15:55:52 +0100 Subject: Description of fix In-Reply-To: <4DCA9C85.9000909@redhat.com> References: <20110510180753.D4C1C5653E@rebar.astron.com> <4DCA4756.7060302@redhat.com> <4DCA4C58.1080506@redhat.com> <20110511134311.GD5351@rivendell.middle-earth.co.uk> <4DCA9C85.9000909@redhat.com> Message-ID: <20110511145552.GI5351@rivendell.middle-earth.co.uk> On 15:26 Wed 11 May , Andrew Haley wrote: > On 05/11/2011 02:43 PM, Dr Andrew John Hughes wrote: > > On 09:44 Wed 11 May , Andrew Haley wrote: > >> > >> It looks like this has been a warning in gcc since forever. I have no > >> idea why it generates an error on Debian, though. So, I guess there's > >> no more to be done, but I don't like mysteries like this: they tend to > >> come back to bite you. > > > > You already said... because HotSpot builds with -Werror. > > But that doesn't explain it. That file isn't built with -Wformat, > which is what causes the warning. So why does it error out on > Debian? Maybe Debian forces -Wall ? > Ah right. Yes I think Debian enables more warnings. This may be why some of the patches in IcedTea from doko are there. > Andrew. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Support Free Java! Contribute to GNU Classpath and IcedTea http://www.gnu.org/software/classpath http://icedtea.classpath.org PGP Key: F5862A37 (https://keys.indymedia.org/) Fingerprint = EA30 D855 D50F 90CD F54D 0698 0713 C3ED F586 2A37 From tom.rodriguez at oracle.com Wed May 11 08:36:44 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 08:36:44 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> Message-ID: methodHandleWalk.cpp: There are two copies of the retype code. Can that be factored out? This doesn't seem right. 2 becomes false but 1 becomes true? + case T_BOOLEAN: { + jvalue one_jvalue; one_jvalue.i = 1; + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); + emit_load_constant(one); + emit_bc(Bytecodes::_iand); + break; + } Put these on separate lines ! Symbol* name; Symbol* sig; Otherwise it looks good. tom On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/6998541 > > 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW > Reviewed-by: jrose > > There is an unimplemented path in the MethodHandleWalker for > OP_RETYPE_RAW return-type conversions. > > This change also includes a couple of x86 fixes found by John Rose, > removes the check for genericInvoker on x86 and SPARC and some > miscellaneous fixes (e.g. MethodHandlePrinter output). > > There is also a test for the type conversions which will be pushed > later into the JDK 7 repository. > > src/cpu/sparc/vm/methodHandles_sparc.cpp > src/cpu/x86/vm/methodHandles_x86.cpp > src/share/vm/prims/methodHandleWalk.cpp > src/share/vm/prims/methodHandleWalk.hpp > src/share/vm/prims/methodHandles.cpp > src/share/vm/prims/methodHandles.hpp > From john.r.rose at oracle.com Wed May 11 09:02:58 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 May 2011 09:02:58 -0700 Subject: review request (M): 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke Message-ID: http://cr.openjdk.java.net/~jrose/7034977/webrev.00 This is the engineering review for the name changes to remove the term "generic" from JSR 292. -- John From john.r.rose at oracle.com Wed May 11 09:08:21 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 May 2011 09:08:21 -0700 Subject: review request (XL): 6939861: JVM should handle more conversion operations Message-ID: http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.06/ This is the JDK code which works on top of ricochet frames. These frames were put into the JVM last week, also under bug 6939861 in the hotspot repository. It fixes a large number of bugs pertaining to argument conversions, argument count limitations, and the filtering, collection, and spreading of arguments and return values. Several new unit tests are added. All of them pass on x86 (32 and 64 bit). SPARC and ARM ports are in progress but are not required for common code to be pushed. The unit tests also pass (up to known pre-existing failures) when -XX:-UseRicochetFrames is given to the JVM. The old JDK code is preserved, which supports down-rev versions of the JVM (no ricochet frames). This old code is marked clearly for future deletion and cleanup. -- John From john.r.rose at oracle.com Wed May 11 09:12:26 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 May 2011 09:12:26 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> Message-ID: On May 11, 2011, at 8:36 AM, Tom Rodriguez wrote: > This doesn't seem right. 2 becomes false but 1 becomes true? JSR 292 weirdness; see javadoc for explicitCastArguments: > If T0 and T1 are primitives and one is boolean, the boolean is treated as a one-bit unsigned integer. (This treatment follows the usage of the bytecode verifier.) A conversion from another primitive type behaves as if it first converts to byte, and then masks all but the low bit. http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm-old/2011-0510/java/lang/invoke/MethodHandles.html Easier and more stable to check the low bit than remember the original length of the scalar and take all the bits into account. Otherwise long->int->boolean does something different than long->short->boolean. -- John From christian.thalinger at oracle.com Wed May 11 09:16:00 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 11 May 2011 18:16:00 +0200 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> Message-ID: <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> On May 11, 2011, at 5:36 PM, Tom Rodriguez wrote: > methodHandleWalk.cpp: > > There are two copies of the retype code. Can that be factored out? Well, they are slightly different (change_argument vs. make_invoke) and the conversion for return types has still an Untested in there since I couldn't produce a test case to trigger that. I can factor it with a bool for_return argument if that's better. > > This doesn't seem right. 2 becomes false but 1 becomes true? > > + case T_BOOLEAN: { > + jvalue one_jvalue; one_jvalue.i = 1; > + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); > + emit_load_constant(one); > + emit_bc(Bytecodes::_iand); > + break; > + } I just asked John and that's how JSR 292 defines narrowing conversions to boolean. That's how the interpreter does it and I mimic that in the compiler. > > Put these on separate lines > > ! Symbol* name; Symbol* sig; Done. -- Christian > > Otherwise it looks good. > > tom > > > On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: > >> http://cr.openjdk.java.net/~twisti/6998541 >> >> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW >> Reviewed-by: jrose >> >> There is an unimplemented path in the MethodHandleWalker for >> OP_RETYPE_RAW return-type conversions. >> >> This change also includes a couple of x86 fixes found by John Rose, >> removes the check for genericInvoker on x86 and SPARC and some >> miscellaneous fixes (e.g. MethodHandlePrinter output). >> >> There is also a test for the type conversions which will be pushed >> later into the JDK 7 repository. >> >> src/cpu/sparc/vm/methodHandles_sparc.cpp >> src/cpu/x86/vm/methodHandles_x86.cpp >> src/share/vm/prims/methodHandleWalk.cpp >> src/share/vm/prims/methodHandleWalk.hpp >> src/share/vm/prims/methodHandles.cpp >> src/share/vm/prims/methodHandles.hpp From tom.rodriguez at oracle.com Wed May 11 09:24:12 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 09:24:12 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> Message-ID: On May 11, 2011, at 9:12 AM, John Rose wrote: > On May 11, 2011, at 8:36 AM, Tom Rodriguez wrote: > >> This doesn't seem right. 2 becomes false but 1 becomes true? > > JSR 292 weirdness; see javadoc for explicitCastArguments: Very weird but ok. tom > >> If T0 and T1 are primitives and one is boolean, the boolean is treated as a one-bit unsigned integer. (This treatment follows the usage of the bytecode verifier.) A conversion from another primitive type behaves as if it first converts to byte, and then masks all but the low bit. > > http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm-old/2011-0510/java/lang/invoke/MethodHandles.html > > Easier and more stable to check the low bit than remember the original length of the scalar and take all the bits into account. Otherwise long->int->boolean does something different than long->short->boolean. > > -- John From tom.rodriguez at oracle.com Wed May 11 09:25:25 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 09:25:25 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> Message-ID: <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> On May 11, 2011, at 9:16 AM, Christian Thalinger wrote: > On May 11, 2011, at 5:36 PM, Tom Rodriguez wrote: >> methodHandleWalk.cpp: >> >> There are two copies of the retype code. Can that be factored out? > > Well, they are slightly different (change_argument vs. make_invoke) and the conversion for return types has still an Untested in there since I couldn't produce a test case to trigger that. Oh I missed that difference. > > I can factor it with a bool for_return argument if that's better. If it factors cleanly that would be nice. > >> >> This doesn't seem right. 2 becomes false but 1 becomes true? >> >> + case T_BOOLEAN: { >> + jvalue one_jvalue; one_jvalue.i = 1; >> + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); >> + emit_load_constant(one); >> + emit_bc(Bytecodes::_iand); >> + break; >> + } > > I just asked John and that's how JSR 292 defines narrowing conversions to boolean. That's how the interpreter does it and I mimic that in the compiler. A little comment on it might be nice since it just seems so wrong. tom > >> >> Put these on separate lines >> >> ! Symbol* name; Symbol* sig; > > Done. > > -- Christian > >> >> Otherwise it looks good. >> >> tom >> >> >> On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: >> >>> http://cr.openjdk.java.net/~twisti/6998541 >>> >>> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW >>> Reviewed-by: jrose >>> >>> There is an unimplemented path in the MethodHandleWalker for >>> OP_RETYPE_RAW return-type conversions. >>> >>> This change also includes a couple of x86 fixes found by John Rose, >>> removes the check for genericInvoker on x86 and SPARC and some >>> miscellaneous fixes (e.g. MethodHandlePrinter output). >>> >>> There is also a test for the type conversions which will be pushed >>> later into the JDK 7 repository. >>> >>> src/cpu/sparc/vm/methodHandles_sparc.cpp >>> src/cpu/x86/vm/methodHandles_x86.cpp >>> src/share/vm/prims/methodHandleWalk.cpp >>> src/share/vm/prims/methodHandleWalk.hpp >>> src/share/vm/prims/methodHandles.cpp >>> src/share/vm/prims/methodHandles.hpp > > From tom.rodriguez at oracle.com Wed May 11 10:53:54 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 10:53:54 -0700 Subject: review request (M): 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke In-Reply-To: References: Message-ID: <699D37DE-13C1-4CF3-B146-A135DA01D474@oracle.com> What about notifyGenericMethodType? Should that be notifyGeneralMethodType? There are others like ToGeneric and test/java/lang/invoke/InvokeGenericTest.java. Is the intent just to clean up the public API language and worry about any internals later? Looks good. tom On May 11, 2011, at 9:02 AM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/7034977/webrev.00 > > This is the engineering review for the name changes to remove the term "generic" from JSR 292. > > -- John From john.r.rose at oracle.com Wed May 11 11:02:03 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 May 2011 11:02:03 -0700 Subject: review request (M): 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke In-Reply-To: <699D37DE-13C1-4CF3-B146-A135DA01D474@oracle.com> References: <699D37DE-13C1-4CF3-B146-A135DA01D474@oracle.com> Message-ID: Yes. Public API now. Some of those names are (sadly) known to the vm. -- John (on my iPhone) On May 11, 2011, at 10:53 AM, Tom Rodriguez wrote: > What about notifyGenericMethodType? Should that be notifyGeneralMethodType? There are others like ToGeneric and test/java/lang/invoke/InvokeGenericTest.java. Is the intent just to clean up the public API language and worry about any internals later? > > Looks good. > > tom > > On May 11, 2011, at 9:02 AM, John Rose wrote: > >> http://cr.openjdk.java.net/~jrose/7034977/webrev.00 >> >> This is the engineering review for the name changes to remove the term "generic" from JSR 292. >> >> -- John > From john.r.rose at oracle.com Wed May 11 11:02:31 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 May 2011 11:02:31 -0700 Subject: review request (M): 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke In-Reply-To: <699D37DE-13C1-4CF3-B146-A135DA01D474@oracle.com> References: <699D37DE-13C1-4CF3-B146-A135DA01D474@oracle.com> Message-ID: <6749FE07-8280-4673-B665-D8C5D5F7E374@oracle.com> Oh, and thanks! :-) -- John (on my iPhone) On May 11, 2011, at 10:53 AM, Tom Rodriguez wrote: > > Looks good From christian.thalinger at oracle.com Wed May 11 11:41:07 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 11 May 2011 20:41:07 +0200 Subject: review request (M): 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke In-Reply-To: References: Message-ID: <15E5111D-A75B-49F0-9647-1D213CA8D922@oracle.com> On May 11, 2011, at 6:02 PM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/7034977/webrev.00 > > This is the engineering review for the name changes to remove the term "generic" from JSR 292. Looks good. -- Christian From tom.rodriguez at oracle.com Wed May 11 14:04:11 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 14:04:11 -0700 Subject: review for 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method Message-ID: <0D31CA3E-B74F-4952-A219-10EE7C656851@oracle.com> http://cr.openjdk.java.net/~never/7043461 If you want to see these changes against the changeset prior to the original fix look at http://cr.openjdk.java.net/~never/7043461_against_2395. You'll see some minor differences for intervening changesets but it makes the deoptimization.cpp and templateInterpreter_sparc.cpp changes clearer. 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method Reviewed-by: The original fix for 7009361, JSR 292 Invalid value on stack on solaris-sparc with -Xcomp, has had a bunch of fallout with several follow on fixes. I'm abandoning the original fix as there are issues with how popframe works that I can't easily resolve. I had originally considered a fix that passed the callers notion of the number of parameters down the call chain down to layout activation so the correct top of stack could be computed but the other fix seemed more straightforward and appeared to work ok initially. I've now gone back to that fix. So I anti-delta'ed the original fix in templateInterpreter_sparc.cpp and passed the callers parameters count around to all the places it's needed. This required touching a lot of shared code to pass it through. Each platform had it's own copy of the size_activation wrapper and moved that into shared code. x86 doesn't have to fix use the new value since they don't attempt to place the locals next to the caller stack. The fix now has no effect on how deopt works except in the case where an invokedynamic is on the stack. Tested with all failing test cases from 7009361, 7043461, 7042052, and 7043473. I'm currently running the larger suites that those failing tests were part of to ensure there aren't other issues. From vladimir.kozlov at oracle.com Wed May 11 14:28:32 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 11 May 2011 14:28:32 -0700 Subject: review for 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method In-Reply-To: <0D31CA3E-B74F-4952-A219-10EE7C656851@oracle.com> References: <0D31CA3E-B74F-4952-A219-10EE7C656851@oracle.com> Message-ID: <4DCAFF80.4070104@oracle.com> I don't see an usage and initialization of vframeArray::_caller_actual_parameters field. Otherwise looks good. Vladimir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7043461 > > If you want to see these changes against the changeset prior to the original fix look at http://cr.openjdk.java.net/~never/7043461_against_2395. You'll see some minor differences for intervening changesets but it makes the deoptimization.cpp and templateInterpreter_sparc.cpp changes clearer. > > 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method > Reviewed-by: > > The original fix for 7009361, JSR 292 Invalid value on stack on > solaris-sparc with -Xcomp, has had a bunch of fallout with several > follow on fixes. I'm abandoning the original fix as there are issues > with how popframe works that I can't easily resolve. I had originally > considered a fix that passed the callers notion of the number of > parameters down the call chain down to layout activation so the > correct top of stack could be computed but the other fix seemed more > straightforward and appeared to work ok initially. I've now gone back > to that fix. So I anti-delta'ed the original fix in > templateInterpreter_sparc.cpp and passed the callers parameters count > around to all the places it's needed. This required touching a lot of > shared code to pass it through. Each platform had it's own copy of > the size_activation wrapper and moved that into shared code. x86 > doesn't have to fix use the new value since they don't attempt to > place the locals next to the caller stack. The fix now has no effect > on how deopt works except in the case where an invokedynamic is on the > stack. Tested with all failing test cases from 7009361, 7043461, > 7042052, and 7043473. I'm currently running the larger suites that > those failing tests were part of to ensure there aren't other issues. > From tom.rodriguez at oracle.com Wed May 11 14:48:38 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 14:48:38 -0700 Subject: review for 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method In-Reply-To: <4DCAFF80.4070104@oracle.com> References: <0D31CA3E-B74F-4952-A219-10EE7C656851@oracle.com> <4DCAFF80.4070104@oracle.com> Message-ID: On May 11, 2011, at 2:28 PM, Vladimir Kozlov wrote: > I don't see an usage and initialization of vframeArray::_caller_actual_parameters field. Otherwise looks good. That was a leftover from an alternate attempt to fix this. I've deleted it. The UnrollInfo version is the one that's used. Thanks! tom > > Vladimir > > Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7043461 >> If you want to see these changes against the changeset prior to the original fix look at http://cr.openjdk.java.net/~never/7043461_against_2395. You'll see some minor differences for intervening changesets but it makes the deoptimization.cpp and templateInterpreter_sparc.cpp changes clearer. >> 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method >> Reviewed-by: >> The original fix for 7009361, JSR 292 Invalid value on stack on >> solaris-sparc with -Xcomp, has had a bunch of fallout with several >> follow on fixes. I'm abandoning the original fix as there are issues >> with how popframe works that I can't easily resolve. I had originally >> considered a fix that passed the callers notion of the number of >> parameters down the call chain down to layout activation so the >> correct top of stack could be computed but the other fix seemed more >> straightforward and appeared to work ok initially. I've now gone back >> to that fix. So I anti-delta'ed the original fix in >> templateInterpreter_sparc.cpp and passed the callers parameters count >> around to all the places it's needed. This required touching a lot of >> shared code to pass it through. Each platform had it's own copy of >> the size_activation wrapper and moved that into shared code. x86 >> doesn't have to fix use the new value since they don't attempt to >> place the locals next to the caller stack. The fix now has no effect >> on how deopt works except in the case where an invokedynamic is on the >> stack. Tested with all failing test cases from 7009361, 7043461, >> 7042052, and 7043473. I'm currently running the larger suites that >> those failing tests were part of to ensure there aren't other issues. From tom.rodriguez at oracle.com Wed May 11 21:16:08 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 11 May 2011 21:16:08 -0700 Subject: review request (XL): 6939861: JVM should handle more conversion operations In-Reply-To: References: Message-ID: <22A087B3-D750-4B1C-AD27-98A2DA923F79@oracle.com> I've reviewed this as well as I could and it all looks reasonable. tom On May 11, 2011, at 9:08 AM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.06/ > > This is the JDK code which works on top of ricochet frames. > > These frames were put into the JVM last week, also under bug 6939861 in the hotspot repository. > > It fixes a large number of bugs pertaining to argument conversions, argument count limitations, and the filtering, collection, and spreading of arguments and return values. > > Several new unit tests are added. All of them pass on x86 (32 and 64 bit). SPARC and ARM ports are in progress but are not required for common code to be pushed. > > The unit tests also pass (up to known pre-existing failures) when -XX:-UseRicochetFrames is given to the JVM. The old JDK code is preserved, which supports down-rev versions of the JVM (no ricochet frames). This old code is marked clearly for future deletion and cleanup. > > -- John > From john.r.rose at oracle.com Wed May 11 23:03:56 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 11 May 2011 23:03:56 -0700 Subject: review request (XL): 6939861: JVM should handle more conversion operations In-Reply-To: <22A087B3-D750-4B1C-AD27-98A2DA923F79@oracle.com> References: <22A087B3-D750-4B1C-AD27-98A2DA923F79@oracle.com> Message-ID: <04BFBB30-5D50-487E-A8F4-A742BF7C5231@oracle.com> Thanks very much. -- John (on my iPhone) On May 11, 2011, at 9:16 PM, Tom Rodriguez wrote: > I've reviewed this as well as I could and it all looks reasonable. > > tom > > On May 11, 2011, at 9:08 AM, John Rose wrote: > >> http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.06/ >> >> This is the JDK code which works on top of ricochet frames. >> >> These frames were put into the JVM last week, also under bug 6939861 in the hotspot repository. >> >> It fixes a large number of bugs pertaining to argument conversions, argument count limitations, and the filtering, collection, and spreading of arguments and return values. >> >> Several new unit tests are added. All of them pass on x86 (32 and 64 bit). SPARC and ARM ports are in progress but are not required for common code to be pushed. >> >> The unit tests also pass (up to known pre-existing failures) when -XX:-UseRicochetFrames is given to the JVM. The old JDK code is preserved, which supports down-rev versions of the JVM (no ricochet frames). This old code is marked clearly for future deletion and cleanup. >> >> -- John >> > From christian.thalinger at oracle.com Thu May 12 07:58:11 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 12 May 2011 16:58:11 +0200 Subject: review request (XL): 6939861: JVM should handle more conversion operations In-Reply-To: References: Message-ID: <7EFF9EF9-DE0E-481F-AB5F-6604838E5F54@oracle.com> On May 11, 2011, at 6:08 PM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.06/ src/share/classes/java/lang/invoke/AdapterMethodHandle.java: + if (false && spreadArgCount > SPREAD_LIMIT) + return false; + if (false && slotCount + extractStackMove(target) > SPREAD_LIMIT) + return null; // perhaps spreading a long[] array is going to push too much Why are these turned off? src/share/classes/java/lang/invoke/MethodHandleImpl.java: + assert(false); //OBS "OBS"? Obsolete? Otherwise looks good. -- Christian From christian.thalinger at oracle.com Thu May 12 09:48:29 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 12 May 2011 18:48:29 +0200 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> Message-ID: <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> On May 11, 2011, at 6:25 PM, Tom Rodriguez wrote: > > On May 11, 2011, at 9:16 AM, Christian Thalinger wrote: > >> On May 11, 2011, at 5:36 PM, Tom Rodriguez wrote: >>> methodHandleWalk.cpp: >>> >>> There are two copies of the retype code. Can that be factored out? >> >> Well, they are slightly different (change_argument vs. make_invoke) and the conversion for return types has still an Untested in there since I couldn't produce a test case to trigger that. > > Oh I missed that difference. > >> >> I can factor it with a bool for_return argument if that's better. > > If it factors cleanly that would be nice. Done. > >> >>> >>> This doesn't seem right. 2 becomes false but 1 becomes true? >>> >>> + case T_BOOLEAN: { >>> + jvalue one_jvalue; one_jvalue.i = 1; >>> + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); >>> + emit_load_constant(one); >>> + emit_bc(Bytecodes::_iand); >>> + break; >>> + } >> >> I just asked John and that's how JSR 292 defines narrowing conversions to boolean. That's how the interpreter does it and I mimic that in the compiler. > > A little comment on it might be nice since it just seems so wrong. Done. While testing the code today I found two problems. The first one was a wrong invoke instruction used for OP_PRIM_TO_REF (see methodHandleWalk.cpp:330). ?.valueOf() is a static method and so we need to use an invokestatic. I wonder how this ever worked before. The other bug I did find while tracking down the first one: when a method handle adapter does another MH invoke the profiling data is not available and the invoke count is -1. I changed the code to pass the caller and call site bci into the MethodHandleCompiler so we can get the invoke count from the caller's MDO. webrev is updated. -- Christian > > tom > >> >>> >>> Put these on separate lines >>> >>> ! Symbol* name; Symbol* sig; >> >> Done. >> >> -- Christian >> >>> >>> Otherwise it looks good. >>> >>> tom >>> >>> >>> On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: >>> >>>> http://cr.openjdk.java.net/~twisti/6998541 >>>> >>>> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW >>>> Reviewed-by: jrose >>>> >>>> There is an unimplemented path in the MethodHandleWalker for >>>> OP_RETYPE_RAW return-type conversions. >>>> >>>> This change also includes a couple of x86 fixes found by John Rose, >>>> removes the check for genericInvoker on x86 and SPARC and some >>>> miscellaneous fixes (e.g. MethodHandlePrinter output). >>>> >>>> There is also a test for the type conversions which will be pushed >>>> later into the JDK 7 repository. >>>> >>>> src/cpu/sparc/vm/methodHandles_sparc.cpp >>>> src/cpu/x86/vm/methodHandles_x86.cpp >>>> src/share/vm/prims/methodHandleWalk.cpp >>>> src/share/vm/prims/methodHandleWalk.hpp >>>> src/share/vm/prims/methodHandles.cpp >>>> src/share/vm/prims/methodHandles.hpp From vladimir.kozlov at oracle.com Thu May 12 10:34:52 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 12 May 2011 10:34:52 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> Message-ID: <4DCC1A3C.10705@oracle.com> ciMethodHandle constructor should initialize fields to some default values (it is C++, no automatic initialization). Put caller_counter_data->count() value into a local var. Vladimir Christian Thalinger wrote: > On May 11, 2011, at 6:25 PM, Tom Rodriguez wrote: >> On May 11, 2011, at 9:16 AM, Christian Thalinger wrote: >> >>> On May 11, 2011, at 5:36 PM, Tom Rodriguez wrote: >>>> methodHandleWalk.cpp: >>>> >>>> There are two copies of the retype code. Can that be factored out? >>> Well, they are slightly different (change_argument vs. make_invoke) and the conversion for return types has still an Untested in there since I couldn't produce a test case to trigger that. >> Oh I missed that difference. >> >>> I can factor it with a bool for_return argument if that's better. >> If it factors cleanly that would be nice. > > Done. > >>>> This doesn't seem right. 2 becomes false but 1 becomes true? >>>> >>>> + case T_BOOLEAN: { >>>> + jvalue one_jvalue; one_jvalue.i = 1; >>>> + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); >>>> + emit_load_constant(one); >>>> + emit_bc(Bytecodes::_iand); >>>> + break; >>>> + } >>> I just asked John and that's how JSR 292 defines narrowing conversions to boolean. That's how the interpreter does it and I mimic that in the compiler. >> A little comment on it might be nice since it just seems so wrong. > > Done. > > While testing the code today I found two problems. > > The first one was a wrong invoke instruction used for OP_PRIM_TO_REF (see methodHandleWalk.cpp:330). ?.valueOf() is a static method and so we need to use an invokestatic. I wonder how this ever worked before. > > The other bug I did find while tracking down the first one: when a method handle adapter does another MH invoke the profiling data is not available and the invoke count is -1. I changed the code to pass the caller and call site bci into the MethodHandleCompiler so we can get the invoke count from the caller's MDO. > > webrev is updated. > > -- Christian > >> tom >> >>>> Put these on separate lines >>>> >>>> ! Symbol* name; Symbol* sig; >>> Done. >>> >>> -- Christian >>> >>>> Otherwise it looks good. >>>> >>>> tom >>>> >>>> >>>> On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: >>>> >>>>> http://cr.openjdk.java.net/~twisti/6998541 >>>>> >>>>> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW >>>>> Reviewed-by: jrose >>>>> >>>>> There is an unimplemented path in the MethodHandleWalker for >>>>> OP_RETYPE_RAW return-type conversions. >>>>> >>>>> This change also includes a couple of x86 fixes found by John Rose, >>>>> removes the check for genericInvoker on x86 and SPARC and some >>>>> miscellaneous fixes (e.g. MethodHandlePrinter output). >>>>> >>>>> There is also a test for the type conversions which will be pushed >>>>> later into the JDK 7 repository. >>>>> >>>>> src/cpu/sparc/vm/methodHandles_sparc.cpp >>>>> src/cpu/x86/vm/methodHandles_x86.cpp >>>>> src/share/vm/prims/methodHandleWalk.cpp >>>>> src/share/vm/prims/methodHandleWalk.hpp >>>>> src/share/vm/prims/methodHandles.cpp >>>>> src/share/vm/prims/methodHandles.hpp > > From tom.rodriguez at oracle.com Thu May 12 12:55:40 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Thu, 12 May 2011 19:55:40 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 2 new changesets Message-ID: <20110512195543.DAC23474DC@hg.openjdk.java.net> Changeset: 3d2ab563047a Author: never Date: 2011-05-12 10:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3d2ab563047a 7043461: VM crashes in void LinkResolver::runtime_resolve_virtual_method Reviewed-by: kvn, coleenp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interpreter_x86_32.cpp ! src/cpu/x86/vm/interpreter_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/cpu/zero/vm/interpreter_zero.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp Changeset: 2f17eb233d13 Author: never Date: 2011-05-12 10:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2f17eb233d13 Merge From christian.thalinger at oracle.com Thu May 12 13:19:33 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 12 May 2011 22:19:33 +0200 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <4DCC1A3C.10705@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> <4DCC1A3C.10705@oracle.com> Message-ID: <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> On May 12, 2011, at 7:34 PM, Vladimir Kozlov wrote: > ciMethodHandle constructor should initialize fields to some default values (it is C++, no automatic initialization). Right. I fixed that. > > Put caller_counter_data->count() value into a local var. I talked to Tom about this and we came to the solution I wanted to do in the first place (but I thought was too complicated): fake up the maturity of the MDO when the caller MDO is mature. I also rolled in a last-minute fix from John: http://cr.openjdk.java.net/~twisti/6998541/src/share/vm/prims/methodHandles.cpp.udiff.html MethodHandles::init_AdapterMethodHandle needed a couple of additional ensure_vmlayout_field calls. This was a crasher. Sorry for asking again for a review. Last time, I promise! :-) -- Christian > > Vladimir > > Christian Thalinger wrote: >> On May 11, 2011, at 6:25 PM, Tom Rodriguez wrote: >>> On May 11, 2011, at 9:16 AM, Christian Thalinger wrote: >>> >>>> On May 11, 2011, at 5:36 PM, Tom Rodriguez wrote: >>>>> methodHandleWalk.cpp: >>>>> >>>>> There are two copies of the retype code. Can that be factored out? >>>> Well, they are slightly different (change_argument vs. make_invoke) and the conversion for return types has still an Untested in there since I couldn't produce a test case to trigger that. >>> Oh I missed that difference. >>> >>>> I can factor it with a bool for_return argument if that's better. >>> If it factors cleanly that would be nice. >> Done. >>>>> This doesn't seem right. 2 becomes false but 1 becomes true? >>>>> >>>>> + case T_BOOLEAN: { >>>>> + jvalue one_jvalue; one_jvalue.i = 1; >>>>> + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); >>>>> + emit_load_constant(one); >>>>> + emit_bc(Bytecodes::_iand); >>>>> + break; >>>>> + } >>>> I just asked John and that's how JSR 292 defines narrowing conversions to boolean. That's how the interpreter does it and I mimic that in the compiler. >>> A little comment on it might be nice since it just seems so wrong. >> Done. >> While testing the code today I found two problems. >> The first one was a wrong invoke instruction used for OP_PRIM_TO_REF (see methodHandleWalk.cpp:330). ?.valueOf() is a static method and so we need to use an invokestatic. I wonder how this ever worked before. >> The other bug I did find while tracking down the first one: when a method handle adapter does another MH invoke the profiling data is not available and the invoke count is -1. I changed the code to pass the caller and call site bci into the MethodHandleCompiler so we can get the invoke count from the caller's MDO. >> webrev is updated. >> -- Christian >>> tom >>> >>>>> Put these on separate lines >>>>> >>>>> ! Symbol* name; Symbol* sig; >>>> Done. >>>> >>>> -- Christian >>>> >>>>> Otherwise it looks good. >>>>> >>>>> tom >>>>> >>>>> >>>>> On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: >>>>> >>>>>> http://cr.openjdk.java.net/~twisti/6998541 >>>>>> >>>>>> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW >>>>>> Reviewed-by: jrose >>>>>> >>>>>> There is an unimplemented path in the MethodHandleWalker for >>>>>> OP_RETYPE_RAW return-type conversions. >>>>>> >>>>>> This change also includes a couple of x86 fixes found by John Rose, >>>>>> removes the check for genericInvoker on x86 and SPARC and some >>>>>> miscellaneous fixes (e.g. MethodHandlePrinter output). >>>>>> >>>>>> There is also a test for the type conversions which will be pushed >>>>>> later into the JDK 7 repository. >>>>>> >>>>>> src/cpu/sparc/vm/methodHandles_sparc.cpp >>>>>> src/cpu/x86/vm/methodHandles_x86.cpp >>>>>> src/share/vm/prims/methodHandleWalk.cpp >>>>>> src/share/vm/prims/methodHandleWalk.hpp >>>>>> src/share/vm/prims/methodHandles.cpp >>>>>> src/share/vm/prims/methodHandles.hpp From john.r.rose at oracle.com Thu May 12 13:39:30 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 12 May 2011 13:39:30 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> <4DCC1A3C.10705@oracle.com> <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> Message-ID: <2AB6F2F6-070B-499C-A15A-345F6BEA5706@oracle.com> You probably noticed, but there's a leftover from debugging in the webrev: if (true || TraceMethodHandles) Causes JVM output. :-) -- John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110512/5de69520/attachment.html From vladimir.kozlov at oracle.com Thu May 12 13:41:30 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 12 May 2011 13:41:30 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> <4DCC1A3C.10705@oracle.com> <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> Message-ID: <4DCC45FA.2000505@oracle.com> Seems fine. Vladimir Christian Thalinger wrote: > On May 12, 2011, at 7:34 PM, Vladimir Kozlov wrote: >> ciMethodHandle constructor should initialize fields to some default values (it is C++, no automatic initialization). > > Right. I fixed that. > >> Put caller_counter_data->count() value into a local var. > > I talked to Tom about this and we came to the solution I wanted to do in the first place (but I thought was too complicated): fake up the maturity of the MDO when the caller MDO is mature. > > I also rolled in a last-minute fix from John: > > http://cr.openjdk.java.net/~twisti/6998541/src/share/vm/prims/methodHandles.cpp.udiff.html > > MethodHandles::init_AdapterMethodHandle needed a couple of additional ensure_vmlayout_field calls. This was a crasher. > > Sorry for asking again for a review. Last time, I promise! :-) > > -- Christian > >> Vladimir >> >> Christian Thalinger wrote: >>> On May 11, 2011, at 6:25 PM, Tom Rodriguez wrote: >>>> On May 11, 2011, at 9:16 AM, Christian Thalinger wrote: >>>> >>>>> On May 11, 2011, at 5:36 PM, Tom Rodriguez wrote: >>>>>> methodHandleWalk.cpp: >>>>>> >>>>>> There are two copies of the retype code. Can that be factored out? >>>>> Well, they are slightly different (change_argument vs. make_invoke) and the conversion for return types has still an Untested in there since I couldn't produce a test case to trigger that. >>>> Oh I missed that difference. >>>> >>>>> I can factor it with a bool for_return argument if that's better. >>>> If it factors cleanly that would be nice. >>> Done. >>>>>> This doesn't seem right. 2 becomes false but 1 becomes true? >>>>>> >>>>>> + case T_BOOLEAN: { >>>>>> + jvalue one_jvalue; one_jvalue.i = 1; >>>>>> + ArgToken one = make_prim_constant(T_INT, &one_jvalue, CHECK_(zero)); >>>>>> + emit_load_constant(one); >>>>>> + emit_bc(Bytecodes::_iand); >>>>>> + break; >>>>>> + } >>>>> I just asked John and that's how JSR 292 defines narrowing conversions to boolean. That's how the interpreter does it and I mimic that in the compiler. >>>> A little comment on it might be nice since it just seems so wrong. >>> Done. >>> While testing the code today I found two problems. >>> The first one was a wrong invoke instruction used for OP_PRIM_TO_REF (see methodHandleWalk.cpp:330). ?.valueOf() is a static method and so we need to use an invokestatic. I wonder how this ever worked before. >>> The other bug I did find while tracking down the first one: when a method handle adapter does another MH invoke the profiling data is not available and the invoke count is -1. I changed the code to pass the caller and call site bci into the MethodHandleCompiler so we can get the invoke count from the caller's MDO. >>> webrev is updated. >>> -- Christian >>>> tom >>>> >>>>>> Put these on separate lines >>>>>> >>>>>> ! Symbol* name; Symbol* sig; >>>>> Done. >>>>> >>>>> -- Christian >>>>> >>>>>> Otherwise it looks good. >>>>>> >>>>>> tom >>>>>> >>>>>> >>>>>> On May 11, 2011, at 3:42 AM, Christian Thalinger wrote: >>>>>> >>>>>>> http://cr.openjdk.java.net/~twisti/6998541 >>>>>>> >>>>>>> 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW >>>>>>> Reviewed-by: jrose >>>>>>> >>>>>>> There is an unimplemented path in the MethodHandleWalker for >>>>>>> OP_RETYPE_RAW return-type conversions. >>>>>>> >>>>>>> This change also includes a couple of x86 fixes found by John Rose, >>>>>>> removes the check for genericInvoker on x86 and SPARC and some >>>>>>> miscellaneous fixes (e.g. MethodHandlePrinter output). >>>>>>> >>>>>>> There is also a test for the type conversions which will be pushed >>>>>>> later into the JDK 7 repository. >>>>>>> >>>>>>> src/cpu/sparc/vm/methodHandles_sparc.cpp >>>>>>> src/cpu/x86/vm/methodHandles_x86.cpp >>>>>>> src/share/vm/prims/methodHandleWalk.cpp >>>>>>> src/share/vm/prims/methodHandleWalk.hpp >>>>>>> src/share/vm/prims/methodHandles.cpp >>>>>>> src/share/vm/prims/methodHandles.hpp > > From christian.thalinger at oracle.com Thu May 12 14:01:37 2011 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 12 May 2011 23:01:37 +0200 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <2AB6F2F6-070B-499C-A15A-345F6BEA5706@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> <4DCC1A3C.10705@oracle.com> <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> <2AB6F2F6-070B-499C-A15A-345F6BEA5706@oracle.com> Message-ID: <25C550C2-2639-4E59-98B9-479B0A670D27@oracle.com> On May 12, 2011, at 10:39 PM, John Rose wrote: > You probably noticed, but there's a leftover from debugging in the webrev: > if (true || TraceMethodHandles) > Causes JVM output. :-) No, I missed that. -- Christian -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110512/7f327cbc/attachment.html From tom.rodriguez at oracle.com Thu May 12 14:02:31 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 14:02:31 -0700 Subject: Request for review (M): 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW In-Reply-To: <2AB6F2F6-070B-499C-A15A-345F6BEA5706@oracle.com> References: <01A4A73A-BD0A-4D02-ADF5-1441E7930D5E@oracle.com> <67C48CF3-577E-4EF6-B974-DD2BA4B2BF4F@oracle.com> <594778F6-C56E-4A5D-B2BE-B7A05A34F5FA@oracle.com> <32C94822-4B23-4835-B3EB-54A36DD6CCD2@oracle.com> <4DCC1A3C.10705@oracle.com> <2A148B44-42D8-48C9-8356-E8D7A86DE0E2@oracle.com> <2AB6F2F6-070B-499C-A15A-345F6BEA5706@oracle.com> Message-ID: I'm going to push this for him and I'll fix that first. Thanks! tom On May 12, 2011, at 1:39 PM, John Rose wrote: > You probably noticed, but there's a leftover from debugging in the webrev: > if (true || TraceMethodHandles) > Causes JVM output. :-) > > -- John From tom.rodriguez at oracle.com Thu May 12 14:31:02 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 14:31:02 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify Message-ID: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> http://cr.openjdk.java.net/~never/6996747 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify Reviewed-by: When the sweeper is processing an nmethod it's possible for a safepoint to occur while acquiring locks to clean the inline caches. This can allow the nmethod to be unloaded in the middle of processing it which can result in assertion failures or crashes. I considered modifying the locks to skip the safepoint check but it would require changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock which seems risky. Instead I keep track of the currently nmethod in the CompiledThread and scan it when a GC occurs. I also included some sweeper logging code that I wrote while debugging this. Tested with failing test from report though we'll need big apps runs to confirm that there aren't other issues. From igor.veresov at oracle.com Thu May 12 15:17:26 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 12 May 2011 15:17:26 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> Message-ID: <4DCC5C76.2080700@oracle.com> 307 NMethodMarker() { 308 _thread->set_scanned_nmethod(NULL); 309 } ^^ did you mean this to be a destructor? Otherwise looks good. igor On 5/12/11 2:31 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/6996747 > 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg > > 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify > Reviewed-by: > > When the sweeper is processing an nmethod it's possible for a > safepoint to occur while acquiring locks to clean the inline caches. > This can allow the nmethod to be unloaded in the middle of processing > it which can result in assertion failures or crashes. I considered > modifying the locks to skip the safepoint check but it would require > changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock > which seems risky. Instead I keep track of the currently nmethod in > the CompiledThread and scan it when a GC occurs. I also included some > sweeper logging code that I wrote while debugging this. Tested with > failing test from report though we'll need big apps runs to confirm > that there aren't other issues. > From tom.rodriguez at oracle.com Thu May 12 15:22:01 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 15:22:01 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <4DCC5C76.2080700@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC5C76.2080700@oracle.com> Message-ID: <5703D17A-E17A-4EE2-B2D7-753E801FE4B1@oracle.com> Indeed I did. I was going to put asserts into set_scanned_nmethod to make sure it only toggled between NULL and non-null but it didn't seem necessary. Actually I just discovered a problem with this change. Hold off on reviews for a bit. tom On May 12, 2011, at 3:17 PM, Igor Veresov wrote: > 307 NMethodMarker() { > 308 _thread->set_scanned_nmethod(NULL); > 309 } > > ^^ did you mean this to be a destructor? > > Otherwise looks good. > > igor > > On 5/12/11 2:31 PM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/6996747 >> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >> >> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >> Reviewed-by: >> >> When the sweeper is processing an nmethod it's possible for a >> safepoint to occur while acquiring locks to clean the inline caches. >> This can allow the nmethod to be unloaded in the middle of processing >> it which can result in assertion failures or crashes. I considered >> modifying the locks to skip the safepoint check but it would require >> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >> which seems risky. Instead I keep track of the currently nmethod in >> the CompiledThread and scan it when a GC occurs. I also included some >> sweeper logging code that I wrote while debugging this. Tested with >> failing test from report though we'll need big apps runs to confirm >> that there aren't other issues. >> > From vladimir.kozlov at oracle.com Thu May 12 15:41:43 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 12 May 2011 15:41:43 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> Message-ID: <4DCC6227.1050504@oracle.com> Memory leak since possibly_sweep() could be called several time. You need to free or reset previous ring buffer. Missing _sweep_index initialization. SweeperRecord::kind is not printed. Should it be assert/guarantee? : + if (m != nm->method()) { + tty->print_cr("method oop changed during lock acquire: " INTPTR_FORMAT " != " INTPTR_FORMAT, m, nm->method()); + } Vlaidmir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/6996747 > 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg > > 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify > Reviewed-by: > > When the sweeper is processing an nmethod it's possible for a > safepoint to occur while acquiring locks to clean the inline caches. > This can allow the nmethod to be unloaded in the middle of processing > it which can result in assertion failures or crashes. I considered > modifying the locks to skip the safepoint check but it would require > changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock > which seems risky. Instead I keep track of the currently nmethod in > the CompiledThread and scan it when a GC occurs. I also included some > sweeper logging code that I wrote while debugging this. Tested with > failing test from report though we'll need big apps runs to confirm > that there aren't other issues. > From tom.rodriguez at oracle.com Thu May 12 15:55:05 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 15:55:05 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <5703D17A-E17A-4EE2-B2D7-753E801FE4B1@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC5C76.2080700@oracle.com> <5703D17A-E17A-4EE2-B2D7-753E801FE4B1@oracle.com> Message-ID: So I just discovered something disturbing which is that Thread::oops_do isn't virtual even though it's overridden in JavaThread. Currently it seems to work ok because they are normally called on JavaThread typed variables but if we ever called oops_do on a JavaThread that was statically typed as Thread then we'd skip the JavaThread::oops_do logic. It doesn't appear that we ever do this but it was keeping my fix from working as I intended. I've fixed that and updated my webrev. tom On May 12, 2011, at 3:22 PM, Tom Rodriguez wrote: > Indeed I did. I was going to put asserts into set_scanned_nmethod to make sure it only toggled between NULL and non-null but it didn't seem necessary. Actually I just discovered a problem with this change. Hold off on reviews for a bit. > > tom > > On May 12, 2011, at 3:17 PM, Igor Veresov wrote: > >> 307 NMethodMarker() { >> 308 _thread->set_scanned_nmethod(NULL); >> 309 } >> >> ^^ did you mean this to be a destructor? >> >> Otherwise looks good. >> >> igor >> >> On 5/12/11 2:31 PM, Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/6996747 >>> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >>> >>> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >>> Reviewed-by: >>> >>> When the sweeper is processing an nmethod it's possible for a >>> safepoint to occur while acquiring locks to clean the inline caches. >>> This can allow the nmethod to be unloaded in the middle of processing >>> it which can result in assertion failures or crashes. I considered >>> modifying the locks to skip the safepoint check but it would require >>> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >>> which seems risky. Instead I keep track of the currently nmethod in >>> the CompiledThread and scan it when a GC occurs. I also included some >>> sweeper logging code that I wrote while debugging this. Tested with >>> failing test from report though we'll need big apps runs to confirm >>> that there aren't other issues. >>> >> > From tom.rodriguez at oracle.com Thu May 12 15:55:13 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 15:55:13 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <4DCC6227.1050504@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC6227.1050504@oracle.com> Message-ID: On May 12, 2011, at 3:41 PM, Vladimir Kozlov wrote: > Memory leak since possibly_sweep() could be called several time. You need to free or reset previous ring buffer. I converted from a static buffer to a malloc'ed one and forgot to add the guard so it's only init'ed once. > Missing _sweep_index initialization. It's a static so it's automatically initialized to 0. > > SweeperRecord::kind is not printed. I added that. > > Should it be assert/guarantee? : > > + if (m != nm->method()) { > + tty->print_cr("method oop changed during lock acquire: " INTPTR_FORMAT " != " INTPTR_FORMAT, m, nm->method()); > + } This should have been deleted. It was debug code I used to confirm the bug. tom > > Vlaidmir > > Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/6996747 >> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >> Reviewed-by: >> When the sweeper is processing an nmethod it's possible for a >> safepoint to occur while acquiring locks to clean the inline caches. >> This can allow the nmethod to be unloaded in the middle of processing >> it which can result in assertion failures or crashes. I considered >> modifying the locks to skip the safepoint check but it would require >> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >> which seems risky. Instead I keep track of the currently nmethod in >> the CompiledThread and scan it when a GC occurs. I also included some >> sweeper logging code that I wrote while debugging this. Tested with >> failing test from report though we'll need big apps runs to confirm >> that there aren't other issues. From igor.veresov at oracle.com Thu May 12 16:01:54 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 12 May 2011 16:01:54 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC5C76.2080700@oracle.com> <5703D17A-E17A-4EE2-B2D7-753E801FE4B1@oracle.com> Message-ID: <4DCC66E2.4060208@oracle.com> Looks good! igor On 5/12/11 3:55 PM, Tom Rodriguez wrote: > So I just discovered something disturbing which is that Thread::oops_do isn't virtual even though it's overridden in JavaThread. Currently it seems to work ok because they are normally called on JavaThread typed variables but if we ever called oops_do on a JavaThread that was statically typed as Thread then we'd skip the JavaThread::oops_do logic. It doesn't appear that we ever do this but it was keeping my fix from working as I intended. I've fixed that and updated my webrev. > > tom > > On May 12, 2011, at 3:22 PM, Tom Rodriguez wrote: > >> Indeed I did. I was going to put asserts into set_scanned_nmethod to make sure it only toggled between NULL and non-null but it didn't seem necessary. Actually I just discovered a problem with this change. Hold off on reviews for a bit. >> >> tom >> >> On May 12, 2011, at 3:17 PM, Igor Veresov wrote: >> >>> 307 NMethodMarker() { >>> 308 _thread->set_scanned_nmethod(NULL); >>> 309 } >>> >>> ^^ did you mean this to be a destructor? >>> >>> Otherwise looks good. >>> >>> igor >>> >>> On 5/12/11 2:31 PM, Tom Rodriguez wrote: >>>> http://cr.openjdk.java.net/~never/6996747 >>>> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >>>> >>>> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >>>> Reviewed-by: >>>> >>>> When the sweeper is processing an nmethod it's possible for a >>>> safepoint to occur while acquiring locks to clean the inline caches. >>>> This can allow the nmethod to be unloaded in the middle of processing >>>> it which can result in assertion failures or crashes. I considered >>>> modifying the locks to skip the safepoint check but it would require >>>> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >>>> which seems risky. Instead I keep track of the currently nmethod in >>>> the CompiledThread and scan it when a GC occurs. I also included some >>>> sweeper logging code that I wrote while debugging this. Tested with >>>> failing test from report though we'll need big apps runs to confirm >>>> that there aren't other issues. >>>> >>> >> > From vladimir.kozlov at oracle.com Thu May 12 16:11:07 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 12 May 2011 16:11:07 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC6227.1050504@oracle.com> Message-ID: <4DCC690B.1050201@oracle.com> > It's a static so it's automatically initialized to 0. Agree, but explicit initialization to 0 is much better to understand. nm->compile_kind() is not char so using %c is wrong. Why report_events(int id, address entry) uses ARRAY_SIZE(_records) as limit? report_events() misses the check for empty records. May be do memset to 0 after creating the buffer and then check for 0 in report_events. Vladimir Tom Rodriguez wrote: > On May 12, 2011, at 3:41 PM, Vladimir Kozlov wrote: > >> Memory leak since possibly_sweep() could be called several time. You need to free or reset previous ring buffer. > > I converted from a static buffer to a malloc'ed one and forgot to add the guard so it's only init'ed once. > >> Missing _sweep_index initialization. > > It's a static so it's automatically initialized to 0. > >> SweeperRecord::kind is not printed. > > I added that. > >> Should it be assert/guarantee? : >> >> + if (m != nm->method()) { >> + tty->print_cr("method oop changed during lock acquire: " INTPTR_FORMAT " != " INTPTR_FORMAT, m, nm->method()); >> + } > > This should have been deleted. It was debug code I used to confirm the bug. > > tom > >> Vlaidmir >> >> Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/6996747 >>> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >>> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >>> Reviewed-by: >>> When the sweeper is processing an nmethod it's possible for a >>> safepoint to occur while acquiring locks to clean the inline caches. >>> This can allow the nmethod to be unloaded in the middle of processing >>> it which can result in assertion failures or crashes. I considered >>> modifying the locks to skip the safepoint check but it would require >>> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >>> which seems risky. Instead I keep track of the currently nmethod in >>> the CompiledThread and scan it when a GC occurs. I also included some >>> sweeper logging code that I wrote while debugging this. Tested with >>> failing test from report though we'll need big apps runs to confirm >>> that there aren't other issues. > From tom.rodriguez at oracle.com Thu May 12 16:19:17 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Thu, 12 May 2011 23:19:17 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW Message-ID: <20110512231919.B006B474E5@hg.openjdk.java.net> Changeset: fabcf26ee72f Author: twisti Date: 2011-05-12 14:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/fabcf26ee72f 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW Reviewed-by: jrose, kvn, never ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/share/vm/ci/ciMethodData.hpp ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/ci/ciMethodHandle.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp From tom.rodriguez at oracle.com Thu May 12 16:31:22 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 16:31:22 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <4DCC690B.1050201@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC6227.1050504@oracle.com> <4DCC690B.1050201@oracle.com> Message-ID: <1C9C8B01-E46E-4529-BCF7-5F102F469ACA@oracle.com> On May 12, 2011, at 4:11 PM, Vladimir Kozlov wrote: > > It's a static so it's automatically initialized to 0. > > Agree, but explicit initialization to 0 is much better to understand. Ok. > > nm->compile_kind() is not char so using %c is wrong. Oops. My brain saw char and ran with it. I switch to %s and added check for NULL. > > Why report_events(int id, address entry) uses ARRAY_SIZE(_records) as limit? Leftovers again. > > report_events() misses the check for empty records. May be do memset to 0 after creating the buffer and then check for 0 in report_events. Good idea. tom > > Vladimir > > Tom Rodriguez wrote: >> On May 12, 2011, at 3:41 PM, Vladimir Kozlov wrote: >>> Memory leak since possibly_sweep() could be called several time. You need to free or reset previous ring buffer. >> I converted from a static buffer to a malloc'ed one and forgot to add the guard so it's only init'ed once. >>> Missing _sweep_index initialization. >> It's a static so it's automatically initialized to 0. >>> SweeperRecord::kind is not printed. >> I added that. >>> Should it be assert/guarantee? : >>> >>> + if (m != nm->method()) { >>> + tty->print_cr("method oop changed during lock acquire: " INTPTR_FORMAT " != " INTPTR_FORMAT, m, nm->method()); >>> + } >> This should have been deleted. It was debug code I used to confirm the bug. >> tom >>> Vlaidmir >>> >>> Tom Rodriguez wrote: >>>> http://cr.openjdk.java.net/~never/6996747 >>>> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >>>> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >>>> Reviewed-by: >>>> When the sweeper is processing an nmethod it's possible for a >>>> safepoint to occur while acquiring locks to clean the inline caches. >>>> This can allow the nmethod to be unloaded in the middle of processing >>>> it which can result in assertion failures or crashes. I considered >>>> modifying the locks to skip the safepoint check but it would require >>>> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >>>> which seems risky. Instead I keep track of the currently nmethod in >>>> the CompiledThread and scan it when a GC occurs. I also included some >>>> sweeper logging code that I wrote while debugging this. Tested with >>>> failing test from report though we'll need big apps runs to confirm >>>> that there aren't other issues. From vladimir.kozlov at oracle.com Thu May 12 16:48:54 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 12 May 2011 16:48:54 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <1C9C8B01-E46E-4529-BCF7-5F102F469ACA@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC6227.1050504@oracle.com> <4DCC690B.1050201@oracle.com> <1C9C8B01-E46E-4529-BCF7-5F102F469ACA@oracle.com> Message-ID: <4DCC71E6.30708@oracle.com> Looks good. Vladimir Tom Rodriguez wrote: > On May 12, 2011, at 4:11 PM, Vladimir Kozlov wrote: > >>> It's a static so it's automatically initialized to 0. >> Agree, but explicit initialization to 0 is much better to understand. > > Ok. > >> nm->compile_kind() is not char so using %c is wrong. > > Oops. My brain saw char and ran with it. I switch to %s and added check for NULL. > >> Why report_events(int id, address entry) uses ARRAY_SIZE(_records) as limit? > > Leftovers again. > >> report_events() misses the check for empty records. May be do memset to 0 after creating the buffer and then check for 0 in report_events. > > Good idea. > > tom > >> Vladimir >> >> Tom Rodriguez wrote: >>> On May 12, 2011, at 3:41 PM, Vladimir Kozlov wrote: >>>> Memory leak since possibly_sweep() could be called several time. You need to free or reset previous ring buffer. >>> I converted from a static buffer to a malloc'ed one and forgot to add the guard so it's only init'ed once. >>>> Missing _sweep_index initialization. >>> It's a static so it's automatically initialized to 0. >>>> SweeperRecord::kind is not printed. >>> I added that. >>>> Should it be assert/guarantee? : >>>> >>>> + if (m != nm->method()) { >>>> + tty->print_cr("method oop changed during lock acquire: " INTPTR_FORMAT " != " INTPTR_FORMAT, m, nm->method()); >>>> + } >>> This should have been deleted. It was debug code I used to confirm the bug. >>> tom >>>> Vlaidmir >>>> >>>> Tom Rodriguez wrote: >>>>> http://cr.openjdk.java.net/~never/6996747 >>>>> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >>>>> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >>>>> Reviewed-by: >>>>> When the sweeper is processing an nmethod it's possible for a >>>>> safepoint to occur while acquiring locks to clean the inline caches. >>>>> This can allow the nmethod to be unloaded in the middle of processing >>>>> it which can result in assertion failures or crashes. I considered >>>>> modifying the locks to skip the safepoint check but it would require >>>>> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >>>>> which seems risky. Instead I keep track of the currently nmethod in >>>>> the CompiledThread and scan it when a GC occurs. I also included some >>>>> sweeper logging code that I wrote while debugging this. Tested with >>>>> failing test from report though we'll need big apps runs to confirm >>>>> that there aren't other issues. > From tom.rodriguez at oracle.com Thu May 12 18:07:48 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 12 May 2011 18:07:48 -0700 Subject: review for 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify In-Reply-To: <4DCC71E6.30708@oracle.com> References: <4E088207-7AAF-4903-8314-8FC2207C15D0@oracle.com> <4DCC6227.1050504@oracle.com> <4DCC690B.1050201@oracle.com> <1C9C8B01-E46E-4529-BCF7-5F102F469ACA@oracle.com> <4DCC71E6.30708@oracle.com> Message-ID: <7ECC02FB-E376-4E0E-9F40-BE30F5F52C5C@oracle.com> Thanks Vladimir and Igor. tom On May 12, 2011, at 4:48 PM, Vladimir Kozlov wrote: > Looks good. > > Vladimir > > Tom Rodriguez wrote: >> On May 12, 2011, at 4:11 PM, Vladimir Kozlov wrote: >>>> It's a static so it's automatically initialized to 0. >>> Agree, but explicit initialization to 0 is much better to understand. >> Ok. >>> nm->compile_kind() is not char so using %c is wrong. >> Oops. My brain saw char and ran with it. I switch to %s and added check for NULL. >>> Why report_events(int id, address entry) uses ARRAY_SIZE(_records) as limit? >> Leftovers again. >>> report_events() misses the check for empty records. May be do memset to 0 after creating the buffer and then check for 0 in report_events. >> Good idea. >> tom >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> On May 12, 2011, at 3:41 PM, Vladimir Kozlov wrote: >>>>> Memory leak since possibly_sweep() could be called several time. You need to free or reset previous ring buffer. >>>> I converted from a static buffer to a malloc'ed one and forgot to add the guard so it's only init'ed once. >>>>> Missing _sweep_index initialization. >>>> It's a static so it's automatically initialized to 0. >>>>> SweeperRecord::kind is not printed. >>>> I added that. >>>>> Should it be assert/guarantee? : >>>>> >>>>> + if (m != nm->method()) { >>>>> + tty->print_cr("method oop changed during lock acquire: " INTPTR_FORMAT " != " INTPTR_FORMAT, m, nm->method()); >>>>> + } >>>> This should have been deleted. It was debug code I used to confirm the bug. >>>> tom >>>>> Vlaidmir >>>>> >>>>> Tom Rodriguez wrote: >>>>>> http://cr.openjdk.java.net/~never/6996747 >>>>>> 149 lines changed: 149 ins; 0 del; 0 mod; 10537 unchg >>>>>> 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify >>>>>> Reviewed-by: >>>>>> When the sweeper is processing an nmethod it's possible for a >>>>>> safepoint to occur while acquiring locks to clean the inline caches. >>>>>> This can allow the nmethod to be unloaded in the middle of processing >>>>>> it which can result in assertion failures or crashes. I considered >>>>>> modifying the locks to skip the safepoint check but it would require >>>>>> changing CompiledIC_lock, InlineCacheBuffer_lock and VtableStubs_lock >>>>>> which seems risky. Instead I keep track of the currently nmethod in >>>>>> the CompiledThread and scan it when a GC occurs. I also included some >>>>>> sweeper logging code that I wrote while debugging this. Tested with >>>>>> failing test from report though we'll need big apps runs to confirm >>>>>> that there aren't other issues. From john.r.rose at oracle.com Thu May 12 18:48:32 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 12 May 2011 18:48:32 -0700 Subject: review request (M): 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke In-Reply-To: <15E5111D-A75B-49F0-9647-1D213CA8D922@oracle.com> References: <15E5111D-A75B-49F0-9647-1D213CA8D922@oracle.com> Message-ID: <6313C1D3-F5A4-4621-BC23-4E35673E5ABD@oracle.com> On May 11, 2011, at 11:41 AM, Christian Thalinger wrote: > On May 11, 2011, at 6:02 PM, John Rose wrote: >> http://cr.openjdk.java.net/~jrose/7034977/webrev.00 >> >> This is the engineering review for the name changes to remove the term "generic" from JSR 292. > > > Looks good. -- Christian Thanks. The final update is here: http://cr.openjdk.java.net/~jrose/7034977/webrev.01 After some suggestions from Joe Darcy, I adjusted some documentation. Also, since EG wasn't unanimous about "general", I held off on changing the MethodType API. -- John From john.r.rose at oracle.com Thu May 12 18:54:07 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 12 May 2011 18:54:07 -0700 Subject: review request (XL): 6939861: JVM should handle more conversion operations In-Reply-To: <7EFF9EF9-DE0E-481F-AB5F-6604838E5F54@oracle.com> References: <7EFF9EF9-DE0E-481F-AB5F-6604838E5F54@oracle.com> Message-ID: <09BAED3E-ABF8-4D96-8A3C-61237D5FB5A1@oracle.com> On May 12, 2011, at 7:58 AM, Christian Thalinger wrote: > On May 11, 2011, at 6:08 PM, John Rose wrote: >> http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.06/ > > src/share/classes/java/lang/invoke/AdapterMethodHandle.java: > > + if (false && spreadArgCount > SPREAD_LIMIT) > + return false; > > + if (false && slotCount + extractStackMove(target) > SPREAD_LIMIT) > + return null; // perhaps spreading a long[] array is going to push too much > > Why are these turned off? > > src/share/classes/java/lang/invoke/MethodHandleImpl.java: > > + assert(false); //OBS > > "OBS"? Obsolete? > > Otherwise looks good. Thanks for spotting that. That was dead code; I removed it. I've updated the webrev a final time: http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.07/ Final changes: - added error checking for MethodHandles.asType - upgraded Test6998541 to test the error checking - marked ValueConversionsTest as "run by hand" to jtreg (requires sun.* API) - backed off of MethodType.general, used MethodType.generic, etc. - removed dead code above Here are the error checking changes broken out separately: http://cr.openjdk.java.net/~jrose/6939861/webrev.jdk.06/appendix With these changes, the included Test6998541 tests the complete matrix of primitive conversions, and passes completely! -- John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110512/e1eb8419/attachment.html From john.r.rose at oracle.com Thu May 12 19:31:42 2011 From: john.r.rose at oracle.com (john.r.rose at oracle.com) Date: Fri, 13 May 2011 02:31:42 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 3 new changesets Message-ID: <20110513023227.448DD47504@hg.openjdk.java.net> Changeset: 28269923b747 Author: fparain Date: 2011-05-06 18:09 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/28269923b747 7028071: Add two attributes to the OperatingSystemMXBean to provide CPU Load info Summary: Add getProcessCpuLoad() and getSystemCpuLoad() to the OperatingSystemMXBean Reviewed-by: acorn, dholmes, mchung ! make/java/management/Makefile ! make/java/management/mapfile-vers ! src/share/classes/com/sun/management/OperatingSystemMXBean.java ! src/solaris/classes/com/sun/management/UnixOperatingSystem.java + src/solaris/native/com/sun/management/LinuxOperatingSystem.c + src/solaris/native/com/sun/management/SolarisOperatingSystem.c ! src/windows/classes/com/sun/management/OperatingSystem.java ! src/windows/native/com/sun/management/OperatingSystem_md.c + test/com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java + test/com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java Changeset: edcd8209e0ff Author: jrose Date: 2011-05-12 19:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/edcd8209e0ff 7034977: JSR 292 MethodHandle.invokeGeneric should be renamed MethodHandle.invoke Summary: rename invokeGeneric to invoke Reviewed-by: never, twisti ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/FromGeneric.java ! src/share/classes/java/lang/invoke/InvokeGeneric.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java ! src/share/classes/java/lang/invoke/package-info.java ! test/java/lang/invoke/InvokeGenericTest.java ! test/java/lang/invoke/JavaDocExamplesTest.java ! test/java/lang/invoke/MethodHandlesTest.java Changeset: 4732a76af216 Author: jrose Date: 2011-05-12 19:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4732a76af216 6939861: JVM should handle more conversion operations Summary: Integrate JDK code with JVM-supplied ricochet frames. Reviewed-by: never, twisti ! src/share/classes/java/lang/invoke/AdapterMethodHandle.java ! src/share/classes/java/lang/invoke/FilterGeneric.java ! src/share/classes/java/lang/invoke/FilterOneArgument.java ! src/share/classes/java/lang/invoke/FromGeneric.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/MemberName.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java ! src/share/classes/java/lang/invoke/SpreadGeneric.java ! src/share/classes/java/lang/invoke/ToGeneric.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! src/share/classes/sun/invoke/util/VerifyType.java ! src/share/classes/sun/invoke/util/Wrapper.java + test/java/lang/invoke/6998541/Test6998541.java ! test/java/lang/invoke/InvokeGenericTest.java ! test/java/lang/invoke/MethodHandlesTest.java + test/java/lang/invoke/RicochetTest.java + test/sun/invoke/util/ValueConversionsTest.java From vladimir.kozlov at oracle.com Sat May 14 17:16:29 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Sat, 14 May 2011 17:16:29 -0700 Subject: Request for reviews (S): 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 Message-ID: <4DCF1B5D.2000009@oracle.com> http://cr.openjdk.java.net/~kvn/7044725/webrev Fixed 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 The main problem in new RCE code was in case when stride and scale have different sign. In that case new main_loop limit was calculated as min(old_main_limit, X) where X=(min_int+1 - (offset+1))/scale. With offset 0 and scale == -1, X value is min_int since min_int/-1 = min_int. So the new main loop limit is min_int. New unrolling code correctly handles such case by skipping main loop. Old code did ((limit -init)/stride) with stride == 1 and init == 1 (value after increment in preloop). So new limit for unrolled loop become (min_int-1) == max_int. I solve this by replacing positive (offset+1) with 0 and avoiding underflow in X calculation. It is the same approach as one used in current code for pre_limit in case scale and stride have the same sign. An other problem with new code is it does not generate the adjusted pre-loop limit when RangeLimitCheck is off. RCE old code did it before. I also factor out common code, replaced (stride*scale) with logical expressions to avoid overflow and I removed obsolete code which generates additional guard for pre_limit since it was added before adjust_limit() starts handle such case. Tested with/without UnrollLimitCheck CTW, JPRT, nsk.stress, 5091921 tests. From vladimir.kozlov at oracle.com Mon May 16 10:10:56 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 16 May 2011 10:10:56 -0700 Subject: Request for reviews (S): 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 In-Reply-To: <4DCF1B5D.2000009@oracle.com> References: <4DCF1B5D.2000009@oracle.com> Message-ID: <4DD15AA0.8060005@oracle.com> After thinking more about pre_limit guard in do_range_check() "min(pre_limit, orig_limit)" I decided to always generate it to be safe. The offset and scale in RC condition could have such values that X=(low_limit-offset)/scale will be outside of loop iterations range: max(pre_limit, X) could be > orig_limit. This change does not invalidate previous testing but I redo it again. Thanks, Vladimir Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7044725/webrev > > Fixed 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index > out of range: 29488 > > The main problem in new RCE code was in case when stride and scale have > different sign. In that case new main_loop limit was calculated as > min(old_main_limit, X) where X=(min_int+1 - (offset+1))/scale. With > offset 0 and scale == -1, X value is min_int since min_int/-1 = min_int. > So the new main loop limit is min_int. New unrolling code correctly > handles such case by skipping main loop. Old code did ((limit > -init)/stride) with stride == 1 and init == 1 (value after increment in > preloop). So new limit for unrolled loop become (min_int-1) == max_int. > I solve this by replacing positive (offset+1) with 0 and avoiding > underflow in X calculation. It is the same approach as one used in > current code for pre_limit in case scale and stride have the same sign. > > An other problem with new code is it does not generate the adjusted > pre-loop limit when RangeLimitCheck is off. RCE old code did it before. > > I also factor out common code, replaced (stride*scale) with logical > expressions to avoid overflow and I removed obsolete code which > generates additional guard for pre_limit since it was added before > adjust_limit() starts handle such case. > > Tested with/without UnrollLimitCheck CTW, JPRT, nsk.stress, 5091921 tests. From tom.deneau at amd.com Mon May 16 10:54:11 2011 From: tom.deneau at amd.com (Deneau, Tom) Date: Mon, 16 May 2011 12:54:11 -0500 Subject: Review Request: UseNUMAInterleaving Message-ID: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> Please review this patch which adds a new flag called UseNUMAInterleaving. This flag provides a subset of the functionality provided by UseNUMA, and its main purpose is to provide that subset on OSes like Windows which do not support the full UseNUMA functionality. In UseNUMA terminology, UseNUMAInterleaved makes all memory "numa_global" which is implemented as interleaved. The situations where this shows the biggest benefits would be: * Windows platforms with multiple numa nodes (eg, 4) * The JVM process is run across all the nodes (not affinitized to one node). * A workload that uses the majority of the cores in the machine, so that the heap is being accessed from many cores, including remote ones. * Enough memory per node and a heap size such that the default heap placement policy on windows would end up with the heap (or nursery) placed on one node. jbb2005 and SPECPower_ssj2008 are examples of such workloads. In our measurements, we have seen some cases where the performance with UseNUMAInterleaving was 2.7x vs. the performance without. There were gains of varying sizes across all systems. As currently implemented this flag is ignored on Linux and Solaris since they already support the full UseNUMA flag. The webrev is at http://cr.openjdk.java.net/~tdeneau/UseNUMAInterleaving/webrev.01/ Summary of changes: * Other than adding the new UseNUMAInterleaving global flag, all of the changes are in src/os/windows/vm/os_windows.cpp * Some static routines were added to set things up init time. These * check that the required APIs (VirtualAllocExNuma, GetNumaHighestNodeNumber, GetNumaNodeProcessorMask) exist in the OS * build the list of numa nodes on which this process has affinity * Changes to os::reserve_memory * There was already a routine that reserved pages one page at a time (used for Individual Large Page Allocation on WS2003). This was abstracted to a separate routine, called allocate_pages_individually. This gets called both for the Individual Large Page Allocation thing mentioned above and for UseNUMAInterleaving (for both small and large pages) * When used for NUMA Interleaving this just goes thru the numa node list in a round-robin fashion, using a different one for each chunk (with 4K pages, the minimum allocation granularity is 64K, with 2M pages it is 1 Page) * Whether we do just a reserve or a combined reserve/commit is determined by the caller of allocate_pages_individually * When used with large pages, we do a Reserve and Commit at the same time which is the way it always worked and the way it has to work on windows. * For small pages, only the reserve is done, the commit will come later. (which is the way it worked for non-interleaved) * os::commit_memory changes * If UseNUMAIntereaving is true, os::commit_memory has to check whether it was being asked to commit memory that might have come from multiple Reserve allocations, if so, the commits must also be broken up. We don't keep any data structure to keep track of this, we just use VirtualQuery which queries the properties of a VA range and can tell us how much came from one VirtualAlloc call. I do not have a bug id for this. -- Tom Deneau, AMD From dmdabbs at gmail.com Mon May 16 11:21:03 2011 From: dmdabbs at gmail.com (David Dabbs) Date: Mon, 16 May 2011 13:21:03 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> Message-ID: <00c801cc13f6$04e79470$0eb6bd50$@com> > -----Original Message----- > From: hotspot-compiler-dev-bounces at openjdk.java.net [mailto:hotspot- > compiler-dev-bounces at openjdk.java.net] On Behalf Of Deneau, Tom > Sent: Monday, May 16, 2011 12:54 PM > To: 'hotspot-compiler-dev at openjdk.java.net' > Subject: Review Request: UseNUMAInterleaving > > Please review this patch which adds a new flag called > UseNUMAInterleaving. This flag provides a subset of the functionality > provided by UseNUMA, and its main purpose is to provide that subset on > OSes like Windows which do not support the full UseNUMA functionality. > In UseNUMA terminology, UseNUMAInterleaved makes all memory > "numa_global" which is implemented as interleaved. > > The situations where this shows the biggest benefits would be: > * Windows platforms with multiple numa nodes (eg, 4) > > * The JVM process is run across all the nodes (not affinitized to > one node). > > * A workload that uses the majority of the cores in the machine, so > that the heap is being accessed from many cores, including remote > ones. > > * Enough memory per node and a heap size such that the default heap > placement policy on windows would end up with the heap (or > nursery) placed on one node. > > jbb2005 and SPECPower_ssj2008 are examples of such workloads. In our > measurements, we have seen some cases where the performance with > UseNUMAInterleaving was 2.7x vs. the performance without. There were > gains of varying sizes across all systems. > > As currently implemented this flag is ignored on Linux and Solaris > since they already support the full UseNUMA flag. > > The webrev is at > http://cr.openjdk.java.net/~tdeneau/UseNUMAInterleaving/webrev.01/ > > Summary of changes: > > * Other than adding the new UseNUMAInterleaving global flag, all of > the changes are in src/os/windows/vm/os_windows.cpp > > * Some static routines were added to set things up init time. These > * check that the required APIs (VirtualAllocExNuma, > GetNumaHighestNodeNumber, GetNumaNodeProcessorMask) exist in > the OS > > * build the list of numa nodes on which this process has affinity > > * Changes to os::reserve_memory > * There was already a routine that reserved pages one page at a > time (used for Individual Large Page Allocation on WS2003). > This was abstracted to a separate routine, called > allocate_pages_individually. This gets called both for the > Individual Large Page Allocation thing mentioned above and for > UseNUMAInterleaving (for both small and large pages) > > * When used for NUMA Interleaving this just goes thru the numa > node list in a round-robin fashion, using a different one for > each chunk (with 4K pages, the minimum allocation granularity > is 64K, with 2M pages it is 1 Page) > > * Whether we do just a reserve or a combined reserve/commit is > determined by the caller of allocate_pages_individually > > * When used with large pages, we do a Reserve and Commit at > the same time which is the way it always worked and the way > it has to work on windows. > > * For small pages, only the reserve is done, the commit will > come later. (which is the way it worked for > non-interleaved) > > * os::commit_memory changes > * If UseNUMAIntereaving is true, os::commit_memory has to check > whether it was being asked to commit memory that might have > come from multiple Reserve allocations, if so, the commits > must also be broken up. We don't keep any data structure to > keep track of this, we just use VirtualQuery which queries the > properties of a VA range and can tell us how much came from > one VirtualAlloc call. > > I do not have a bug id for this. > > -- Tom Deneau, AMD Could this flag help Linux systems with kernel < 2.6.19, or is that the minimum kernel needed for any JVM NUMA support? Unfortunately, we run CentOS 5.5 (2.6.18) Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux and so -XX:+UseNUMA does not activate (at least not according to PrintFlagsFinal). >From http://www.infoq.com/news/2010/01/java6u18 In the Java HotSpot VM, the NUMA-aware allocator has been implemented to provide automatic memory placement optimisations for Java applications. Typically, every processor in the system has a local memory that provides low access latency and high bandwidth, and remote memory that is considerably slower to access. The NUMA-aware allocator is implemented for Solaris (>= 9u2) and Linux (kernel >= 2.6.19, glibc >= 2.6.1) operating systems, and can be turned on for the Parallel Scavenger garbage collector with the -XX:+UseNUMA flag. Parallel Scavenger remains the default for a server-class machine and can also be turned on explicitly by specifying the -XX:+UseParallelGC option. The impact of the change is significant: When evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron machine, NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) increase in performance. Thanks, David From igor.veresov at oracle.com Mon May 16 12:53:47 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 16 May 2011 12:53:47 -0700 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <00c801cc13f6$04e79470$0eb6bd50$@com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> Message-ID: <4DD180CB.1080400@oracle.com> On 5/16/11 11:21 AM, David Dabbs wrote: The 2.6.19 requirement is there because we need the sched_getcpu() syscall to determine on which CPU we're running. I guess it won't be hard to extend UseNUMAInterleaving to work on other OSes, including old Linuxes. You can, however, achieve the same effect by running the VM with "numactl -i all java " or by turning interleaving on in BIOS in hardware. igor > > > Could this flag help Linux systems with kernel< 2.6.19, or is that the > minimum kernel needed for any JVM NUMA support? > Unfortunately, we run CentOS 5.5 (2.6.18) > > Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT 2010 > x86_64 x86_64 x86_64 GNU/Linux > > and so -XX:+UseNUMA does not activate (at least not according to > PrintFlagsFinal). > >> From http://www.infoq.com/news/2010/01/java6u18 > In the Java HotSpot VM, the NUMA-aware allocator has been implemented to > provide automatic memory placement optimisations for Java applications. > Typically, every processor in the system has a local memory that provides > low access latency and high bandwidth, and remote memory that is > considerably slower to access. The NUMA-aware allocator is implemented for > Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) operating > systems, and can be turned on for the Parallel Scavenger garbage collector > with the -XX:+UseNUMA flag. Parallel Scavenger remains the default for a > server-class machine and can also be turned on explicitly by specifying the > -XX:+UseParallelGC option. The impact of the change is significant: When > evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron machine, > NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) > increase in performance. > > > > Thanks, > > David > > > > From dmdabbs at gmail.com Mon May 16 13:04:16 2011 From: dmdabbs at gmail.com (David Dabbs) Date: Mon, 16 May 2011 15:04:16 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD180CB.1080400@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> Message-ID: <00e001cc1404$714b0b70$53e12250$@com> > -----Original Message----- > From: Igor Veresov > Sent: Monday, May 16, 2011 2:54 PM > To: David Dabbs > Subject: Re: Review Request: UseNUMAInterleaving > > On 5/16/11 11:21 AM, David Dabbs wrote: > > The 2.6.19 requirement is there because we need the sched_getcpu() > syscall to determine on which CPU we're running. > > I guess it won't be hard to extend UseNUMAInterleaving to work on other > OSes, including old Linuxes. You can, however, achieve the same effect > by running the VM with "numactl -i all java " or by > turning interleaving on in BIOS in hardware. > > igor > Thank you for the info, Igor. So these two options you provided should work for an "old Linux" (2.6.18, glibc-2.5-49.el5_5.7)? Are they equivalent? Thank you, David > > > > > > Could this flag help Linux systems with kernel< 2.6.19, or is that > the > > minimum kernel needed for any JVM NUMA support? > > Unfortunately, we run CentOS 5.5 (2.6.18) > > > > Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT > 2010 > > x86_64 x86_64 x86_64 GNU/Linux > > > > and so -XX:+UseNUMA does not activate (at least not according to > > PrintFlagsFinal). > > > >> From http://www.infoq.com/news/2010/01/java6u18 > > In the Java HotSpot VM, the NUMA-aware allocator has been implemented > to > > provide automatic memory placement optimisations for Java > applications. > > Typically, every processor in the system has a local memory that > provides > > low access latency and high bandwidth, and remote memory that is > > considerably slower to access. The NUMA-aware allocator is > implemented for > > Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) operating > > systems, and can be turned on for the Parallel Scavenger garbage > collector > > with the -XX:+UseNUMA flag. Parallel Scavenger remains the default > for a > > server-class machine and can also be turned on explicitly by > specifying the > > -XX:+UseParallelGC option. The impact of the change is significant: > When > > evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron > machine, > > NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) > > increase in performance. > > > > > > > > Thanks, > > > > David > > > > > > > > From tom.rodriguez at oracle.com Mon May 16 13:17:37 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 16 May 2011 13:17:37 -0700 Subject: Request for reviews (S): 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 In-Reply-To: <4DD15AA0.8060005@oracle.com> References: <4DCF1B5D.2000009@oracle.com> <4DD15AA0.8060005@oracle.com> Message-ID: <31909AD7-FC65-4219-AF19-8A2914F08A1E@oracle.com> Ok. tom On May 16, 2011, at 10:10 AM, Vladimir Kozlov wrote: > After thinking more about pre_limit guard in do_range_check() "min(pre_limit, orig_limit)" I decided to always generate it to be safe. The offset and scale in RC condition could have such values that X=(low_limit-offset)/scale will be outside of loop iterations range: max(pre_limit, X) could be > orig_limit. > This change does not invalidate previous testing but I redo it again. > > Thanks, > Vladimir > > Vladimir Kozlov wrote: >> http://cr.openjdk.java.net/~kvn/7044725/webrev >> Fixed 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 >> The main problem in new RCE code was in case when stride and scale have different sign. In that case new main_loop limit was calculated as >> min(old_main_limit, X) where X=(min_int+1 - (offset+1))/scale. With offset 0 and scale == -1, X value is min_int since min_int/-1 = min_int. So the new main loop limit is min_int. New unrolling code correctly handles such case by skipping main loop. Old code did ((limit -init)/stride) with stride == 1 and init == 1 (value after increment in preloop). So new limit for unrolled loop become (min_int-1) == max_int. I solve this by replacing positive (offset+1) with 0 and avoiding underflow in X calculation. It is the same approach as one used in current code for pre_limit in case scale and stride have the same sign. >> An other problem with new code is it does not generate the adjusted pre-loop limit when RangeLimitCheck is off. RCE old code did it before. >> I also factor out common code, replaced (stride*scale) with logical expressions to avoid overflow and I removed obsolete code which generates additional guard for pre_limit since it was added before adjust_limit() starts handle such case. >> Tested with/without UnrollLimitCheck CTW, JPRT, nsk.stress, 5091921 tests. From vladimir.kozlov at oracle.com Mon May 16 14:00:27 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 16 May 2011 14:00:27 -0700 Subject: Request for reviews (S): 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 In-Reply-To: <31909AD7-FC65-4219-AF19-8A2914F08A1E@oracle.com> References: <4DCF1B5D.2000009@oracle.com> <4DD15AA0.8060005@oracle.com> <31909AD7-FC65-4219-AF19-8A2914F08A1E@oracle.com> Message-ID: <4DD1906B.5020306@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > Ok. > > tom > > On May 16, 2011, at 10:10 AM, Vladimir Kozlov wrote: > >> After thinking more about pre_limit guard in do_range_check() "min(pre_limit, orig_limit)" I decided to always generate it to be safe. The offset and scale in RC condition could have such values that X=(low_limit-offset)/scale will be outside of loop iterations range: max(pre_limit, X) could be > orig_limit. >> This change does not invalidate previous testing but I redo it again. >> >> Thanks, >> Vladimir >> >> Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/7044725/webrev >>> Fixed 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 >>> The main problem in new RCE code was in case when stride and scale have different sign. In that case new main_loop limit was calculated as >>> min(old_main_limit, X) where X=(min_int+1 - (offset+1))/scale. With offset 0 and scale == -1, X value is min_int since min_int/-1 = min_int. So the new main loop limit is min_int. New unrolling code correctly handles such case by skipping main loop. Old code did ((limit -init)/stride) with stride == 1 and init == 1 (value after increment in preloop). So new limit for unrolled loop become (min_int-1) == max_int. I solve this by replacing positive (offset+1) with 0 and avoiding underflow in X calculation. It is the same approach as one used in current code for pre_limit in case scale and stride have the same sign. >>> An other problem with new code is it does not generate the adjusted pre-loop limit when RangeLimitCheck is off. RCE old code did it before. >>> I also factor out common code, replaced (stride*scale) with logical expressions to avoid overflow and I removed obsolete code which generates additional guard for pre_limit since it was added before adjust_limit() starts handle such case. >>> Tested with/without UnrollLimitCheck CTW, JPRT, nsk.stress, 5091921 tests. > From igor.veresov at oracle.com Mon May 16 14:28:18 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 16 May 2011 14:28:18 -0700 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <00e001cc1404$714b0b70$53e12250$@com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> Message-ID: <4DD196F2.7010506@oracle.com> On 5/16/11 1:04 PM, David Dabbs wrote: > > >> -----Original Message----- >> From: Igor Veresov >> Sent: Monday, May 16, 2011 2:54 PM >> To: David Dabbs >> Subject: Re: Review Request: UseNUMAInterleaving >> >> On 5/16/11 11:21 AM, David Dabbs wrote: >> >> The 2.6.19 requirement is there because we need the sched_getcpu() >> syscall to determine on which CPU we're running. >> >> I guess it won't be hard to extend UseNUMAInterleaving to work on other >> OSes, including old Linuxes. You can, however, achieve the same effect >> by running the VM with "numactl -i all java" or by >> turning interleaving on in BIOS in hardware. >> >> igor >> > > Thank you for the info, Igor. So these two options you provided should > work for an "old Linux" (2.6.18, glibc-2.5-49.el5_5.7)? Are they equivalent? > I don't actually recall what interleaving granularity will the hardware option provide. It could be less than a page (which would be the minimum granularity of any software method). Tom probably knows more about that. Also, the numactl method won't work if you're using large pages. igor > > Thank you, > > David > > > >>> >>> >>> Could this flag help Linux systems with kernel< 2.6.19, or is that >> the >>> minimum kernel needed for any JVM NUMA support? >>> Unfortunately, we run CentOS 5.5 (2.6.18) >>> >>> Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT >> 2010 >>> x86_64 x86_64 x86_64 GNU/Linux >>> >>> and so -XX:+UseNUMA does not activate (at least not according to >>> PrintFlagsFinal). >>> >>>> From http://www.infoq.com/news/2010/01/java6u18 >>> In the Java HotSpot VM, the NUMA-aware allocator has been implemented >> to >>> provide automatic memory placement optimisations for Java >> applications. >>> Typically, every processor in the system has a local memory that >> provides >>> low access latency and high bandwidth, and remote memory that is >>> considerably slower to access. The NUMA-aware allocator is >> implemented for >>> Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) operating >>> systems, and can be turned on for the Parallel Scavenger garbage >> collector >>> with the -XX:+UseNUMA flag. Parallel Scavenger remains the default >> for a >>> server-class machine and can also be turned on explicitly by >> specifying the >>> -XX:+UseParallelGC option. The impact of the change is significant: >> When >>> evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron >> machine, >>> NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) >>> increase in performance. >>> >>> >>> >>> Thanks, >>> >>> David >>> >>> >>> >>> > > From dmdabbs at gmail.com Mon May 16 14:33:58 2011 From: dmdabbs at gmail.com (David Dabbs) Date: Mon, 16 May 2011 16:33:58 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD196F2.7010506@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> Message-ID: <000601cc1410$f82665c0$e8733140$@com> > -----Original Message----- > From: Igor Veresov [mailto:igor.veresov at oracle.com] > Sent: Monday, May 16, 2011 4:28 PM > To: David Dabbs > Cc: 'Deneau, Tom'; hotspot-compiler-dev at openjdk.java.net > Subject: Re: Review Request: UseNUMAInterleaving > > On 5/16/11 1:04 PM, David Dabbs wrote: > > > > > >> -----Original Message----- > >> From: Igor Veresov > >> Sent: Monday, May 16, 2011 2:54 PM > >> To: David Dabbs > >> Subject: Re: Review Request: UseNUMAInterleaving > >> > >> On 5/16/11 11:21 AM, David Dabbs wrote: > >> > >> The 2.6.19 requirement is there because we need the sched_getcpu() > >> syscall to determine on which CPU we're running. > >> > >> I guess it won't be hard to extend UseNUMAInterleaving to work on > other > >> OSes, including old Linuxes. You can, however, achieve the same > effect > >> by running the VM with "numactl -i all java" or by > >> turning interleaving on in BIOS in hardware. > >> > >> igor > >> > > > > Thank you for the info, Igor. So these two options you provided > should > > work for an "old Linux" (2.6.18, glibc-2.5-49.el5_5.7)? Are they > equivalent? > > > > I don't actually recall what interleaving granularity will the hardware > option provide. It could be less than a page (which would be the > minimum > granularity of any software method). Tom probably knows more about > that. > > Also, the numactl method won't work if you're using large pages. > > igor > I was afraid LargePages would be a deal-killer. We use a 2M page size. Oh well. Thank you. David > > > > Thank you, > > > > David > > > > > > > >>> > >>> > >>> Could this flag help Linux systems with kernel< 2.6.19, or is > that > >> the > >>> minimum kernel needed for any JVM NUMA support? > >>> Unfortunately, we run CentOS 5.5 (2.6.18) > >>> > >>> Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT > >> 2010 > >>> x86_64 x86_64 x86_64 GNU/Linux > >>> > >>> and so -XX:+UseNUMA does not activate (at least not according to > >>> PrintFlagsFinal). > >>> > >>>> From http://www.infoq.com/news/2010/01/java6u18 > >>> In the Java HotSpot VM, the NUMA-aware allocator has been > implemented > >> to > >>> provide automatic memory placement optimisations for Java > >> applications. > >>> Typically, every processor in the system has a local memory that > >> provides > >>> low access latency and high bandwidth, and remote memory that is > >>> considerably slower to access. The NUMA-aware allocator is > >> implemented for > >>> Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) > operating > >>> systems, and can be turned on for the Parallel Scavenger garbage > >> collector > >>> with the -XX:+UseNUMA flag. Parallel Scavenger remains the default > >> for a > >>> server-class machine and can also be turned on explicitly by > >> specifying the > >>> -XX:+UseParallelGC option. The impact of the change is significant: > >> When > >>> evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron > >> machine, > >>> NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64- > bit) > >>> increase in performance. > >>> > >>> > >>> > >>> Thanks, > >>> > >>> David > >>> > >>> > >>> > >>> > > > > From tom.deneau at amd.com Mon May 16 15:26:00 2011 From: tom.deneau at amd.com (Deneau, Tom) Date: Mon, 16 May 2011 17:26:00 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <000601cc1410$f82665c0$e8733140$@com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> Message-ID: <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> David -- The BIOS interleaving option interleaves at a 4K granularity. The OS is completely unaware of this interleaving so yes it will work with any kernel and it will also work with large pages (The 2M of contiguous physical address covering a large page will be interleaved across nodes at 4K granularity). Some downsides are: * it affects everything running on the system, whereas the numactl -i solution (or the proposed UseNUMAInterleaving) affects only that single process * not all BIOSes support this option -- Tom -----Original Message----- From: David Dabbs [mailto:dmdabbs at gmail.com] Sent: Monday, May 16, 2011 4:34 PM To: 'Igor Veresov' Cc: Deneau, Tom; hotspot-compiler-dev at openjdk.java.net Subject: RE: Review Request: UseNUMAInterleaving > -----Original Message----- > From: Igor Veresov [mailto:igor.veresov at oracle.com] > Sent: Monday, May 16, 2011 4:28 PM > To: David Dabbs > Cc: 'Deneau, Tom'; hotspot-compiler-dev at openjdk.java.net > Subject: Re: Review Request: UseNUMAInterleaving > > On 5/16/11 1:04 PM, David Dabbs wrote: > > > > > >> -----Original Message----- > >> From: Igor Veresov > >> Sent: Monday, May 16, 2011 2:54 PM > >> To: David Dabbs > >> Subject: Re: Review Request: UseNUMAInterleaving > >> > >> On 5/16/11 11:21 AM, David Dabbs wrote: > >> > >> The 2.6.19 requirement is there because we need the sched_getcpu() > >> syscall to determine on which CPU we're running. > >> > >> I guess it won't be hard to extend UseNUMAInterleaving to work on > other > >> OSes, including old Linuxes. You can, however, achieve the same > effect > >> by running the VM with "numactl -i all java" or by > >> turning interleaving on in BIOS in hardware. > >> > >> igor > >> > > > > Thank you for the info, Igor. So these two options you provided > should > > work for an "old Linux" (2.6.18, glibc-2.5-49.el5_5.7)? Are they > equivalent? > > > > I don't actually recall what interleaving granularity will the hardware > option provide. It could be less than a page (which would be the > minimum > granularity of any software method). Tom probably knows more about > that. > > Also, the numactl method won't work if you're using large pages. > > igor > I was afraid LargePages would be a deal-killer. We use a 2M page size. Oh well. Thank you. David > > > > Thank you, > > > > David > > > > > > > >>> > >>> > >>> Could this flag help Linux systems with kernel< 2.6.19, or is > that > >> the > >>> minimum kernel needed for any JVM NUMA support? > >>> Unfortunately, we run CentOS 5.5 (2.6.18) > >>> > >>> Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT > >> 2010 > >>> x86_64 x86_64 x86_64 GNU/Linux > >>> > >>> and so -XX:+UseNUMA does not activate (at least not according to > >>> PrintFlagsFinal). > >>> > >>>> From http://www.infoq.com/news/2010/01/java6u18 > >>> In the Java HotSpot VM, the NUMA-aware allocator has been > implemented > >> to > >>> provide automatic memory placement optimisations for Java > >> applications. > >>> Typically, every processor in the system has a local memory that > >> provides > >>> low access latency and high bandwidth, and remote memory that is > >>> considerably slower to access. The NUMA-aware allocator is > >> implemented for > >>> Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) > operating > >>> systems, and can be turned on for the Parallel Scavenger garbage > >> collector > >>> with the -XX:+UseNUMA flag. Parallel Scavenger remains the default > >> for a > >>> server-class machine and can also be turned on explicitly by > >> specifying the > >>> -XX:+UseParallelGC option. The impact of the change is significant: > >> When > >>> evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron > >> machine, > >>> NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64- > bit) > >>> increase in performance. > >>> > >>> > >>> > >>> Thanks, > >>> > >>> David > >>> > >>> > >>> > >>> > > > > From tom.rodriguez at oracle.com Mon May 16 16:06:03 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Mon, 16 May 2011 23:06:03 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 22 new changesets Message-ID: <20110516230641.DA06C47670@hg.openjdk.java.net> Changeset: f789bf584429 Author: schien Date: 2011-04-28 17:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f789bf584429 Added tag jdk7-b140 for changeset d283b8296671 ! .hgtags Changeset: 41c663fc6be1 Author: schien Date: 2011-05-02 09:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/41c663fc6be1 Merge Changeset: 175f5f4b41e1 Author: trims Date: 2011-05-03 16:00 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/175f5f4b41e1 Added tag hs21-b10 for changeset d283b8296671 ! .hgtags Changeset: 5d07913abd59 Author: trims Date: 2011-05-03 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/5d07913abd59 Merge - make/linux/makefiles/cscope.make - make/solaris/makefiles/cscope.make Changeset: 66b35d6aefbe Author: schien Date: 2011-05-05 14:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/66b35d6aefbe Added tag jdk7-b141 for changeset 5d07913abd59 ! .hgtags Changeset: 212479c24edc Author: trims Date: 2011-05-06 14:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/212479c24edc Added tag hs21-b11 for changeset 3aea9e9feb07 ! .hgtags Changeset: 96d55ef0792c Author: trims Date: 2011-05-06 14:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/96d55ef0792c Merge Changeset: 9ad1548c6b63 Author: trims Date: 2011-05-06 14:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/9ad1548c6b63 7040779: Bump the HS21 build number to 12 Summary: Update the HS21 build number to 12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 357d1f583599 Author: dcubed Date: 2011-05-11 08:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/357d1f583599 7043298: 4/4 fix for 7028172 causes "Label too long: ..." error message Summary: Use '-e' version of sed expressions. Clarify and fix comments Reviewed-by: never, acorn ! make/solaris/makefiles/saproc.make Changeset: f1cbbee6713b Author: kamg Date: 2011-05-11 13:19 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f1cbbee6713b Merge Changeset: 78542e2b5e35 Author: fparain Date: 2011-05-12 10:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/78542e2b5e35 7036199: Adding a notification to the implementation of GarbageCollectorMXBeans Summary: Add a notification to the GarbageCollectorMXBeans Reviewed-by: acorn, mchung ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/runtime/serviceThread.cpp + src/share/vm/services/gcNotifier.cpp + src/share/vm/services/gcNotifier.hpp ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp ! src/share/vm/services/management.hpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp Changeset: fc2b798ab316 Author: ysr Date: 2011-05-10 00:33 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/fc2b798ab316 6883834: ParNew: assert(!_g->to()->is_in_reserved(obj),"Scanning field twice?") with LargeObjects tests Summary: Fixed process_chunk_boundaries(), used for parallel card scanning when using ParNew/CMS, so as to prevent double-scanning, or worse, non-scanning of imprecisely marked objects exceeding parallel chunk size. Made some sizing parameters for parallel card scanning diagnostic, disabled ParallelGCRetainPLAB, and elaborated and clarified some comments. Reviewed-by: stefank, johnc ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/gc_implementation/parNew/parOopClosures.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/space.cpp ! src/share/vm/runtime/globals.hpp Changeset: 97b64f73103b Author: iveresov Date: 2011-05-10 12:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/97b64f73103b 7043564: compile warning and copyright fixes Summary: Fixed the warning, also fixed copyrights in a bunch of files. Reviewed-by: johnc, kvn ! src/os/linux/vm/os_linux.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/advancedThresholdPolicy.hpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp ! src/share/vm/runtime/simpleThresholdPolicy.hpp Changeset: 7d64aa23eb96 Author: ysr Date: 2011-05-11 15:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7d64aa23eb96 7043891: CMS: assert(_whole_heap.contains(p)) failed: out of bounds access to card marking array Summary: Fixed assertion checking code that was attempting to translate addresses past end of space for card-table slot. Also elaborated some assertion checking messages. Reviewed-by: iveresov, jmasa, tonyp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/cardTableModRefBS.hpp Changeset: 30d3b13f1938 Author: ysr Date: 2011-05-12 15:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/30d3b13f1938 Merge ! src/share/vm/runtime/globals.hpp Changeset: 153957c9207b Author: ysr Date: 2011-05-12 17:36 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/153957c9207b Merge Changeset: 3fd6f2d58ef3 Author: never Date: 2011-05-12 16:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3fd6f2d58ef3 Merge Changeset: 688202ef6306 Author: never Date: 2011-05-12 19:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/688202ef6306 Merge ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/globals.hpp Changeset: 7133c05d365a Author: schien Date: 2011-05-12 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7133c05d365a Added tag jdk7-b142 for changeset 9ad1548c6b63 ! .hgtags Changeset: 0effff0c9721 Author: trims Date: 2011-05-12 21:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/0effff0c9721 Added tag hs21-b12 for changeset 9ad1548c6b63 ! .hgtags Changeset: a7ccd5419f48 Author: trims Date: 2011-05-12 22:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a7ccd5419f48 Merge Changeset: c149193c768b Author: trims Date: 2011-05-12 22:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/c149193c768b 7040780: Bump the HS21 build number to 13 Summary: Update the HS21 build number to 13 Reviewed-by: jcoomes ! make/hotspot_version From paul.hohensee at oracle.com Mon May 16 16:18:57 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Mon, 16 May 2011 19:18:57 -0400 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> Message-ID: <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> I suggest you just use -XX:+UseNUMA rather than adding a new flag. UseNUMA seems generic enough to cover whatever implementation is best on a particular platform. Paul Sent from my iPhone On May 16, 2011, at 6:26 PM, "Deneau, Tom" wrote: > David -- > > The BIOS interleaving option interleaves at a 4K granularity. > The OS is completely unaware of this interleaving so yes it will work with any kernel and it will also work with large pages (The 2M of contiguous physical address covering a large page will be interleaved across nodes at 4K granularity). Some downsides are: > * it affects everything running on the system, whereas the numactl -i solution > (or the proposed UseNUMAInterleaving) affects only that single process > * not all BIOSes support this option > > -- Tom > > > -----Original Message----- > From: David Dabbs [mailto:dmdabbs at gmail.com] > Sent: Monday, May 16, 2011 4:34 PM > To: 'Igor Veresov' > Cc: Deneau, Tom; hotspot-compiler-dev at openjdk.java.net > Subject: RE: Review Request: UseNUMAInterleaving > > > >> -----Original Message----- >> From: Igor Veresov [mailto:igor.veresov at oracle.com] >> Sent: Monday, May 16, 2011 4:28 PM >> To: David Dabbs >> Cc: 'Deneau, Tom'; hotspot-compiler-dev at openjdk.java.net >> Subject: Re: Review Request: UseNUMAInterleaving >> >> On 5/16/11 1:04 PM, David Dabbs wrote: >>> >>> >>>> -----Original Message----- >>>> From: Igor Veresov >>>> Sent: Monday, May 16, 2011 2:54 PM >>>> To: David Dabbs >>>> Subject: Re: Review Request: UseNUMAInterleaving >>>> >>>> On 5/16/11 11:21 AM, David Dabbs wrote: >>>> >>>> The 2.6.19 requirement is there because we need the sched_getcpu() >>>> syscall to determine on which CPU we're running. >>>> >>>> I guess it won't be hard to extend UseNUMAInterleaving to work on >> other >>>> OSes, including old Linuxes. You can, however, achieve the same >> effect >>>> by running the VM with "numactl -i all java" or by >>>> turning interleaving on in BIOS in hardware. >>>> >>>> igor >>>> >>> >>> Thank you for the info, Igor. So these two options you provided >> should >>> work for an "old Linux" (2.6.18, glibc-2.5-49.el5_5.7)? Are they >> equivalent? >>> >> >> I don't actually recall what interleaving granularity will the hardware >> option provide. It could be less than a page (which would be the >> minimum >> granularity of any software method). Tom probably knows more about >> that. >> >> Also, the numactl method won't work if you're using large pages. >> >> igor >> > > > I was afraid LargePages would be a deal-killer. We use a 2M page size. Oh > well. > Thank you. > > David > > >>> >>> Thank you, >>> >>> David >>> >>> >>> >>>>> >>>>> >>>>> Could this flag help Linux systems with kernel< 2.6.19, or is >> that >>>> the >>>>> minimum kernel needed for any JVM NUMA support? >>>>> Unfortunately, we run CentOS 5.5 (2.6.18) >>>>> >>>>> Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT >>>> 2010 >>>>> x86_64 x86_64 x86_64 GNU/Linux >>>>> >>>>> and so -XX:+UseNUMA does not activate (at least not according to >>>>> PrintFlagsFinal). >>>>> >>>>>> From http://www.infoq.com/news/2010/01/java6u18 >>>>> In the Java HotSpot VM, the NUMA-aware allocator has been >> implemented >>>> to >>>>> provide automatic memory placement optimisations for Java >>>> applications. >>>>> Typically, every processor in the system has a local memory that >>>> provides >>>>> low access latency and high bandwidth, and remote memory that is >>>>> considerably slower to access. The NUMA-aware allocator is >>>> implemented for >>>>> Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) >> operating >>>>> systems, and can be turned on for the Parallel Scavenger garbage >>>> collector >>>>> with the -XX:+UseNUMA flag. Parallel Scavenger remains the default >>>> for a >>>>> server-class machine and can also be turned on explicitly by >>>> specifying the >>>>> -XX:+UseParallelGC option. The impact of the change is significant: >>>> When >>>>> evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron >>>> machine, >>>>> NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64- >> bit) >>>>> increase in performance. >>>>> >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> David >>>>> >>>>> >>>>> >>>>> >>> >>> > > > > From vladimir.kozlov at oracle.com Mon May 16 18:47:17 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 17 May 2011 01:47:17 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 Message-ID: <20110517014719.B233D47676@hg.openjdk.java.net> Changeset: 38569792a45a Author: kvn Date: 2011-05-16 14:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/38569792a45a 7044725: -XX:-UnrollLimitCheck -Xcomp : Exception: String index out of range: 29488 Summary: Fix problems in new RCE code. Reviewed-by: never ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/loopnode.hpp From tom.rodriguez at oracle.com Tue May 17 00:32:27 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Tue, 17 May 2011 07:32:27 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify Message-ID: <20110517073229.8CF2447682@hg.openjdk.java.net> Changeset: f52ed367b66d Author: never Date: 2011-05-16 22:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f52ed367b66d 6996747: SIGSEGV in nmethod::cleanup_inline_caches / CompiledIC::verify Reviewed-by: kvn, iveresov ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp From aph at redhat.com Tue May 17 02:12:05 2011 From: aph at redhat.com (Andrew Haley) Date: Tue, 17 May 2011 10:12:05 +0100 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> Message-ID: <4DD23BE5.3080803@redhat.com> On 17/05/11 00:18, Paul Hohensee wrote: > I suggest you just use -XX:+UseNUMA rather than adding a new > flag. UseNUMA seems generic enough to cover whatever implementation > is best on a particular platform. Indeed. I am worried by the proliferation of command-line optimization flags that have obscure meanings that are difficult to understand by anyone unfamiliar with a particular computer architecture. This sort of tweakage might be mostly used by people doing benchmarking. When should this flag *not* be used? To make it more useful, is it possible to make any of this the default? Can a system where it is advantageous be autodetected? Andrew. From john.r.rose at oracle.com Tue May 17 04:37:00 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 04:37:00 -0700 Subject: review request (M): 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one Message-ID: <96B57009-559F-4B93-A111-D21C7CA2D805@oracle.com> http://cr.openjdk.java.net/~jrose/7044892/webrev.00/ 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one This is basically a bundle of point fixes having to do with corner cases. Grouped under this bug: 7038847: MethodType.fromMethodDescriptorString accepts both "binary names"/"internal form of binary names" 7038860: MethodType.methodType(Class rtype, Class[] ptypes) doesn't throw NPE if ptypes is null 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke 7042829: JSR292: MethodHandles$Lookup.findStatic[S|G]etter throws InternalError if SecurityManager is set 7041853: findGetter throws unexpected IllegalAccessException -NOBUG-: asCollector throws ArrayIndexOutOfBoundsException instead of IllegalArgumentException for values outside [0..255] -NOBUG-: asVarargsCollector gets wrong trailing parameter type -NOBUG-: MethodType.unwrap on chokes on void if class Void occurs in the parameter list -NOBUG-: MethodHandle.toString need to produce compliant output From john.r.rose at oracle.com Tue May 17 04:45:21 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 04:45:21 -0700 Subject: review request (S): 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke Message-ID: <913A7682-B81C-4273-B56F-1EEA5521EB2C@oracle.com> This is a point fix to make the native methods MethodHandle.invoke and .invokeExact throw UnsupportedOperationException. Currently they throw a linkage exception, because they are not actually defined by C code. (They are defined by Java, but when called fail to link. This UOE is the documented exception type.) http://cr.openjdk.java.net/~jrose/7044892/webrev.jvm.00/src/share/vm/prims/methodHandles.cpp.udiff.html Because this is an exception error, it is bundled with bug 7044892. This is a separate review because it is a JVM code change. -- John From john.r.rose at oracle.com Tue May 17 04:45:27 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 04:45:27 -0700 Subject: review request (M): 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called Message-ID: <59FF3139-1B43-4CD6-95D2-AA9386119DC5@oracle.com> http://cr.openjdk.java.net/~jrose/7032850/webrev.00/ 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called Summary: Implement invocation corner cases, including correct type conversions and interface type enforcement. This is a fix for invoke[Generic], which was failing to process some reference conversions correctly. This includes a related fix for interface conversions; the code was not issuing checkcasts against interfaces for asType adapters. -- John From paul.hohensee at oracle.com Tue May 17 05:04:14 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 17 May 2011 08:04:14 -0400 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD23BE5.3080803@redhat.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> <4DD23BE5.3080803@redhat.com> Message-ID: <4DD2643E.7020503@oracle.com> I believe you can get memory geometry info from Solaris on both sparc or intel. Don't know about Windows or Linux. Anyone?? Paul On 5/17/11 5:12 AM, Andrew Haley wrote: > On 17/05/11 00:18, Paul Hohensee wrote: > >> I suggest you just use -XX:+UseNUMA rather than adding a new >> flag. UseNUMA seems generic enough to cover whatever implementation >> is best on a particular platform. > Indeed. I am worried by the proliferation of command-line > optimization flags that have obscure meanings that are difficult to > understand by anyone unfamiliar with a particular computer > architecture. This sort of tweakage might be mostly used by people > doing benchmarking. > > When should this flag *not* be used? To make it more useful, is it > possible to make any of this the default? Can a system where it is > advantageous be autodetected? > > Andrew. From john.r.rose at oracle.com Tue May 17 05:07:43 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 05:07:43 -0700 Subject: preliminary review request (M): 6983728: JSR 292 remove argument count limitations Message-ID: <557B6AB7-51FD-468B-808B-370F54013E71@oracle.com> http://cr.openjdk.java.net/~jrose/6983728/webrev.00/ 6983728: JSR 292 remove argument count limitations Summary: Remove workarounds and limitations from before 6939861. Reviewed-by: ? Remove test exclusions from MethodHandlesTest (key unit test), and extend argument counts of test cases. Remove the following files, which were workarounds for the lack of ricochet frames: FilterGeneric.java FilterOneArgument.java FromGeneric.java SpreadGeneric.java ToGeneric.java Note: These changes assume a full port of 6939861. This is true of x86 at present; SPARC is following. This change will not be done until after SPARC stabilizes. From paul.hohensee at oracle.com Tue May 17 05:25:22 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 17 May 2011 08:25:22 -0400 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD2643E.7020503@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> <4DD23BE5.3080803@redhat.com> <4DD2643E.7020503@oracle.com> Message-ID: <4DD26932.7060505@oracle.com> Widening to GC group. Paul On 5/17/11 8:04 AM, Paul Hohensee wrote: > I believe you can get memory geometry info from Solaris on both sparc > or intel. > Don't know about Windows or Linux. Anyone?? > > Paul > > On 5/17/11 5:12 AM, Andrew Haley wrote: >> On 17/05/11 00:18, Paul Hohensee wrote: >> >>> I suggest you just use -XX:+UseNUMA rather than adding a new >>> flag. UseNUMA seems generic enough to cover whatever implementation >>> is best on a particular platform. >> Indeed. I am worried by the proliferation of command-line >> optimization flags that have obscure meanings that are difficult to >> understand by anyone unfamiliar with a particular computer >> architecture. This sort of tweakage might be mostly used by people >> doing benchmarking. >> >> When should this flag *not* be used? To make it more useful, is it >> possible to make any of this the default? Can a system where it is >> advantageous be autodetected? >> >> Andrew. From dmdabbs at gmail.com Tue May 17 08:16:00 2011 From: dmdabbs at gmail.com (David Dabbs) Date: Tue, 17 May 2011 10:16:00 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD180CB.1080400@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> Message-ID: <000901cc14a5$55684d40$0038e7c0$@com> > -----Original Message----- > From: Igor Veresov > Sent: Monday, May 16, 2011 2:54 PM > To: David Dabbs > Cc: 'Deneau, Tom'; hotspot-compiler-dev at openjdk.java.net > Subject: Re: Review Request: UseNUMAInterleaving > > On 5/16/11 11:21 AM, David Dabbs wrote: > > The 2.6.19 requirement is there because we need the sched_getcpu() > syscall to determine on which CPU we're running. > Is kernel 2.6.19+ the only UseNUMA pre-req? http://download.oracle.com/javase/7/docs/technotes/guides/vm/performance-enh ancements-7.html#numa This doc also specifies glibc 2.6.1. We could update our kernel, but a glibc change wouldn't be possible. Thanks, David > I guess it won't be hard to extend UseNUMAInterleaving to work on other > OSes, including old Linuxes. You can, however, achieve the same effect > by running the VM with "numactl -i all java " or by > turning interleaving on in BIOS in hardware. > > igor > > > > > > > Could this flag help Linux systems with kernel< 2.6.19, or is that > the > > minimum kernel needed for any JVM NUMA support? > > Unfortunately, we run CentOS 5.5 (2.6.18) > > > > Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT > 2010 > > x86_64 x86_64 x86_64 GNU/Linux > > > > and so -XX:+UseNUMA does not activate (at least not according to > > PrintFlagsFinal). > > > >> From http://www.infoq.com/news/2010/01/java6u18 > > In the Java HotSpot VM, the NUMA-aware allocator has been implemented > to > > provide automatic memory placement optimisations for Java > applications. > > Typically, every processor in the system has a local memory that > provides > > low access latency and high bandwidth, and remote memory that is > > considerably slower to access. The NUMA-aware allocator is > implemented for > > Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) operating > > systems, and can be turned on for the Parallel Scavenger garbage > collector > > with the -XX:+UseNUMA flag. Parallel Scavenger remains the default > for a > > server-class machine and can also be turned on explicitly by > specifying the > > -XX:+UseParallelGC option. The impact of the change is significant: > When > > evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron > machine, > > NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64-bit) > > increase in performance. > > > > > > > > Thanks, > > > > David > > > > > > > > From dmdabbs at gmail.com Tue May 17 08:19:18 2011 From: dmdabbs at gmail.com (David Dabbs) Date: Tue, 17 May 2011 10:19:18 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD180CB.1080400@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> Message-ID: <000c01cc14a5$caef46e0$60cdd4a0$@com> > -----Original Message----- > From: Igor Veresov > Sent: Monday, May 16, 2011 2:54 PM > To: David Dabbs > Cc: 'Deneau, Tom'; hotspot-compiler-dev at openjdk.java.net > Subject: Re: Review Request: UseNUMAInterleaving > > On 5/16/11 11:21 AM, David Dabbs wrote: > > The 2.6.19 requirement is there because we need the sched_getcpu() > syscall to determine on which CPU we're running. > > > igor > Please disregard my last. I see that sched_getcpu() was introduced in glibc 2.6, so it is also a pre-req. David From igor.veresov at oracle.com Tue May 17 09:58:05 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 17 May 2011 09:58:05 -0700 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD2643E.7020503@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> <4DD23BE5.3080803@redhat.com> <4DD2643E.7020503@oracle.com> Message-ID: <4DD2A91D.3070204@oracle.com> UseNUMA already has this mechanism. If you turn it on it will deactivate itself if the machine is not NUMA. The problem with turning it on by default is that it can be not necessarily beneficial for all applications (however for most of them it is). igor On 5/17/11 5:04 AM, Paul Hohensee wrote: > I believe you can get memory geometry info from Solaris on both sparc or > intel. > Don't know about Windows or Linux. Anyone?? > > Paul > > On 5/17/11 5:12 AM, Andrew Haley wrote: >> On 17/05/11 00:18, Paul Hohensee wrote: >> >>> I suggest you just use -XX:+UseNUMA rather than adding a new >>> flag. UseNUMA seems generic enough to cover whatever implementation >>> is best on a particular platform. >> Indeed. I am worried by the proliferation of command-line >> optimization flags that have obscure meanings that are difficult to >> understand by anyone unfamiliar with a particular computer >> architecture. This sort of tweakage might be mostly used by people >> doing benchmarking. >> >> When should this flag *not* be used? To make it more useful, is it >> possible to make any of this the default? Can a system where it is >> advantageous be autodetected? >> >> Andrew. From paul.hohensee at oracle.com Tue May 17 10:16:53 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 17 May 2011 13:16:53 -0400 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD2A91D.3070204@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> <4DD23BE5.3080803@redhat.com> <4DD2643E.7020503@oracle.com> <4DD2A91D.3070204@oracle.com> Message-ID: <4DD2AD85.3000404@oracle.com> Do we have a list of such applications? If not, we could add an analysis to the performance team's roadmap. Paul On 5/17/11 12:58 PM, Igor Veresov wrote: > UseNUMA already has this mechanism. If you turn it on it will > deactivate itself if the machine is not NUMA. The problem with turning > it on by default is that it can be not necessarily beneficial for all > applications (however for most of them it is). > > igor > > On 5/17/11 5:04 AM, Paul Hohensee wrote: >> I believe you can get memory geometry info from Solaris on both sparc or >> intel. >> Don't know about Windows or Linux. Anyone?? >> >> Paul >> >> On 5/17/11 5:12 AM, Andrew Haley wrote: >>> On 17/05/11 00:18, Paul Hohensee wrote: >>> >>>> I suggest you just use -XX:+UseNUMA rather than adding a new >>>> flag. UseNUMA seems generic enough to cover whatever implementation >>>> is best on a particular platform. >>> Indeed. I am worried by the proliferation of command-line >>> optimization flags that have obscure meanings that are difficult to >>> understand by anyone unfamiliar with a particular computer >>> architecture. This sort of tweakage might be mostly used by people >>> doing benchmarking. >>> >>> When should this flag *not* be used? To make it more useful, is it >>> possible to make any of this the default? Can a system where it is >>> advantageous be autodetected? >>> >>> Andrew. > From bertrand.delsart at oracle.com Tue May 17 10:21:49 2011 From: bertrand.delsart at oracle.com (bertrand.delsart at oracle.com) Date: Tue, 17 May 2011 17:21:49 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7045515: ARM assembly code for JSR 292 ricochet frames Message-ID: <20110517172154.0E47A4769D@hg.openjdk.java.net> Changeset: 33ae33516634 Author: bdelsart Date: 2011-05-17 16:50 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/33ae33516634 7045515: ARM assembly code for JSR 292 ricochet frames Summary: ARM ricochet port and minor fixes in shared debug code Reviewed-by: jrose, vladidan ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandles.hpp From igor.veresov at oracle.com Tue May 17 10:35:12 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 17 May 2011 10:35:12 -0700 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD2AD85.3000404@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> <4DD23BE5.3080803@redhat.com> <4DD2643E.7020503@oracle.com> <4DD2A91D.3070204@oracle.com> <4DD2AD85.3000404@oracle.com> Message-ID: <4DD2B1D0.5040708@oracle.com> Yes, I think doing a broad performance analysis would be very useful. Thanks, igor On 5/17/11 10:16 AM, Paul Hohensee wrote: > Do we have a list of such applications? If not, we could add an analysis > to the performance > team's roadmap. > > Paul > > On 5/17/11 12:58 PM, Igor Veresov wrote: >> UseNUMA already has this mechanism. If you turn it on it will >> deactivate itself if the machine is not NUMA. The problem with turning >> it on by default is that it can be not necessarily beneficial for all >> applications (however for most of them it is). >> >> igor >> >> On 5/17/11 5:04 AM, Paul Hohensee wrote: >>> I believe you can get memory geometry info from Solaris on both sparc or >>> intel. >>> Don't know about Windows or Linux. Anyone?? >>> >>> Paul >>> >>> On 5/17/11 5:12 AM, Andrew Haley wrote: >>>> On 17/05/11 00:18, Paul Hohensee wrote: >>>> >>>>> I suggest you just use -XX:+UseNUMA rather than adding a new >>>>> flag. UseNUMA seems generic enough to cover whatever implementation >>>>> is best on a particular platform. >>>> Indeed. I am worried by the proliferation of command-line >>>> optimization flags that have obscure meanings that are difficult to >>>> understand by anyone unfamiliar with a particular computer >>>> architecture. This sort of tweakage might be mostly used by people >>>> doing benchmarking. >>>> >>>> When should this flag *not* be used? To make it more useful, is it >>>> possible to make any of this the default? Can a system where it is >>>> advantageous be autodetected? >>>> >>>> Andrew. >> From paul.hohensee at oracle.com Tue May 17 10:51:27 2011 From: paul.hohensee at oracle.com (Paul Hohensee) Date: Tue, 17 May 2011 13:51:27 -0400 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <4DD2B1D0.5040708@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> <4DD23BE5.3080803@redhat.com> <4DD2643E.7020503@oracle.com> <4DD2A91D.3070204@oracle.com> <4DD2AD85.3000404@oracle.com> <4DD2B1D0.5040708@oracle.com> Message-ID: <4DD2B59F.6050602@oracle.com> Another project for the performance analysis roadmap. Analyze the utility of UseNUMA with an eye to turning it on by default. Basically, just make sure it doesn't cause regressions. Paul On 5/17/11 1:35 PM, Igor Veresov wrote: > Yes, I think doing a broad performance analysis would be very useful. > > Thanks, > igor > > On 5/17/11 10:16 AM, Paul Hohensee wrote: >> Do we have a list of such applications? If not, we could add an analysis >> to the performance >> team's roadmap. >> >> Paul >> >> On 5/17/11 12:58 PM, Igor Veresov wrote: >>> UseNUMA already has this mechanism. If you turn it on it will >>> deactivate itself if the machine is not NUMA. The problem with turning >>> it on by default is that it can be not necessarily beneficial for all >>> applications (however for most of them it is). >>> >>> igor >>> >>> On 5/17/11 5:04 AM, Paul Hohensee wrote: >>>> I believe you can get memory geometry info from Solaris on both >>>> sparc or >>>> intel. >>>> Don't know about Windows or Linux. Anyone?? >>>> >>>> Paul >>>> >>>> On 5/17/11 5:12 AM, Andrew Haley wrote: >>>>> On 17/05/11 00:18, Paul Hohensee wrote: >>>>> >>>>>> I suggest you just use -XX:+UseNUMA rather than adding a new >>>>>> flag. UseNUMA seems generic enough to cover whatever implementation >>>>>> is best on a particular platform. >>>>> Indeed. I am worried by the proliferation of command-line >>>>> optimization flags that have obscure meanings that are difficult to >>>>> understand by anyone unfamiliar with a particular computer >>>>> architecture. This sort of tweakage might be mostly used by people >>>>> doing benchmarking. >>>>> >>>>> When should this flag *not* be used? To make it more useful, is it >>>>> possible to make any of this the default? Can a system where it is >>>>> advantageous be autodetected? >>>>> >>>>> Andrew. >>> > From tom.rodriguez at oracle.com Tue May 17 11:21:30 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 11:21:30 -0700 Subject: review request (S): 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke In-Reply-To: <913A7682-B81C-4273-B56F-1EEA5521EB2C@oracle.com> References: <913A7682-B81C-4273-B56F-1EEA5521EB2C@oracle.com> Message-ID: <004A59AF-7C28-4995-BC8E-2DF2B682D05B@oracle.com> Looks good. tom On May 17, 2011, at 4:45 AM, John Rose wrote: > This is a point fix to make the native methods MethodHandle.invoke and .invokeExact throw UnsupportedOperationException. > > Currently they throw a linkage exception, because they are not actually defined by C code. (They are defined by Java, but when called fail to link. This UOE is the documented exception type.) > > http://cr.openjdk.java.net/~jrose/7044892/webrev.jvm.00/src/share/vm/prims/methodHandles.cpp.udiff.html > > Because this is an exception error, it is bundled with bug 7044892. This is a separate review because it is a JVM code change. > > -- John From vladimir.kozlov at oracle.com Tue May 17 11:53:05 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 17 May 2011 11:53:05 -0700 Subject: Request for reviews (S): 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap Message-ID: <4DD2C411.8000000@oracle.com> http://cr.openjdk.java.net/~kvn/7045570/webrev Fixed 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap Changed heap to -Xms1600m and added script to catch case when "no enough space for object heap". Also fixed Test6890943.sh to not print options since it compares output. From tom.rodriguez at oracle.com Tue May 17 12:11:28 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 12:11:28 -0700 Subject: Request for reviews (S): 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap In-Reply-To: <4DD2C411.8000000@oracle.com> References: <4DD2C411.8000000@oracle.com> Message-ID: <8DC250AD-6081-4D81-A063-9C5A144A23B6@oracle.com> Looks ok. tom On May 17, 2011, at 11:53 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7045570/webrev > > Fixed 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap > > Changed heap to -Xms1600m and added script to catch case when "no enough space for object heap". Also fixed Test6890943.sh to not print options since it compares output. From igor.veresov at oracle.com Tue May 17 12:14:25 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 17 May 2011 12:14:25 -0700 Subject: Request for reviews (S): 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap In-Reply-To: <4DD2C411.8000000@oracle.com> References: <4DD2C411.8000000@oracle.com> Message-ID: <4DD2C911.1050607@oracle.com> Looks good. igor On 5/17/11 11:53 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7045570/webrev > > Fixed 7045570: compiler/5091921/Test7005594.java failed because not > enough space for object heap > > Changed heap to -Xms1600m and added script to catch case when "no enough > space for object heap". Also fixed Test6890943.sh to not print options > since it compares output. From john.r.rose at oracle.com Tue May 17 12:20:48 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 12:20:48 -0700 Subject: review request (S): 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke In-Reply-To: <004A59AF-7C28-4995-BC8E-2DF2B682D05B@oracle.com> References: <913A7682-B81C-4273-B56F-1EEA5521EB2C@oracle.com> <004A59AF-7C28-4995-BC8E-2DF2B682D05B@oracle.com> Message-ID: Thanks, Tom. -- John On May 17, 2011, at 11:21 AM, Tom Rodriguez wrote: > Looks good. > > tom > > On May 17, 2011, at 4:45 AM, John Rose wrote: > >> This is a point fix to make the native methods MethodHandle.invoke and .invokeExact throw UnsupportedOperationException. >> >> Currently they throw a linkage exception, because they are not actually defined by C code. (They are defined by Java, but when called fail to link. This UOE is the documented exception type.) >> >> http://cr.openjdk.java.net/~jrose/7044892/webrev.jvm.00/src/share/vm/prims/methodHandles.cpp.udiff.html >> >> Because this is an exception error, it is bundled with bug 7044892. This is a separate review because it is a JVM code change. >> >> -- John > From vladimir.kozlov at oracle.com Tue May 17 12:25:07 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 17 May 2011 12:25:07 -0700 Subject: Request for reviews (S): 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap In-Reply-To: <4DD2C911.1050607@oracle.com> References: <4DD2C411.8000000@oracle.com> <4DD2C911.1050607@oracle.com> Message-ID: <4DD2CB93.1080502@oracle.com> Thank you, Tom and Igor Vladimir Igor Veresov wrote: > Looks good. > > igor > > On 5/17/11 11:53 AM, Vladimir Kozlov wrote: >> http://cr.openjdk.java.net/~kvn/7045570/webrev >> >> Fixed 7045570: compiler/5091921/Test7005594.java failed because not >> enough space for object heap >> >> Changed heap to -Xms1600m and added script to catch case when "no enough >> space for object heap". Also fixed Test6890943.sh to not print options >> since it compares output. > From tom.rodriguez at oracle.com Tue May 17 12:59:51 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 12:59:51 -0700 Subject: review request (M): 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called In-Reply-To: <59FF3139-1B43-4CD6-95D2-AA9386119DC5@oracle.com> References: <59FF3139-1B43-4CD6-95D2-AA9386119DC5@oracle.com> Message-ID: Looks ok. tom On May 17, 2011, at 4:45 AM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/7032850/webrev.00/ > > 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called > Summary: Implement invocation corner cases, including correct type conversions and interface type enforcement. > > This is a fix for invoke[Generic], which was failing to process some reference conversions correctly. > > This includes a related fix for interface conversions; the code was not issuing checkcasts against interfaces for asType adapters. > > -- John From tom.deneau at amd.com Tue May 17 13:06:44 2011 From: tom.deneau at amd.com (Deneau, Tom) Date: Tue, 17 May 2011 15:06:44 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <5EA33A275136844D843B73A29FB9A6A9F3A3D894@SAUSEXMBP01.amd.com> References: <5EA33A275136844D843B73A29FB9A6A9F3A3D894@SAUSEXMBP01.amd.com> Message-ID: <5EA33A275136844D843B73A29FB9A6A9F3A3D89A@SAUSEXMBP01.amd.com> I always assumed that any application that spun up a small enough number of threads that all the threads could execute on one node would get hurt if any part of the heap was interleaved. -- Tom > > Do we have a list of such applications? If not, we could add an > analysis to the performance > team's roadmap. > > Paul > > On 5/17/11 12:58 PM, Igor Veresov wrote: > > UseNUMA already has this mechanism. If you turn it on it will > > deactivate itself if the machine is not NUMA. The problem with turning > > it on by default is that it can be not necessarily beneficial for all > > applications (however for most of them it is). > > > > igor > > > > On 5/17/11 5:04 AM, Paul Hohensee wrote: > >> I believe you can get memory geometry info from Solaris on both sparc > or > >> intel. > >> Don't know about Windows or Linux. Anyone?? > >> > >> Paul > >> > >> On 5/17/11 5:12 AM, Andrew Haley wrote: > >>> On 17/05/11 00:18, Paul Hohensee wrote: > >>> > >>>> I suggest you just use -XX:+UseNUMA rather than adding a new > >>>> flag. UseNUMA seems generic enough to cover whatever implementation > >>>> is best on a particular platform. > >>> Indeed. I am worried by the proliferation of command-line > >>> optimization flags that have obscure meanings that are difficult to > >>> understand by anyone unfamiliar with a particular computer > >>> architecture. This sort of tweakage might be mostly used by people > >>> doing benchmarking. > >>> > >>> When should this flag *not* be used? To make it more useful, is it > >>> possible to make any of this the default? Can a system where it is > >>> advantageous be autodetected? > >>> > >>> Andrew. > > From tom.rodriguez at oracle.com Tue May 17 13:06:36 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 13:06:36 -0700 Subject: review request (M): 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one In-Reply-To: <96B57009-559F-4B93-A111-D21C7CA2D805@oracle.com> References: <96B57009-559F-4B93-A111-D21C7CA2D805@oracle.com> Message-ID: <674C2AD3-CB74-4E25-8E3E-FECCB0BEC7DA@oracle.com> MethodTypeForm.java: - if (c != null) { + if (c == void.class) + c = null; // a Void parameter was unwrapped to void; ignore + if (c != null && c != void.class) { You don't need to both tests against void.class do you? Otherwise it looks good. tom On May 17, 2011, at 4:37 AM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/7044892/webrev.00/ > > 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one > > This is basically a bundle of point fixes having to do with corner cases. > > Grouped under this bug: > > 7038847: MethodType.fromMethodDescriptorString accepts both "binary names"/"internal form of binary names" > 7038860: MethodType.methodType(Class rtype, Class[] ptypes) doesn't throw NPE if ptypes is null > 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke > 7042829: JSR292: MethodHandles$Lookup.findStatic[S|G]etter throws InternalError if SecurityManager is set > 7041853: findGetter throws unexpected IllegalAccessException > -NOBUG-: asCollector throws ArrayIndexOutOfBoundsException instead of IllegalArgumentException for values outside [0..255] > -NOBUG-: asVarargsCollector gets wrong trailing parameter type > -NOBUG-: MethodType.unwrap on chokes on void if class Void occurs in the parameter list > -NOBUG-: MethodHandle.toString need to produce compliant output From vladimir.kozlov at oracle.com Tue May 17 13:11:31 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 17 May 2011 13:11:31 -0700 Subject: review request (M): 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one In-Reply-To: <96B57009-559F-4B93-A111-D21C7CA2D805@oracle.com> References: <96B57009-559F-4B93-A111-D21C7CA2D805@oracle.com> Message-ID: <4DD2D673.5060608@oracle.com> java/lang/invoke/MethodTypeForm.java double c != void.cl check: + if (c == void.class) + c = null; // a Void parameter was unwrapped to void; ignore + if (c != null && c != void.class) { Otherwise looks good as far as I understand. Vladimir John Rose wrote: > http://cr.openjdk.java.net/~jrose/7044892/webrev.00/ > > 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one > > This is basically a bundle of point fixes having to do with corner cases. > > Grouped under this bug: > > 7038847: MethodType.fromMethodDescriptorString accepts both "binary names"/"internal form of binary names" > 7038860: MethodType.methodType(Class rtype, Class[] ptypes) doesn't throw NPE if ptypes is null > 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke > 7042829: JSR292: MethodHandles$Lookup.findStatic[S|G]etter throws InternalError if SecurityManager is set > 7041853: findGetter throws unexpected IllegalAccessException > -NOBUG-: asCollector throws ArrayIndexOutOfBoundsException instead of IllegalArgumentException for values outside [0..255] > -NOBUG-: asVarargsCollector gets wrong trailing parameter type > -NOBUG-: MethodType.unwrap on chokes on void if class Void occurs in the parameter list > -NOBUG-: MethodHandle.toString need to produce compliant output From tom.rodriguez at oracle.com Tue May 17 13:17:45 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 13:17:45 -0700 Subject: preliminary review request (M): 6983728: JSR 292 remove argument count limitations In-Reply-To: <557B6AB7-51FD-468B-808B-370F54013E71@oracle.com> References: <557B6AB7-51FD-468B-808B-370F54013E71@oracle.com> Message-ID: <8C7A479D-26EF-4114-98D6-2E75998566BE@oracle.com> Looks ok. tom On May 17, 2011, at 5:07 AM, John Rose wrote: > http://cr.openjdk.java.net/~jrose/6983728/webrev.00/ > > 6983728: JSR 292 remove argument count limitations > Summary: Remove workarounds and limitations from before 6939861. > Reviewed-by: ? > > Remove test exclusions from MethodHandlesTest (key unit test), and extend argument counts of test cases. > > Remove the following files, which were workarounds for the lack of ricochet frames: > FilterGeneric.java FilterOneArgument.java FromGeneric.java SpreadGeneric.java ToGeneric.java > > Note: These changes assume a full port of 6939861. This is true of x86 at present; SPARC is following. This change will not be done until after SPARC stabilizes. > From vladimir.kozlov at oracle.com Tue May 17 14:34:34 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 17 May 2011 21:34:34 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap Message-ID: <20110517213436.70744476AB@hg.openjdk.java.net> Changeset: 231c2b41ea4d Author: kvn Date: 2011-05-17 12:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/231c2b41ea4d 7045570: compiler/5091921/Test7005594.java failed because not enough space for object heap Summary: fixed tests. Reviewed-by: iveresov, never ! test/compiler/5091921/Test6890943.sh ! test/compiler/5091921/Test7005594.java + test/compiler/5091921/Test7005594.sh From john.r.rose at oracle.com Tue May 17 15:53:47 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 15:53:47 -0700 Subject: review request (M): 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one In-Reply-To: <674C2AD3-CB74-4E25-8E3E-FECCB0BEC7DA@oracle.com> References: <96B57009-559F-4B93-A111-D21C7CA2D805@oracle.com> <674C2AD3-CB74-4E25-8E3E-FECCB0BEC7DA@oracle.com> Message-ID: On May 17, 2011, at 1:06 PM, Tom Rodriguez wrote: > MethodTypeForm.java: > > - if (c != null) { > + if (c == void.class) > + c = null; // a Void parameter was unwrapped to void; ignore > + if (c != null && c != void.class) { > > You don't need to both tests against void.class do you? No, thanks. The first test is the one I want. The second (more obscure) was my first draft. :-) -- John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110517/7eed8790/attachment.html From john.r.rose at oracle.com Tue May 17 15:59:03 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 15:59:03 -0700 Subject: review request (M): 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called In-Reply-To: References: <59FF3139-1B43-4CD6-95D2-AA9386119DC5@oracle.com> Message-ID: Thanks, Tom. -- John On May 17, 2011, at 12:59 PM, Tom Rodriguez wrote: > Looks ok. From tom.rodriguez at oracle.com Tue May 17 16:01:37 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 16:01:37 -0700 Subject: review for 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp Message-ID: <423DF958-BE44-4FF2-9FDE-99EE6580CD87@oracle.com> http://cr.openjdk.java.net/~never/7045513 335 lines changed: 277 ins; 8 del; 50 mod; 21338 unchg 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp Reviewed-by: Several issues with the MethodHandleWalk code were identified with jruby and a stress mode was added that exposed quite a few more. Method handles with void returns weren't being handled properly with spreading. Constant ArgTokens weren't being handled in several places. ArgToken didn't have enough asserts to guard against improper use to handle could be mistakenly used as a local index. make_fetch which was used by argument spreading wasn't implemented. Several of the bytecodes didn't handle their proper u2 or u4 ranges. make_invoke didn't sanity check the number of arguments passed. Dispatch through invokeinterface was unimplemented. tail_call make_invokes didn't push the result on the stack resulting in the max_stack on the method being wrong. Currently I'm swallowing any exceptions thrown by the stress logic but eventually those will need to be clean. Tested with the java/lang/invoke regression tests with StressMethodHandles turned on plus the failing jruby tests. I fixed some ifdefs so that the optimized build works again. I also added the richochet blob to the SA so that it can walk the code cache. I had to add the AdapterBlobs as well. From john.r.rose at oracle.com Tue May 17 16:46:00 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 17 May 2011 16:46:00 -0700 Subject: review for 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp In-Reply-To: <423DF958-BE44-4FF2-9FDE-99EE6580CD87@oracle.com> References: <423DF958-BE44-4FF2-9FDE-99EE6580CD87@oracle.com> Message-ID: Comments: Assert-rich code. Very nice; thanks! This maybe could use assert(args_size >= 0) in emit_bc: + case Bytecodes::_invokeinterface: ... + _bytecode.push(args_size); Reviewed. I feel much better about MH compilation now. -- John On May 17, 2011, at 4:01 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7045513 > 335 lines changed: 277 ins; 8 del; 50 mod; 21338 unchg > > 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp > Reviewed-by: > > Several issues with the MethodHandleWalk code were identified with > jruby and a stress mode was added that exposed quite a few more. > Method handles with void returns weren't being handled properly with > spreading. Constant ArgTokens weren't being handled in several > places. ArgToken didn't have enough asserts to guard against improper > use to handle could be mistakenly used as a local index. make_fetch > which was used by argument spreading wasn't implemented. Several of > the bytecodes didn't handle their proper u2 or u4 ranges. make_invoke > didn't sanity check the number of arguments passed. Dispatch through > invokeinterface was unimplemented. tail_call make_invokes didn't push > the result on the stack resulting in the max_stack on the method being > wrong. Currently I'm swallowing any exceptions thrown by the stress > logic but eventually those will need to be clean. > > Tested with the java/lang/invoke regression tests with > StressMethodHandles turned on plus the failing jruby tests. > > I fixed some ifdefs so that the optimized build works again. > > I also added the richochet blob to the SA so that it can walk the code > cache. I had to add the AdapterBlobs as well. > From tom.rodriguez at oracle.com Tue May 17 16:48:18 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 17 May 2011 16:48:18 -0700 Subject: review for 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp In-Reply-To: References: <423DF958-BE44-4FF2-9FDE-99EE6580CD87@oracle.com> Message-ID: On May 17, 2011, at 4:46 PM, John Rose wrote: > Comments: > > Assert-rich code. Very nice; thanks! > > This maybe could use assert(args_size >= 0) in emit_bc: > + case Bytecodes::_invokeinterface: > ... > + _bytecode.push(args_size); actually it should be > 0 since it must at least equal 1 for the receiver. > > Reviewed. I feel much better about MH compilation now. Thanks! tom > > -- John > > On May 17, 2011, at 4:01 PM, Tom Rodriguez wrote: > >> http://cr.openjdk.java.net/~never/7045513 >> 335 lines changed: 277 ins; 8 del; 50 mod; 21338 unchg >> >> 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp >> Reviewed-by: >> >> Several issues with the MethodHandleWalk code were identified with >> jruby and a stress mode was added that exposed quite a few more. >> Method handles with void returns weren't being handled properly with >> spreading. Constant ArgTokens weren't being handled in several >> places. ArgToken didn't have enough asserts to guard against improper >> use to handle could be mistakenly used as a local index. make_fetch >> which was used by argument spreading wasn't implemented. Several of >> the bytecodes didn't handle their proper u2 or u4 ranges. make_invoke >> didn't sanity check the number of arguments passed. Dispatch through >> invokeinterface was unimplemented. tail_call make_invokes didn't push >> the result on the stack resulting in the max_stack on the method being >> wrong. Currently I'm swallowing any exceptions thrown by the stress >> logic but eventually those will need to be clean. >> >> Tested with the java/lang/invoke regression tests with >> StressMethodHandles turned on plus the failing jruby tests. >> >> I fixed some ifdefs so that the optimized build works again. >> >> I also added the richochet blob to the SA so that it can walk the code >> cache. I had to add the AdapterBlobs as well. >> > From john.r.rose at oracle.com Tue May 17 18:28:28 2011 From: john.r.rose at oracle.com (john.r.rose at oracle.com) Date: Wed, 18 May 2011 01:28:28 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one Message-ID: <20110518012831.C26EC476B6@hg.openjdk.java.net> Changeset: 2848194272f4 Author: jrose Date: 2011-05-17 15:43 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2848194272f4 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one Summary: Fix to 7042656: JSR292: invokeExact/Generic doesn't throw UnsupportedOperationException if invoked via Method.invoke Reviewed-by: never ! src/share/vm/prims/methodHandles.cpp From john.r.rose at oracle.com Tue May 17 19:48:30 2011 From: john.r.rose at oracle.com (john.r.rose at oracle.com) Date: Wed, 18 May 2011 02:48:30 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 2 new changesets Message-ID: <20110518024921.72A36476BA@hg.openjdk.java.net> Changeset: 20bf5b0970e9 Author: jrose Date: 2011-05-17 19:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/20bf5b0970e9 7032850: MethodHandle.invokeGeneric throws unspecified RuntimeException if parameterized method is called Summary: Implement invocation corner cases, including correct type conversions and interface type enforcement. Reviewed-by: never ! src/share/classes/java/lang/invoke/AdapterMethodHandle.java ! src/share/classes/java/lang/invoke/InvokeGeneric.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/sun/invoke/util/Wrapper.java ! test/java/lang/invoke/6991596/Test6991596.java ! test/java/lang/invoke/InvokeGenericTest.java Changeset: 9828d98bcf18 Author: jrose Date: 2011-05-17 19:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9828d98bcf18 7044892: JSR 292: API entry points sometimes throw the wrong exceptions or doesn't throw the expected one Summary: point-fixes for 7038847, 7038860, 7042656, 7042829, 7041853, and several other reports Reviewed-by: never, kvn ! src/share/classes/java/lang/invoke/AdapterMethodHandle.java ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/FilterGeneric.java ! src/share/classes/java/lang/invoke/FilterOneArgument.java ! src/share/classes/java/lang/invoke/FromGeneric.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java ! src/share/classes/java/lang/invoke/SpreadGeneric.java ! src/share/classes/java/lang/invoke/ToGeneric.java ! test/java/lang/invoke/MethodHandlesTest.java From tom.rodriguez at oracle.com Wed May 18 01:02:38 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Wed, 18 May 2011 08:02:38 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 2 new changesets Message-ID: <20110518080246.31A58476D1@hg.openjdk.java.net> Changeset: a80577f854f9 Author: never Date: 2011-05-17 19:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/a80577f854f9 7045513: JSR 292 inlining causes crashes in methodHandleWalk.cpp Reviewed-by: jrose ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java + agent/src/share/classes/sun/jvm/hotspot/code/AdapterBlob.java ! agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java ! agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java + agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: b79e8b4ecd76 Author: never Date: 2011-05-17 19:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/b79e8b4ecd76 Merge ! src/share/vm/prims/methodHandles.cpp From vladimir.kozlov at oracle.com Wed May 18 11:25:33 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 18 May 2011 11:25:33 -0700 Subject: Request for reviews (XS): 7046096: SEGV IN C2 WITH 6U25 In-Reply-To: <4DD2C411.8000000@oracle.com> References: <4DD2C411.8000000@oracle.com> Message-ID: <4DD40F1D.2040801@oracle.com> http://cr.openjdk.java.net/~kvn/7046096/webrev Fixed 7046096: SEGV IN C2 WITH 6U25 Missing fail flag set in strings concatenation code. From tom.rodriguez at oracle.com Wed May 18 11:34:04 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 18 May 2011 11:34:04 -0700 Subject: Request for reviews (XS): 7046096: SEGV IN C2 WITH 6U25 In-Reply-To: <4DD40F1D.2040801@oracle.com> References: <4DD2C411.8000000@oracle.com> <4DD40F1D.2040801@oracle.com> Message-ID: <0C80D6C6-918A-465B-9560-1693A3C6EF5F@oracle.com> Looks good. tom On May 18, 2011, at 11:25 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7046096/webrev > > Fixed 7046096: SEGV IN C2 WITH 6U25 > > Missing fail flag set in strings concatenation code. From vladimir.kozlov at oracle.com Wed May 18 11:37:58 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 18 May 2011 11:37:58 -0700 Subject: Request for reviews (XS): 7046096: SEGV IN C2 WITH 6U25 In-Reply-To: <0C80D6C6-918A-465B-9560-1693A3C6EF5F@oracle.com> References: <4DD2C411.8000000@oracle.com> <4DD40F1D.2040801@oracle.com> <0C80D6C6-918A-465B-9560-1693A3C6EF5F@oracle.com> Message-ID: <4DD41206.7070700@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > Looks good. > > tom > > On May 18, 2011, at 11:25 AM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7046096/webrev >> >> Fixed 7046096: SEGV IN C2 WITH 6U25 >> >> Missing fail flag set in strings concatenation code. > From tom.deneau at amd.com Wed May 18 12:44:00 2011 From: tom.deneau at amd.com (Deneau, Tom) Date: Wed, 18 May 2011 14:44:00 -0500 Subject: Review Request: UseNUMAInterleaving In-Reply-To: <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> References: <5EA33A275136844D843B73A29FB9A6A9C4A76FA7@SAUSEXMBP01.amd.com> <00c801cc13f6$04e79470$0eb6bd50$@com> <4DD180CB.1080400@oracle.com> <00e001cc1404$714b0b70$53e12250$@com> <4DD196F2.7010506@oracle.com> <000601cc1410$f82665c0$e8733140$@com> <5EA33A275136844D843B73A29FB9A6A9C4A77160@SAUSEXMBP01.amd.com> <42FA1D2D-430B-4433-A561-17466A9B498D@oracle.com> Message-ID: <5EA33A275136844D843B73A29FB9A6A9F3A3DD14@SAUSEXMBP01.amd.com> This is fine with me. The only reason to have a separate flag would be on a platform which supported full UseNUMA and someone really wanted to use only the interleaving part. However, I can't think of a reason for doing that. Waiting until others get a chance to review the original, then I will add this to the next webrev submission. -- Tom > -----Original Message----- > From: Paul Hohensee [mailto:paul.hohensee at oracle.com] > Sent: Monday, May 16, 2011 6:19 PM > To: Deneau, Tom > Cc: David Dabbs; Igor Veresov; hotspot-compiler-dev at openjdk.java.net > Subject: Re: Review Request: UseNUMAInterleaving > > I suggest you just use -XX:+UseNUMA rather than adding a new flag. UseNUMA > seems generic enough to cover whatever implementation is best on a > particular platform. > > Paul > > Sent from my iPhone > > On May 16, 2011, at 6:26 PM, "Deneau, Tom" wrote: > > > David -- > > > > The BIOS interleaving option interleaves at a 4K granularity. > > The OS is completely unaware of this interleaving so yes it will work > with any kernel and it will also work with large pages (The 2M of > contiguous physical address covering a large page will be interleaved > across nodes at 4K granularity). Some downsides are: > > * it affects everything running on the system, whereas the numactl -i > solution > > (or the proposed UseNUMAInterleaving) affects only that single > process > > * not all BIOSes support this option > > > > -- Tom > > > > > > -----Original Message----- > > From: David Dabbs [mailto:dmdabbs at gmail.com] > > Sent: Monday, May 16, 2011 4:34 PM > > To: 'Igor Veresov' > > Cc: Deneau, Tom; hotspot-compiler-dev at openjdk.java.net > > Subject: RE: Review Request: UseNUMAInterleaving > > > > > > > >> -----Original Message----- > >> From: Igor Veresov [mailto:igor.veresov at oracle.com] > >> Sent: Monday, May 16, 2011 4:28 PM > >> To: David Dabbs > >> Cc: 'Deneau, Tom'; hotspot-compiler-dev at openjdk.java.net > >> Subject: Re: Review Request: UseNUMAInterleaving > >> > >> On 5/16/11 1:04 PM, David Dabbs wrote: > >>> > >>> > >>>> -----Original Message----- > >>>> From: Igor Veresov > >>>> Sent: Monday, May 16, 2011 2:54 PM > >>>> To: David Dabbs > >>>> Subject: Re: Review Request: UseNUMAInterleaving > >>>> > >>>> On 5/16/11 11:21 AM, David Dabbs wrote: > >>>> > >>>> The 2.6.19 requirement is there because we need the sched_getcpu() > >>>> syscall to determine on which CPU we're running. > >>>> > >>>> I guess it won't be hard to extend UseNUMAInterleaving to work on > >> other > >>>> OSes, including old Linuxes. You can, however, achieve the same > >> effect > >>>> by running the VM with "numactl -i all java" or by > >>>> turning interleaving on in BIOS in hardware. > >>>> > >>>> igor > >>>> > >>> > >>> Thank you for the info, Igor. So these two options you provided > >> should > >>> work for an "old Linux" (2.6.18, glibc-2.5-49.el5_5.7)? Are they > >> equivalent? > >>> > >> > >> I don't actually recall what interleaving granularity will the hardware > >> option provide. It could be less than a page (which would be the > >> minimum > >> granularity of any software method). Tom probably knows more about > >> that. > >> > >> Also, the numactl method won't work if you're using large pages. > >> > >> igor > >> > > > > > > I was afraid LargePages would be a deal-killer. We use a 2M page size. > Oh > > well. > > Thank you. > > > > David > > > > > >>> > >>> Thank you, > >>> > >>> David > >>> > >>> > >>> > >>>>> > >>>>> > >>>>> Could this flag help Linux systems with kernel< 2.6.19, or is > >> that > >>>> the > >>>>> minimum kernel needed for any JVM NUMA support? > >>>>> Unfortunately, we run CentOS 5.5 (2.6.18) > >>>>> > >>>>> Linux node01.int 2.6.18-194.17.4.el5 #1 SMP Mon Oct 25 15:50:53 EDT > >>>> 2010 > >>>>> x86_64 x86_64 x86_64 GNU/Linux > >>>>> > >>>>> and so -XX:+UseNUMA does not activate (at least not according to > >>>>> PrintFlagsFinal). > >>>>> > >>>>>> From http://www.infoq.com/news/2010/01/java6u18 > >>>>> In the Java HotSpot VM, the NUMA-aware allocator has been > >> implemented > >>>> to > >>>>> provide automatic memory placement optimisations for Java > >>>> applications. > >>>>> Typically, every processor in the system has a local memory that > >>>> provides > >>>>> low access latency and high bandwidth, and remote memory that is > >>>>> considerably slower to access. The NUMA-aware allocator is > >>>> implemented for > >>>>> Solaris (>= 9u2) and Linux (kernel>= 2.6.19, glibc>= 2.6.1) > >> operating > >>>>> systems, and can be turned on for the Parallel Scavenger garbage > >>>> collector > >>>>> with the -XX:+UseNUMA flag. Parallel Scavenger remains the default > >>>> for a > >>>>> server-class machine and can also be turned on explicitly by > >>>> specifying the > >>>>> -XX:+UseParallelGC option. The impact of the change is significant: > >>>> When > >>>>> evaluated against the SPEC JBB 2005 benchmark on an 8 chip Opteron > >>>> machine, > >>>>> NUMA-aware systems gave about a 30% (for 32-bit) to 40% (for 64- > >> bit) > >>>>> increase in performance. > >>>>> > >>>>> > >>>>> > >>>>> Thanks, > >>>>> > >>>>> David > >>>>> > >>>>> > >>>>> > >>>>> > >>> > >>> > > > > > > > > From vladimir.kozlov at oracle.com Wed May 18 15:47:36 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 18 May 2011 15:47:36 -0700 Subject: Request for reviews (S): 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently Message-ID: <4DD44C88.2050001@oracle.com> http://cr.openjdk.java.net/~kvn/7045693/webrev Fixed 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently In my changes for 5091921 I forgot that Bool node could be shared. New limit for unrolled loop should be set only for zero trip guard and loop iteration test. Old unrolling code created a new loop test for each unroll. From vladimir.kozlov at oracle.com Wed May 18 18:32:34 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 18 May 2011 18:32:34 -0700 Subject: Request for reviews (S): 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked Message-ID: <4DD47332.9040107@oracle.com> http://cr.openjdk.java.net/~kvn/7045506/webrev Fixed 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked After 7026700 fix LoadNode::split_through_phi() always creates a new split phi which causes this problem since the transformed load node could be a new node without users. In this bug case it is new LoadUB node created in AndINode::Ideal(). Replace the assert in PhiNode::Ideal with check to avoid transformation of new phi. From tom.rodriguez at oracle.com Thu May 19 07:17:05 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 19 May 2011 07:17:05 -0700 Subject: Request for reviews (S): 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently In-Reply-To: <4DD44C88.2050001@oracle.com> References: <4DD44C88.2050001@oracle.com> Message-ID: <542AFABF-6EEF-47DF-9C69-3CEB56575CF6@oracle.com> Looks good. tom On May 18, 2011, at 3:47 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7045693/webrev > > Fixed 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently > > In my changes for 5091921 I forgot that Bool node could be shared. New limit for unrolled loop should be set only for zero trip guard and loop iteration test. Old unrolling code created a new loop test for each unroll. > From vladimir.kozlov at oracle.com Thu May 19 08:41:31 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 19 May 2011 08:41:31 -0700 Subject: Request for reviews (S): 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently In-Reply-To: <542AFABF-6EEF-47DF-9C69-3CEB56575CF6@oracle.com> References: <4DD44C88.2050001@oracle.com> <542AFABF-6EEF-47DF-9C69-3CEB56575CF6@oracle.com> Message-ID: <4DD53A2B.9020900@oracle.com> Thank you, Tom Vladimir On 5/19/11 7:17 AM, Tom Rodriguez wrote: > Looks good. > > tom > > On May 18, 2011, at 3:47 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7045693/webrev >> >> Fixed 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently >> >> In my changes for 5091921 I forgot that Bool node could be shared. New limit for unrolled loop should be set only for zero trip guard and loop iteration test. Old unrolling code created a new loop test for each unroll. >> > From tom.rodriguez at oracle.com Thu May 19 10:20:40 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 19 May 2011 10:20:40 -0700 Subject: Request for reviews (S): 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked In-Reply-To: <4DD47332.9040107@oracle.com> References: <4DD47332.9040107@oracle.com> Message-ID: <18F99983-1148-4332-9B9C-738A47C8D9DB@oracle.com> Looks good. tom On May 18, 2011, at 6:32 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7045506/webrev > > Fixed 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked > > After 7026700 fix LoadNode::split_through_phi() always creates a new split phi which causes this problem since the transformed load node could be a new node without users. In this bug case it is new LoadUB node created in AndINode::Ideal(). > > Replace the assert in PhiNode::Ideal with check to avoid transformation of new phi. From Thomas.Salter at unisys.com Fri May 20 10:49:52 2011 From: Thomas.Salter at unisys.com (Salter, Thomas A) Date: Fri, 20 May 2011 12:49:52 -0500 Subject: c1_LIRAssembler_x86 bug in 64-bit Windows code Message-ID: <63D5DCACD1E9E34C89C8203C64F521C3FE3097FEC1@USEA-EXCH7.na.uis.unisys.com> When running a 64-bit JVM on Windows 7, the JVM.dll failed to load due to an exception in the following code. Since long is a 32-bit integer, the casts in the operand calculation have the effect of truncating a 64-bit address to 32 bits and then sign-extending it. The casts should be to intptr_t, not long. I encountered this in JDK 7 build 130, but the source code is the same in build 142 In hotspot\src\cpu\x86\vm\c1_LIRAssembler_x86.cpp: // Note: 'double' and 'long long' have 32-bits alignment on x86. static jlong* double_quadword(jlong *adr, jlong lo, jlong hi) { // Use the expression (adr)&(~0xF) to provide 128-bits aligned address // of 128-bits operands for SSE instructions. jlong *operand = (jlong*)(((long)adr)&((long)(~0xF))); // Store the value to a 128-bits operand. operand[0] = lo; operand[1] = hi; return operand; } The corrected statement would be: jlong *operand = (jlong*)(((intptr_t)adr)&((intptr_t)(~0xF))); Tom Salter | Software Engineer | Java & Middleware Development Unisys | 476 Swedesford Road | Malvern, PA 19355 | 610-648-2568 | N385-2568 [cid:image001.gif at 01CC16F2.6DB09ED0] THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110520/fe8b9691/attachment.html -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.gif Type: image/gif Size: 2511 bytes Desc: image001.gif Url : http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110520/fe8b9691/attachment.gif From vladimir.kozlov at oracle.com Fri May 20 15:38:40 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 20 May 2011 22:38:40 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 7046096: SEGV IN C2 WITH 6U25 Message-ID: <20110520223852.03C8847784@hg.openjdk.java.net> Changeset: 2b27ef5c2173 Author: kvn Date: 2011-05-20 12:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2b27ef5c2173 7046096: SEGV IN C2 WITH 6U25 Summary: Missing fail flag set in strings concatenation code. Reviewed-by: never ! src/share/vm/opto/stringopts.cpp From john.coomes at oracle.com Sat May 21 04:35:17 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Sat, 21 May 2011 11:35:17 +0000 Subject: hg: jdk7/hotspot-comp/hotspot: 9 new changesets Message-ID: <20110521113535.A54DD477C4@hg.openjdk.java.net> Changeset: 2aa9ddbb9e60 Author: jmasa Date: 2011-05-03 10:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/2aa9ddbb9e60 7041789: 30% perf regression with c2/arm following 7017732 Summary: Implement a more accurate is_scavengable() Reviewed-by: stefank, jcoomes, ysr ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/oops/instanceRefKlass.cpp Changeset: 69293e516993 Author: johnc Date: 2011-05-17 00:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/69293e516993 7041440: G1: assert(obj->is_oop_or_null(true )) failed: Error # Summary: During an evacuation pause clear the region fields of any concurrent marking task whose local finger points into the collection set as the values in the region fields will become stale. Clearing these fields causes the concurrent mark task to claim a new region when marking restarts after the pause. Reviewed-by: tonyp, iveresov ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: ea4859d7fee7 Author: brutisso Date: 2011-05-18 13:19 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/ea4859d7fee7 Merge Changeset: 03b943e6c025 Author: dholmes Date: 2011-05-15 23:57 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/03b943e6c025 7035744: jprt no longer does open-only builds Summary: Added Open (OpenJDK) and Emb (Embedded) build flavours to JPRT. Added a few open builds and basic sanity tests to the normal JDK7 JPRT submission job. Reviewed-by: ohair, jcoomes, bobv, kvn ! make/jprt.gmk ! make/jprt.properties Changeset: 8bec9b249a6e Author: dholmes Date: 2011-05-17 09:29 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/8bec9b249a6e Merge Changeset: 3f3325361b86 Author: kamg Date: 2011-05-18 10:12 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/3f3325361b86 Merge Changeset: 1be2f0c40a34 Author: never Date: 2011-05-18 11:45 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1be2f0c40a34 Merge Changeset: 62f39d40ebf1 Author: trims Date: 2011-05-20 05:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/62f39d40ebf1 7040781: Bump the HS21 build number to 14 Summary: Update the HS21 build number to 14 Reviewed-by: jcoomes ! make/hotspot_version Changeset: cfbca4d74a61 Author: jcoomes Date: 2011-05-20 22:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/cfbca4d74a61 Merge From john.coomes at oracle.com Sat May 21 07:00:02 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Sat, 21 May 2011 14:00:02 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 9 new changesets Message-ID: <20110521140020.42782477CC@hg.openjdk.java.net> Changeset: 2aa9ddbb9e60 Author: jmasa Date: 2011-05-03 10:30 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2aa9ddbb9e60 7041789: 30% perf regression with c2/arm following 7017732 Summary: Implement a more accurate is_scavengable() Reviewed-by: stefank, jcoomes, ysr ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.inline.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/oops/instanceRefKlass.cpp Changeset: 69293e516993 Author: johnc Date: 2011-05-17 00:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/69293e516993 7041440: G1: assert(obj->is_oop_or_null(true )) failed: Error # Summary: During an evacuation pause clear the region fields of any concurrent marking task whose local finger points into the collection set as the values in the region fields will become stale. Clearing these fields causes the concurrent mark task to claim a new region when marking restarts after the pause. Reviewed-by: tonyp, iveresov ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: ea4859d7fee7 Author: brutisso Date: 2011-05-18 13:19 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ea4859d7fee7 Merge Changeset: 03b943e6c025 Author: dholmes Date: 2011-05-15 23:57 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/03b943e6c025 7035744: jprt no longer does open-only builds Summary: Added Open (OpenJDK) and Emb (Embedded) build flavours to JPRT. Added a few open builds and basic sanity tests to the normal JDK7 JPRT submission job. Reviewed-by: ohair, jcoomes, bobv, kvn ! make/jprt.gmk ! make/jprt.properties Changeset: 8bec9b249a6e Author: dholmes Date: 2011-05-17 09:29 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8bec9b249a6e Merge Changeset: 3f3325361b86 Author: kamg Date: 2011-05-18 10:12 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3f3325361b86 Merge Changeset: 1be2f0c40a34 Author: never Date: 2011-05-18 11:45 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1be2f0c40a34 Merge Changeset: 62f39d40ebf1 Author: trims Date: 2011-05-20 05:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/62f39d40ebf1 7040781: Bump the HS21 build number to 14 Summary: Update the HS21 build number to 14 Reviewed-by: jcoomes ! make/hotspot_version Changeset: cfbca4d74a61 Author: jcoomes Date: 2011-05-20 22:27 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/cfbca4d74a61 Merge From vladimir.kozlov at oracle.com Sat May 21 13:59:10 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 21 May 2011 20:59:10 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently Message-ID: <20110521205912.1F7E0477DD@hg.openjdk.java.net> Changeset: 789d04408ca3 Author: kvn Date: 2011-05-21 11:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/789d04408ca3 7045693: java/util/EnumSet/EnumSetBash.java still failing intermittently Summary: New limit for unrolled loop should be set only for zero trip guard and loop iteration test. Reviewed-by: never ! src/share/vm/opto/loopTransform.cpp From vladimir.kozlov at oracle.com Sat May 21 16:08:06 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Sat, 21 May 2011 23:08:06 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked Message-ID: <20110521230808.07578477E2@hg.openjdk.java.net> Changeset: b55f5bd7ec66 Author: kvn Date: 2011-05-21 13:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b55f5bd7ec66 7045506: assert(!can_reshape || !new_phi) failed: for igvn new phi should be hooked Summary: Replace the assert in PhiNode::Ideal with check to avoid transformation of new phi. Reviewed-by: never ! src/share/vm/opto/cfgnode.cpp From igor.veresov at oracle.com Mon May 23 03:16:43 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 23 May 2011 03:16:43 -0700 Subject: review(XXS): 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp Message-ID: <4DDA340B.7070409@oracle.com> We had invalid casts in address computation. The pointer was cast to long, which on Windows is 32bit, so the upper bits were lost. Webrev: http://cr.openjdk.java.net/~iveresov/7046893/webrev.00/ Contributed by: Thomas.Salter at unisys.com From vladimir.kozlov at oracle.com Mon May 23 09:26:21 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 23 May 2011 09:26:21 -0700 Subject: review(XXS): 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp In-Reply-To: <4DDA340B.7070409@oracle.com> References: <4DDA340B.7070409@oracle.com> Message-ID: <4DDA8AAD.6080808@oracle.com> Looks good. Vladimir On 5/23/11 3:16 AM, Igor Veresov wrote: > We had invalid casts in address computation. The pointer was cast to long, which on Windows is 32bit, so the upper bits > were lost. > > Webrev: http://cr.openjdk.java.net/~iveresov/7046893/webrev.00/ > > Contributed by: Thomas.Salter at unisys.com From tom.rodriguez at oracle.com Mon May 23 10:41:58 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Mon, 23 May 2011 10:41:58 -0700 Subject: review(XXS): 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp In-Reply-To: <4DDA340B.7070409@oracle.com> References: <4DDA340B.7070409@oracle.com> Message-ID: Looks good. tom On May 23, 2011, at 3:16 AM, Igor Veresov wrote: > We had invalid casts in address computation. The pointer was cast to long, which on Windows is 32bit, so the upper bits were lost. > > Webrev: http://cr.openjdk.java.net/~iveresov/7046893/webrev.00/ > > Contributed by: Thomas.Salter at unisys.com From igor.veresov at oracle.com Mon May 23 12:48:50 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 23 May 2011 12:48:50 -0700 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub Message-ID: <4DDABA22.1070306@oracle.com> Incorrect handling of the registers made runThese fail one of the arraycopy tests on 64bit windows with -d64 -Xcomp -XX:+TieredCompilation. The problem is that when we call the checkcast_arraycopy stub we assume that it abides to C calling convention, but in fact it doesn't, so it can kill the registers containing arguments that are expected later by the slow stub. The easiest solution is to save argument registers before the call and then restore them. Webrev: http://cr.openjdk.java.net/~iveresov/7047491/webrev.00/ Tested with JPRT by passing -XX:+TieredCompilation to every test. igor From igor.veresov at oracle.com Mon May 23 12:49:45 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Mon, 23 May 2011 12:49:45 -0700 Subject: review(XXS): 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp In-Reply-To: References: <4DDA340B.7070409@oracle.com> Message-ID: <4DDABA59.8090109@oracle.com> Thanks Vladimir and Tom! igor On 5/23/11 10:41 AM, Tom Rodriguez wrote: > Looks good. > > tom > > On May 23, 2011, at 3:16 AM, Igor Veresov wrote: > >> We had invalid casts in address computation. The pointer was cast to long, which on Windows is 32bit, so the upper bits were lost. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7046893/webrev.00/ >> >> Contributed by: Thomas.Salter at unisys.com > From vladimir.kozlov at oracle.com Mon May 23 20:14:46 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 23 May 2011 20:14:46 -0700 Subject: Request for reviews (XS): 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer Message-ID: <4DDB22A6.9030908@oracle.com> http://cr.openjdk.java.net/~kvn/7047300/webrev Fixed 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop. Tested with failed jck test. From tom.rodriguez at oracle.com Tue May 24 12:47:56 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 24 May 2011 12:47:56 -0700 Subject: Request for reviews (XS): 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer In-Reply-To: <4DDB22A6.9030908@oracle.com> References: <4DDB22A6.9030908@oracle.com> Message-ID: <9234BDB7-68A1-4581-B5B5-2C608A904541@oracle.com> Looks good. tom On May 23, 2011, at 8:14 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7047300/webrev > > Fixed 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer > > The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop. > Tested with failed jck test. From vladimir.kozlov at oracle.com Tue May 24 12:51:06 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 24 May 2011 12:51:06 -0700 Subject: Request for reviews (XS): 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer In-Reply-To: <9234BDB7-68A1-4581-B5B5-2C608A904541@oracle.com> References: <4DDB22A6.9030908@oracle.com> <9234BDB7-68A1-4581-B5B5-2C608A904541@oracle.com> Message-ID: <4DDC0C2A.7080701@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > Looks good. > > tom > > On May 23, 2011, at 8:14 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7047300/webrev >> >> Fixed 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer >> >> The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop. >> Tested with failed jck test. > From tom.rodriguez at oracle.com Tue May 24 13:46:00 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 24 May 2011 13:46:00 -0700 Subject: review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code Message-ID: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> http://cr.openjdk.java.net/~never/7046732 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code Reviewed-by: The assert doesn't hold when the resolve_constant throws an exception. It should be using CHECK instead of THREAD so that it returns immediately. Tested with failing test case. From john.r.rose at oracle.com Tue May 24 13:48:57 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 24 May 2011 13:48:57 -0700 Subject: review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code In-Reply-To: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> References: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> Message-ID: <0FF1751C-3679-4FA4-9E79-752621DBE9B3@oracle.com> Good. -- John On May 24, 2011, at 1:46 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7046732 > 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg > > 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code > Reviewed-by: > > The assert doesn't hold when the resolve_constant throws an exception. > It should be using CHECK instead of THREAD so that it returns > immediately. Tested with failing test case. > From igor.veresov at oracle.com Tue May 24 13:51:35 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Tue, 24 May 2011 13:51:35 -0700 Subject: review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code In-Reply-To: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> References: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> Message-ID: <4DDC1A57.7040409@oracle.com> Looks good. igor On 5/24/11 1:46 PM, Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7046732 > 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg > > 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code > Reviewed-by: > > The assert doesn't hold when the resolve_constant throws an exception. > It should be using CHECK instead of THREAD so that it returns > immediately. Tested with failing test case. > From vladimir.kozlov at oracle.com Tue May 24 15:07:35 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 24 May 2011 22:07:35 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer Message-ID: <20110524220739.BE4F447897@hg.openjdk.java.net> Changeset: 7523488edce5 Author: kvn Date: 2011-05-24 12:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7523488edce5 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer Summary: The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop. Reviewed-by: never ! src/share/vm/opto/output.cpp From vladimir.kozlov at oracle.com Tue May 24 17:19:22 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 24 May 2011 17:19:22 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants Message-ID: <4DDC4B0A.8000508@oracle.com> http://cr.openjdk.java.net/~kvn/7048030/webrev Fixed 7048030: is_scavengable changes causing compiler to embed more constants This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. Verified with failing test from 7047300. From igor.veresov at oracle.com Tue May 24 17:21:41 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Wed, 25 May 2011 00:21:41 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp Message-ID: <20110525002143.8AAAB4789C@hg.openjdk.java.net> Changeset: ccf072cdba91 Author: iveresov Date: 2011-05-24 15:30 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ccf072cdba91 7046893: LP64 problem with double_quadword in c1_LIRAssembler_x86.cpp Summary: Fixed invalid casts in address computation Reviewed-by: kvn, never Contributed-by: thomas.salter at unisys.com ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp From john.r.rose at oracle.com Tue May 24 18:00:18 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 24 May 2011 18:00:18 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: <4DDC4B0A.8000508@oracle.com> References: <4DDC4B0A.8000508@oracle.com> Message-ID: If this affects the processing of 292 data, there may be significant performance regressions. The key uses of embedded non-perms are invokedynamic CallSites, which requires TypeOopPtr::make_from_constant to succeed for user-provided CallSite objects. But, I think this will continue to work if ScavengeRootsInCode is not zero. Do you agree? -- John P.S. FTR, some of history behind is_scavengable and is_perm is in this discussion, relating to 6863023: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2009-September/001261.html On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7048030/webrev > > Fixed 7048030: is_scavengable changes causing compiler to embed more constants > > This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. > > Verified with failing test from 7047300. From tom.rodriguez at oracle.com Tue May 24 18:17:13 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 24 May 2011 18:17:13 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: References: <4DDC4B0A.8000508@oracle.com> Message-ID: <3E9C5694-0B73-40BD-AE7D-3EE573CA4096@oracle.com> On May 24, 2011, at 6:00 PM, John Rose wrote: > If this affects the processing of 292 data, there may be significant performance regressions. The key uses of embedded non-perms are invokedynamic CallSites, which requires TypeOopPtr::make_from_constant to succeed for user-provided CallSite objects. > > But, I think this will continue to work if ScavengeRootsInCode is not zero. Do you agree? It should restore the logic to how it used to work prior to 7041789. http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/raw-diff/2aa9ddbb9e60/src/share/vm/gc_interface/collectedHeap.hpp @@ -284,11 +291,7 @@ class CollectedHeap : public CHeapObj { // An object is scavengable if its location may move during a scavenge. // (A scavenge is a GC which is not a full GC.) - // Currently, this just means it is not perm (and not null). - // This could change if we rethink what's in perm-gen. - bool is_scavengable(const void *p) const { - return !is_in_permanent_or_null(p); - } + virtual bool is_scavengable(const void *p) = 0; 292 ignores should_be_constant anyway. tom > > -- John > > P.S. FTR, some of history behind is_scavengable and is_perm is in this discussion, relating to 6863023: > http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2009-September/001261.html > > On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7048030/webrev >> >> Fixed 7048030: is_scavengable changes causing compiler to embed more constants >> >> This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. >> >> Verified with failing test from 7047300. > From tom.rodriguez at oracle.com Tue May 24 18:17:23 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Tue, 24 May 2011 18:17:23 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: <4DDC4B0A.8000508@oracle.com> References: <4DDC4B0A.8000508@oracle.com> Message-ID: Looks good. Thanks for taking this. tom On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7048030/webrev > > Fixed 7048030: is_scavengable changes causing compiler to embed more constants > > This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. > > Verified with failing test from 7047300. From vladimir.kozlov at oracle.com Tue May 24 18:25:41 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 24 May 2011 18:25:41 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: References: <4DDC4B0A.8000508@oracle.com> Message-ID: <4DDC5A95.7050401@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > Looks good. Thanks for taking this. > > tom > > On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7048030/webrev >> >> Fixed 7048030: is_scavengable changes causing compiler to embed more constants >> >> This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. >> >> Verified with failing test from 7047300. > From vladimir.kozlov at oracle.com Tue May 24 18:36:10 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 24 May 2011 18:36:10 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: <3E9C5694-0B73-40BD-AE7D-3EE573CA4096@oracle.com> References: <4DDC4B0A.8000508@oracle.com> <3E9C5694-0B73-40BD-AE7D-3EE573CA4096@oracle.com> Message-ID: <4DDC5D0A.6070207@oracle.com> Tom Rodriguez wrote: > On May 24, 2011, at 6:00 PM, John Rose wrote: > >> If this affects the processing of 292 data, there may be significant performance regressions. The key uses of embedded non-perms are invokedynamic CallSites, which requires TypeOopPtr::make_from_constant to succeed for user-provided CallSite objects. make_from_constant() is called with require_constant == true for invokedynamic CallSites and it calls can_be_constant() which will return true for ScavengeRootsInCode >= 1. So it should continue to work for 292. Vladimir >> >> But, I think this will continue to work if ScavengeRootsInCode is not zero. Do you agree? > > It should restore the logic to how it used to work prior to 7041789. > > http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/raw-diff/2aa9ddbb9e60/src/share/vm/gc_interface/collectedHeap.hpp > > @@ -284,11 +291,7 @@ class CollectedHeap : public CHeapObj { > > // An object is scavengable if its location may move during a scavenge. > // (A scavenge is a GC which is not a full GC.) > - // Currently, this just means it is not perm (and not null). > - // This could change if we rethink what's in perm-gen. > - bool is_scavengable(const void *p) const { > - return !is_in_permanent_or_null(p); > - } > + virtual bool is_scavengable(const void *p) = 0; > > 292 ignores should_be_constant anyway. > > tom > >> -- John >> >> P.S. FTR, some of history behind is_scavengable and is_perm is in this discussion, relating to 6863023: >> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2009-September/001261.html >> >> On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: >> >>> http://cr.openjdk.java.net/~kvn/7048030/webrev >>> >>> Fixed 7048030: is_scavengable changes causing compiler to embed more constants >>> >>> This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. >>> >>> Verified with failing test from 7047300. > From john.r.rose at oracle.com Tue May 24 18:53:28 2011 From: john.r.rose at oracle.com (John Rose) Date: Tue, 24 May 2011 18:53:28 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: <4DDC5D0A.6070207@oracle.com> References: <4DDC4B0A.8000508@oracle.com> <3E9C5694-0B73-40BD-AE7D-3EE573CA4096@oracle.com> <4DDC5D0A.6070207@oracle.com> Message-ID: Yes; thanks. You can count me as a reviewer. -- John On May 24, 2011, at 6:36 PM, Vladimir Kozlov wrote: > Tom Rodriguez wrote: >> On May 24, 2011, at 6:00 PM, John Rose wrote: >>> If this affects the processing of 292 data, there may be significant performance regressions. The key uses of embedded non-perms are invokedynamic CallSites, which requires TypeOopPtr::make_from_constant to succeed for user-provided CallSite objects. > > make_from_constant() is called with require_constant == true for invokedynamic CallSites and it calls can_be_constant() which will return true for ScavengeRootsInCode >= 1. So it should continue to work for 292. > > Vladimir > >>> >>> But, I think this will continue to work if ScavengeRootsInCode is not zero. Do you agree? >> It should restore the logic to how it used to work prior to 7041789. >> http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/raw-diff/2aa9ddbb9e60/src/share/vm/gc_interface/collectedHeap.hpp >> @@ -284,11 +291,7 @@ class CollectedHeap : public CHeapObj { >> // An object is scavengable if its location may move during a scavenge. >> // (A scavenge is a GC which is not a full GC.) >> - // Currently, this just means it is not perm (and not null). >> - // This could change if we rethink what's in perm-gen. >> - bool is_scavengable(const void *p) const { >> - return !is_in_permanent_or_null(p); >> - } >> + virtual bool is_scavengable(const void *p) = 0; >> 292 ignores should_be_constant anyway. >> tom >>> -- John >>> >>> P.S. FTR, some of history behind is_scavengable and is_perm is in this discussion, relating to 6863023: >>> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2009-September/001261.html >>> >>> On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: >>> >>>> http://cr.openjdk.java.net/~kvn/7048030/webrev >>>> >>>> Fixed 7048030: is_scavengable changes causing compiler to embed more constants >>>> >>>> This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. >>>> >>>> Verified with failing test from 7047300. From vladimir.kozlov at oracle.com Tue May 24 20:26:46 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 24 May 2011 20:26:46 -0700 Subject: Request for reviews (XS): 7048030: is_scavengable changes causing compiler to embed more constants In-Reply-To: References: <4DDC4B0A.8000508@oracle.com> <3E9C5694-0B73-40BD-AE7D-3EE573CA4096@oracle.com> <4DDC5D0A.6070207@oracle.com> Message-ID: <4DDC76F6.9050101@oracle.com> Thank you, John Vladimir John Rose wrote: > Yes; thanks. You can count me as a reviewer. -- John > > On May 24, 2011, at 6:36 PM, Vladimir Kozlov wrote: > >> Tom Rodriguez wrote: >>> On May 24, 2011, at 6:00 PM, John Rose wrote: >>>> If this affects the processing of 292 data, there may be significant performance regressions. The key uses of embedded non-perms are invokedynamic CallSites, which requires TypeOopPtr::make_from_constant to succeed for user-provided CallSite objects. >> make_from_constant() is called with require_constant == true for invokedynamic CallSites and it calls can_be_constant() which will return true for ScavengeRootsInCode >= 1. So it should continue to work for 292. >> >> Vladimir >> >>>> But, I think this will continue to work if ScavengeRootsInCode is not zero. Do you agree? >>> It should restore the logic to how it used to work prior to 7041789. >>> http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/raw-diff/2aa9ddbb9e60/src/share/vm/gc_interface/collectedHeap.hpp >>> @@ -284,11 +291,7 @@ class CollectedHeap : public CHeapObj { >>> // An object is scavengable if its location may move during a scavenge. >>> // (A scavenge is a GC which is not a full GC.) >>> - // Currently, this just means it is not perm (and not null). >>> - // This could change if we rethink what's in perm-gen. >>> - bool is_scavengable(const void *p) const { >>> - return !is_in_permanent_or_null(p); >>> - } >>> + virtual bool is_scavengable(const void *p) = 0; >>> 292 ignores should_be_constant anyway. >>> tom >>>> -- John >>>> >>>> P.S. FTR, some of history behind is_scavengable and is_perm is in this discussion, relating to 6863023: >>>> http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2009-September/001261.html >>>> >>>> On May 24, 2011, at 5:19 PM, Vladimir Kozlov wrote: >>>> >>>>> http://cr.openjdk.java.net/~kvn/7048030/webrev >>>>> >>>>> Fixed 7048030: is_scavengable changes causing compiler to embed more constants >>>>> >>>>> This is the cause of 7047300 problem to appear. The fix for 7041789 corrected the meaning of is_scavengable to really mean what it says. Unfortunately there were some places that were really using it as a proxy for !is_perm. In particular in ciObject::can_be_constant and should_be_constant we will now embed constants that we didn't used as long as they are in tenured. The code should be changed from !is_scavengable to is_perm. >>>>> >>>>> Verified with failing test from 7047300. > From vladimir.kozlov at oracle.com Wed May 25 00:41:39 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 25 May 2011 07:41:39 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7048030: is_scavengable changes causing compiler to embed more constants Message-ID: <20110525074143.27CE2478B6@hg.openjdk.java.net> Changeset: 28a9fe9534ea Author: kvn Date: 2011-05-24 20:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/28a9fe9534ea 7048030: is_scavengable changes causing compiler to embed more constants Summary: ciObject::can_be_constant() and should_be_constant() should use is_perm() instead of !is_scavengable() Reviewed-by: never, jrose ! src/share/vm/ci/ciObject.cpp ! src/share/vm/ci/ciObject.hpp From john.r.rose at oracle.com Wed May 25 03:30:42 2011 From: john.r.rose at oracle.com (John Rose) Date: Wed, 25 May 2011 03:30:42 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review Message-ID: This is the last major bundle of changes for JDK 7. http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ (Note: This is an engineering code review. The associated API documents are also under review and are about to be finalized by the Expert Group. Here is a recent version: http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/ ) Additions: - ConstantCallSite.(MethodType, MethodHandle) (hook for self-binding) - MethodHandles.asFixedArity (inverse to asVarargsCollector) Renames: - MethodHandles.convertArguments => MethodHandle.asType - MethodHandles.asInstance => MethodHandleProxies.asInterfaceInstance - MethodHandles.*wrapperInstance* => MethodHandleProxies.*wrapperInstance* Semantic changes: - more explicit rules for asType and explicitCastArguments - rules for void returns on filter and fold transforms - MHs.spreadInvoker and MHs.invoker made more regular Clarifications: - lots of @throws declarations - more example snippets in the javadoc - document varargs in more places Bug fixes: - MH.toString method needs to be compliant - security manager checks as documented - unboxing of primitives as documented - permuteArguments failures on long/int mixes - more testing for invalid arguments - tweak guardWithTest Deletions: - Some javadoc in MethodHandle and package-info deleted, when it is redundant with JDK7 version of JLS or JVMS From tuure.laurinolli at indagon.com Wed May 25 05:49:02 2011 From: tuure.laurinolli at indagon.com (Tuure Laurinolli) Date: Wed, 25 May 2011 15:49:02 +0300 Subject: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly Message-ID: <4DDCFABE.9000603@indagon.com> Hello, I spent yesterday tracing a bug in our software, and the trail points to Hotspot. Extremely short version: cadd_cmpLTMask doesnt handle 64-bit register as tmp, and generates subtly broken code if it receives one. Slightly longer version: After extensive inlining and elision of the full-check, the interesting part of @Override public int size() { if (full) { path = 0; return capacity(); } final int result; if (last >= first) { result = last - first; } else { result = last - first + capacity(); } return result; } compiles down to something like 11d subl R10, RDX # cadd_cmpLTMask1 sbbl R11, R11 andl R11, RBX addl R10, R11 127 movl [rsp + #40], R10 # spill where initially R10 is last, RBX is first, R8 is whatever and RCX is result of capacity(). However, looking at the code that is actually run with GDB, the disassembly is rather different: 0x2aaaac856d7d: sub %edx,%r10d 0x2aaaac856d80: sbb %ebx,%ebx 0x2aaaac856d82: and %ebx,%ebx 0x2aaaac856d84: add %ebx,%r11d 0x2aaaac856d87: mov %r10d,0x28(%rsp) Both and and add operate on odd registers, and the code also produces wrong result into [RSP+40]. Looking at the binary code, it's as follows: (gdb) x/15xb 0x2aaaac856d7d 0x2aaaac856d7d: 0x44 0x2b 0xd2 0x1b 0xdb 0x23 0xdb 0x44 0x2aaaac856d85: 0x03 0xdb 0x44 0x89 0x54 0x24 0x28 Notably the SBB instruction is missing REX.RB prefix, which changes it from SBBL R11 R11 into SBBL EBX EBX and clobbers the actual EBX. Also, the prefix of the ADD is only REX.R, whereas it probably should be REX.RB, and in any case the destination register is wrong. Looking at x86_64.ad, it's clear that the code that generates this section (cadd_cmpLTMask) is not prepared to handle 64-bit tmp register. This explain missing prefixes, and also wrong destination register of ADD, since the high bit of reg clobbers the low bit or r/m in emit_rm(). Now, where do I report this bug? Presumably there is a bug tracker somewhere. -- Tuure Laurinolli Software Engineer Indagon Ltd. From tom.rodriguez at oracle.com Wed May 25 10:29:28 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 10:29:28 -0700 Subject: review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code In-Reply-To: <4DDC1A57.7040409@oracle.com> References: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> <4DDC1A57.7040409@oracle.com> Message-ID: <85023048-B744-431A-9E60-B7CBD877603D@oracle.com> While testing a separate issue I discovered another problem with this code. The Bytecode wrapper objects aren't GC-safe because they embed a bcp so the assert can fail if a GC occurs in the load_constant call itself. You can also get other assertion failures depending on how the underlying method moves. The fix is to make a new wrapper for the assertion check. Now that that these Bytecode objects have a method in the we should move them away from using bcp. I filed 7048278 for that. Anyway, I've updated the webrev and retested. tom On May 24, 2011, at 1:51 PM, Igor Veresov wrote: > Looks good. > > igor > > On 5/24/11 1:46 PM, Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7046732 >> 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg >> >> 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code >> Reviewed-by: >> >> The assert doesn't hold when the resolve_constant throws an exception. >> It should be using CHECK instead of THREAD so that it returns >> immediately. Tested with failing test case. >> > From vladimir.kozlov at oracle.com Wed May 25 11:44:02 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 25 May 2011 11:44:02 -0700 Subject: review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code In-Reply-To: <85023048-B744-431A-9E60-B7CBD877603D@oracle.com> References: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> <4DDC1A57.7040409@oracle.com> <85023048-B744-431A-9E60-B7CBD877603D@oracle.com> Message-ID: <4DDD4DF2.2030607@oracle.com> Looks fine. Vladimir Tom Rodriguez wrote: > While testing a separate issue I discovered another problem with this code. The Bytecode wrapper objects aren't GC-safe because they embed a bcp so the assert can fail if a GC occurs in the load_constant call itself. You can also get other assertion failures depending on how the underlying method moves. The fix is to make a new wrapper for the assertion check. Now that that these Bytecode objects have a method in the we should move them away from using bcp. I filed 7048278 for that. Anyway, I've updated the webrev and retested. > > tom > > On May 24, 2011, at 1:51 PM, Igor Veresov wrote: > >> Looks good. >> >> igor >> >> On 5/24/11 1:46 PM, Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7046732 >>> 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg >>> >>> 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code >>> Reviewed-by: >>> >>> The assert doesn't hold when the resolve_constant throws an exception. >>> It should be using CHECK instead of THREAD so that it returns >>> immediately. Tested with failing test case. >>> > From tom.rodriguez at oracle.com Wed May 25 12:07:58 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 12:07:58 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly Message-ID: http://cr.openjdk.java.net/~never/7047961 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly Reviewed-by: Several more errors were found with handling op arguments in MethodHandleWalk. swap wasn't dealing with the double word arguments properly. collect and fold are allowed to have 0 length operations. rotate was using the wrong type to determine the size of the operation. boxing operations are allowed on subword types. nop conversion operations should just do nothing. I also removed the SlotState wrapper since its only purpose seemed to be to keep track of the arg types when symbolic was used and I modified tt_symbolic to keep accurate track of the type instead of claiming to be a long. I also added more detail to most of the failure messages and fixed a missing ResourceMark along with adding a lot more sanity checks. Tested with vm/mlvm and java/lang/invoke regression tests. From tom.rodriguez at oracle.com Wed May 25 12:18:04 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 12:18:04 -0700 Subject: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly In-Reply-To: <4DDCFABE.9000603@indagon.com> References: <4DDCFABE.9000603@indagon.com> Message-ID: Yes the assembly is very broken. I filed 7048332 for this. The standard reporting location is through http://bugreport.sun.com/bugreport though that goes through some triage before it makes it to us. It's ok to report concrete things here, particularly if you've fully diagnosed the problem. ;) Thanks for the thorough report. This may make it into 7 but it should be in the next update at worst. tom On May 25, 2011, at 5:49 AM, Tuure Laurinolli wrote: > Hello, > > I spent yesterday tracing a bug in our software, and the trail points to > Hotspot. > > Extremely short version: > > cadd_cmpLTMask doesnt handle 64-bit register as tmp, and generates > subtly broken code if it receives one. > > Slightly longer version: > > After extensive inlining and elision of the full-check, the interesting > part of > > @Override > public int size() { > if (full) { > path = 0; > return capacity(); > } > > final int result; > if (last >= first) { > result = last - first; > } else { > result = last - first + capacity(); > } > return result; > } > > compiles down to something like > > 11d subl R10, RDX # cadd_cmpLTMask1 > sbbl R11, R11 > andl R11, RBX > addl R10, R11 > 127 movl [rsp + #40], R10 # spill > > where initially R10 is last, RBX is first, R8 is whatever and RCX is > result of capacity(). However, looking at the code that is actually run > with GDB, the disassembly is rather different: > > 0x2aaaac856d7d: sub %edx,%r10d > 0x2aaaac856d80: sbb %ebx,%ebx > 0x2aaaac856d82: and %ebx,%ebx > 0x2aaaac856d84: add %ebx,%r11d > 0x2aaaac856d87: mov %r10d,0x28(%rsp) > > Both and and add operate on odd registers, and the code also produces > wrong result into [RSP+40]. Looking at the binary code, it's as follows: > > (gdb) x/15xb 0x2aaaac856d7d > 0x2aaaac856d7d: 0x44 0x2b 0xd2 0x1b 0xdb 0x23 > 0xdb 0x44 > 0x2aaaac856d85: 0x03 0xdb 0x44 0x89 0x54 0x24 0x28 > > Notably the SBB instruction is missing REX.RB prefix, which changes it > from SBBL R11 R11 into SBBL EBX EBX and clobbers the actual EBX. Also, > the prefix of the ADD is only REX.R, whereas it probably should be > REX.RB, and in any case the destination register is wrong. > > Looking at x86_64.ad, it's clear that the code that generates this > section (cadd_cmpLTMask) is not prepared to handle 64-bit tmp register. > This explain missing prefixes, and also wrong destination register of > ADD, since the high bit of reg clobbers the low bit or r/m in emit_rm(). > > Now, where do I report this bug? Presumably there is a bug tracker > somewhere. > > -- > > Tuure Laurinolli > Software Engineer > Indagon Ltd. > From John.Coomes at oracle.com Wed May 25 12:45:11 2011 From: John.Coomes at oracle.com (John Coomes) Date: Wed, 25 May 2011 12:45:11 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: References: Message-ID: <19933.23623.994595.269209@oracle.com> Tom Rodriguez (tom.rodriguez at oracle.com) wrote: > http://cr.openjdk.java.net/~never/7047961 > 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg > > 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly > ... Not a real review, just a nit-pick: '#ifdef DEBUG' should be '#ifdef ASSERT' since DEBUG is not defined consistently in our builds (e.g., not in fastdebug builds). -John From tom.rodriguez at oracle.com Wed May 25 12:49:50 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 12:49:50 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <19933.23623.994595.269209@oracle.com> References: <19933.23623.994595.269209@oracle.com> Message-ID: <82FEA4DA-E94A-4CCF-B286-BF31D148D794@oracle.com> On May 25, 2011, at 12:45 PM, John Coomes wrote: > Tom Rodriguez (tom.rodriguez at oracle.com) wrote: >> http://cr.openjdk.java.net/~never/7047961 >> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg >> >> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly >> ... > > Not a real review, just a nit-pick: '#ifdef DEBUG' should be '#ifdef > ASSERT' since DEBUG is not defined consistently in our builds (e.g., > not in fastdebug builds). Thanks for catching that. A little grepping suggests that there are quite a places that are still using DEBUG. DEBUG_ONLY vs ifdef ASSERT has always bugged too. I've corrected my code. tom > > -John From vladimir.kozlov at oracle.com Wed May 25 12:59:32 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 25 May 2011 12:59:32 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: References: Message-ID: <4DDD5FA4.7060903@oracle.com> Why you used DEBUG instead of ASSERT? For fastdebug build DEBUG is not defined. Not all ctor initialize ArgToken._value field. Could you add comment to next check because it looks strange since it narrow error cases? In other words, for example, why it is OK to have bad argument index with conv_op <= OP_RETYPE_RAW: + if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && + conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && + conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && + conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { + lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); } verify_args_and_signature() should be under "ifdef ASSERT". Vladimir Tom Rodriguez wrote: > http://cr.openjdk.java.net/~never/7047961 > 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg > > 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly > Reviewed-by: > > Several more errors were found with handling op arguments in > MethodHandleWalk. swap wasn't dealing with the double word arguments > properly. collect and fold are allowed to have 0 length operations. > rotate was using the wrong type to determine the size of the > operation. boxing operations are allowed on subword types. nop > conversion operations should just do nothing. I also removed the > SlotState wrapper since its only purpose seemed to be to keep track of > the arg types when symbolic was used and I modified tt_symbolic to > keep accurate track of the type instead of claiming to be a long. I > also added more detail to most of the failure messages and fixed a > missing ResourceMark along with adding a lot more sanity checks. > Tested with vm/mlvm and java/lang/invoke regression tests. > From John.Coomes at oracle.com Wed May 25 13:15:45 2011 From: John.Coomes at oracle.com (John Coomes) Date: Wed, 25 May 2011 13:15:45 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <82FEA4DA-E94A-4CCF-B286-BF31D148D794@oracle.com> References: <19933.23623.994595.269209@oracle.com> <82FEA4DA-E94A-4CCF-B286-BF31D148D794@oracle.com> Message-ID: <19933.25457.453793.79337@oracle.com> Tom Rodriguez (tom.rodriguez at oracle.com) wrote: > > On May 25, 2011, at 12:45 PM, John Coomes wrote: > > > Tom Rodriguez (tom.rodriguez at oracle.com) wrote: > >> http://cr.openjdk.java.net/~never/7047961 > >> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg > >> > >> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly > >> ... > > > > Not a real review, just a nit-pick: '#ifdef DEBUG' should be '#ifdef > > ASSERT' since DEBUG is not defined consistently in our builds (e.g., > > not in fastdebug builds). > > Thanks for catching that. A little grepping suggests that there are > quite a places that are still using DEBUG. DEBUG_ONLY vs ifdef > ASSERT has always bugged too. I've corrected my code. FWIW, I filed bugs a while back to track the DEBUG vs. ASSERT problems (6860048, 6990414). I expect to get rid of the remaining #ifdef DEBUG lines after jdk7. -John From tom.rodriguez at oracle.com Wed May 25 13:54:45 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 13:54:45 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <4DDD5FA4.7060903@oracle.com> References: <4DDD5FA4.7060903@oracle.com> Message-ID: <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> On May 25, 2011, at 12:59 PM, Vladimir Kozlov wrote: > Why you used DEBUG instead of ASSERT? For fastdebug build DEBUG is not defined. I fixed that. > > Not all ctor initialize ArgToken._value field. In those cases the value field isn't/shouldn't be used. Same with handle. The accessors for those values also check that they are the right token type which ensures that they are only accessed if they have been initialized. > > Could you add comment to next check because it looks strange since it narrow error cases? In other words, for example, why it is OK to have bad argument index with conv_op <= OP_RETYPE_RAW: > > + if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && > + conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && > + conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && > + conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { > + lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); > } Because it isn't bad in that case. ;) Is this ok: // Check that the arg_slot is valid. In most cases it must be // within range of the current arguments but there are some // exceptions. Those are sanity checked in their implemention // below. if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); There really should be more sharing between the sanity checks in methodHandles.cpp and methodHandleWalk but I think that's for another day. > > verify_args_and_signature() should be under "ifdef ASSERT". ok. The webrev is updated. tom > > Vladimir > > Tom Rodriguez wrote: >> http://cr.openjdk.java.net/~never/7047961 >> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg >> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly >> Reviewed-by: >> Several more errors were found with handling op arguments in >> MethodHandleWalk. swap wasn't dealing with the double word arguments >> properly. collect and fold are allowed to have 0 length operations. >> rotate was using the wrong type to determine the size of the >> operation. boxing operations are allowed on subword types. nop >> conversion operations should just do nothing. I also removed the >> SlotState wrapper since its only purpose seemed to be to keep track of >> the arg types when symbolic was used and I modified tt_symbolic to >> keep accurate track of the type instead of claiming to be a long. I >> also added more detail to most of the failure messages and fixed a >> missing ResourceMark along with adding a lot more sanity checks. >> Tested with vm/mlvm and java/lang/invoke regression tests. From vladimir.kozlov at oracle.com Wed May 25 14:33:34 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 25 May 2011 14:33:34 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> References: <4DDD5FA4.7060903@oracle.com> <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> Message-ID: <4DDD75AE.7010702@oracle.com> Yes, it looks good. Thanks, Vladimir Tom Rodriguez wrote: > On May 25, 2011, at 12:59 PM, Vladimir Kozlov wrote: > >> Why you used DEBUG instead of ASSERT? For fastdebug build DEBUG is not defined. > > I fixed that. > >> Not all ctor initialize ArgToken._value field. > > In those cases the value field isn't/shouldn't be used. Same with handle. The accessors for those values also check that they are the right token type which ensures that they are only accessed if they have been initialized. > >> Could you add comment to next check because it looks strange since it narrow error cases? In other words, for example, why it is OK to have bad argument index with conv_op <= OP_RETYPE_RAW: >> >> + if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && >> + conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && >> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && >> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { >> + lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); >> } > > Because it isn't bad in that case. ;) Is this ok: > > // Check that the arg_slot is valid. In most cases it must be > // within range of the current arguments but there are some > // exceptions. Those are sanity checked in their implemention > // below. > if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && > conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && > conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && > conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { > lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); > > There really should be more sharing between the sanity checks in methodHandles.cpp and methodHandleWalk but I think that's for another day. > > >> verify_args_and_signature() should be under "ifdef ASSERT". > > ok. The webrev is updated. > > tom > >> Vladimir >> >> Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7047961 >>> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg >>> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly >>> Reviewed-by: >>> Several more errors were found with handling op arguments in >>> MethodHandleWalk. swap wasn't dealing with the double word arguments >>> properly. collect and fold are allowed to have 0 length operations. >>> rotate was using the wrong type to determine the size of the >>> operation. boxing operations are allowed on subword types. nop >>> conversion operations should just do nothing. I also removed the >>> SlotState wrapper since its only purpose seemed to be to keep track of >>> the arg types when symbolic was used and I modified tt_symbolic to >>> keep accurate track of the type instead of claiming to be a long. I >>> also added more detail to most of the failure messages and fixed a >>> missing ResourceMark along with adding a lot more sanity checks. >>> Tested with vm/mlvm and java/lang/invoke regression tests. > From igor.veresov at oracle.com Wed May 25 14:49:17 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 25 May 2011 14:49:17 -0700 Subject: review for 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code In-Reply-To: <85023048-B744-431A-9E60-B7CBD877603D@oracle.com> References: <84A42988-7354-4119-90F2-E0EB862B6C64@oracle.com> <4DDC1A57.7040409@oracle.com> <85023048-B744-431A-9E60-B7CBD877603D@oracle.com> Message-ID: <4DDD795D.4040203@oracle.com> Looks good. igor On 5/25/11 10:29 AM, Tom Rodriguez wrote: > While testing a separate issue I discovered another problem with this code. The Bytecode wrapper objects aren't GC-safe because they embed a bcp so the assert can fail if a GC occurs in the load_constant call itself. You can also get other assertion failures depending on how the underlying method moves. The fix is to make a new wrapper for the assertion check. Now that that these Bytecode objects have a method in the we should move them away from using bcp. I filed 7048278 for that. Anyway, I've updated the webrev and retested. > > tom > > On May 24, 2011, at 1:51 PM, Igor Veresov wrote: > >> Looks good. >> >> igor >> >> On 5/24/11 1:46 PM, Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7046732 >>> 1 line changed: 0 ins; 0 del; 1 mod; 1262 unchg >>> >>> 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code >>> Reviewed-by: >>> >>> The assert doesn't hold when the resolve_constant throws an exception. >>> It should be using CHECK instead of THREAD so that it returns >>> immediately. Tested with failing test case. >>> >> > From tom.rodriguez at oracle.com Wed May 25 15:50:28 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 15:50:28 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <4DDD75AE.7010702@oracle.com> References: <4DDD5FA4.7060903@oracle.com> <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> <4DDD75AE.7010702@oracle.com> Message-ID: Thanks! tom On May 25, 2011, at 2:33 PM, Vladimir Kozlov wrote: > Yes, it looks good. > > Thanks, > Vladimir > > Tom Rodriguez wrote: >> On May 25, 2011, at 12:59 PM, Vladimir Kozlov wrote: >>> Why you used DEBUG instead of ASSERT? For fastdebug build DEBUG is not defined. >> I fixed that. >>> Not all ctor initialize ArgToken._value field. >> In those cases the value field isn't/shouldn't be used. Same with handle. The accessors for those values also check that they are the right token type which ensures that they are only accessed if they have been initialized. >>> Could you add comment to next check because it looks strange since it narrow error cases? In other words, for example, why it is OK to have bad argument index with conv_op <= OP_RETYPE_RAW: >>> >>> + if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && >>> + conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && >>> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && >>> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { >>> + lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); >>> } >> Because it isn't bad in that case. ;) Is this ok: >> // Check that the arg_slot is valid. In most cases it must be // within range of the current arguments but there are some // exceptions. Those are sanity checked in their implemention // below. if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && >> conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && >> conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && >> conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { >> lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); >> There really should be more sharing between the sanity checks in methodHandles.cpp and methodHandleWalk but I think that's for another day. >>> verify_args_and_signature() should be under "ifdef ASSERT". >> ok. The webrev is updated. >> tom >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> http://cr.openjdk.java.net/~never/7047961 >>>> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg >>>> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly >>>> Reviewed-by: >>>> Several more errors were found with handling op arguments in >>>> MethodHandleWalk. swap wasn't dealing with the double word arguments >>>> properly. collect and fold are allowed to have 0 length operations. >>>> rotate was using the wrong type to determine the size of the >>>> operation. boxing operations are allowed on subword types. nop >>>> conversion operations should just do nothing. I also removed the >>>> SlotState wrapper since its only purpose seemed to be to keep track of >>>> the arg types when symbolic was used and I modified tt_symbolic to >>>> keep accurate track of the type instead of claiming to be a long. I >>>> also added more detail to most of the failure messages and fixed a >>>> missing ResourceMark along with adding a lot more sanity checks. >>>> Tested with vm/mlvm and java/lang/invoke regression tests. From vladimir.kozlov at oracle.com Wed May 25 19:46:25 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 25 May 2011 19:46:25 -0700 Subject: Request for reviews (S): 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly Message-ID: <4DDDBF01.4090401@oracle.com> http://cr.openjdk.java.net/~kvn/7048332/webrev Fixed 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly enc_cmpLTP_mem() code relied on tmp be bound to rcx register but after 6511991 changes it was not true any more. Use ins_encode %{ %} form to encode cadd_cmpLTMask() instruction and remove unused code. Added regression test. From tom.rodriguez at oracle.com Wed May 25 19:51:27 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 19:51:27 -0700 Subject: Request for reviews (S): 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly In-Reply-To: <4DDDBF01.4090401@oracle.com> References: <4DDDBF01.4090401@oracle.com> Message-ID: Looks good. tom On May 25, 2011, at 7:46 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7048332/webrev > > Fixed 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly > > enc_cmpLTP_mem() code relied on tmp be bound to rcx register but after 6511991 changes it was not true any more. Use ins_encode %{ %} form to encode cadd_cmpLTMask() instruction and remove unused code. > > Added regression test. From vladimir.kozlov at oracle.com Wed May 25 19:52:52 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 25 May 2011 19:52:52 -0700 Subject: Request for reviews (S): 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly In-Reply-To: References: <4DDDBF01.4090401@oracle.com> Message-ID: <4DDDC084.7070301@oracle.com> Thank you, Tom Vladimir Tom Rodriguez wrote: > Looks good. > > tom > > On May 25, 2011, at 7:46 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7048332/webrev >> >> Fixed 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly >> >> enc_cmpLTP_mem() code relied on tmp be bound to rcx register but after 6511991 changes it was not true any more. Use ins_encode %{ %} form to encode cadd_cmpLTMask() instruction and remove unused code. >> >> Added regression test. > From tom.rodriguez at oracle.com Wed May 25 20:36:52 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Thu, 26 May 2011 03:36:52 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code Message-ID: <20110526033656.4526E478FC@hg.openjdk.java.net> Changeset: 7db2b9499c36 Author: never Date: 2011-05-25 16:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7db2b9499c36 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code Reviewed-by: kvn, iveresov, jrose ! src/share/vm/interpreter/interpreterRuntime.cpp From igor.veresov at oracle.com Wed May 25 23:56:22 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Wed, 25 May 2011 23:56:22 -0700 Subject: Fwd: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub Message-ID: <4DDDF996.9070001@oracle.com> I guess this mail didn't make it. Resending. -------- Original Message -------- Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub Date: Mon, 23 May 2011 12:48:50 -0700 From: Igor Veresov To: hotspot-compiler-dev Incorrect handling of the registers made runThese fail one of the arraycopy tests on 64bit windows with -d64 -Xcomp -XX:+TieredCompilation. The problem is that when we call the checkcast_arraycopy stub we assume that it abides to C calling convention, but in fact it doesn't, so it can kill the registers containing arguments that are expected later by the slow stub. The easiest solution is to save argument registers before the call and then restore them. Webrev: http://cr.openjdk.java.net/~iveresov/7047491/webrev.00/ Tested with JPRT by passing -XX:+TieredCompilation to every test. igor From tom.rodriguez at oracle.com Wed May 25 23:58:49 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Wed, 25 May 2011 23:58:49 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: References: Message-ID: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> Overall it seems ok. A few minor oddities: MethodHandle.java variable arity is sometimes hyphenated. It seems more correct without but be consistent. AdapterMethodHandle.java: The new value srcSlot appears unused. Should this just go away: - if (argCount <= 2) return false; // must be a swap, not a rotate + //if (argCount <= 2) return false; // must be a swap, not a rotate tom On May 25, 2011, at 3:30 AM, John Rose wrote: > This is the last major bundle of changes for JDK 7. > http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ > > (Note: This is an engineering code review. The associated API documents are also under review and are about to be finalized by the Expert Group. Here is a recent version: http://cr.openjdk.java.net/~jrose/pres/indy-javadoc-mlvm/ ) > > Additions: > - ConstantCallSite.(MethodType, MethodHandle) (hook for self-binding) > - MethodHandles.asFixedArity (inverse to asVarargsCollector) > > Renames: > - MethodHandles.convertArguments => MethodHandle.asType > - MethodHandles.asInstance => MethodHandleProxies.asInterfaceInstance > - MethodHandles.*wrapperInstance* => MethodHandleProxies.*wrapperInstance* > > Semantic changes: > - more explicit rules for asType and explicitCastArguments > - rules for void returns on filter and fold transforms > - MHs.spreadInvoker and MHs.invoker made more regular > > Clarifications: > - lots of @throws declarations > - more example snippets in the javadoc > - document varargs in more places > > Bug fixes: > - MH.toString method needs to be compliant > - security manager checks as documented > - unboxing of primitives as documented > - permuteArguments failures on long/int mixes > - more testing for invalid arguments > - tweak guardWithTest > > Deletions: > - Some javadoc in MethodHandle and package-info deleted, when it is redundant with JDK7 version of JLS or JVMS > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev From tom.rodriguez at oracle.com Thu May 26 00:03:07 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 00:03:07 -0700 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: <4DDDF996.9070001@oracle.com> References: <4DDDF996.9070001@oracle.com> Message-ID: <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> That seems reasonable. Do we always have stack space for this on x64? I can't remember how that space is reserved. tom tom On May 25, 2011, at 11:56 PM, Igor Veresov wrote: > I guess this mail didn't make it. Resending. > > -------- Original Message -------- > Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub > Date: Mon, 23 May 2011 12:48:50 -0700 > From: Igor Veresov > To: hotspot-compiler-dev > > Incorrect handling of the registers made runThese fail one of the > arraycopy tests on 64bit windows with -d64 -Xcomp -XX:+TieredCompilation. > > The problem is that when we call the checkcast_arraycopy stub we assume > that it abides to C calling convention, but in fact it doesn't, so it > can kill the registers containing arguments that are expected later by > the slow stub. The easiest solution is to save argument registers before > the call and then restore them. > > Webrev: http://cr.openjdk.java.net/~iveresov/7047491/webrev.00/ > > Tested with JPRT by passing -XX:+TieredCompilation to every test. > > igor From john.r.rose at oracle.com Thu May 26 00:09:56 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 26 May 2011 00:09:56 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> References: <4DDD5FA4.7060903@oracle.com> <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> Message-ID: <351CC281-B2E5-4B8F-A45A-21A83BB9EF8A@oracle.com> That was a very productive round of stress testing. Nice use of err_msg to expose failure info. I agree with the removal of SlotState. The "safety net" places (where you put "XXX") can disappear. On BSD I get a signed/unsigned compare warning on ARRAY_SIZE; use (int)ARRAY_SIZE. Reviewed; looks good. -- John On May 25, 2011, at 1:54 PM, Tom Rodriguez wrote: > > On May 25, 2011, at 12:59 PM, Vladimir Kozlov wrote: > >> Why you used DEBUG instead of ASSERT? For fastdebug build DEBUG is not defined. > > I fixed that. > >> >> Not all ctor initialize ArgToken._value field. > > In those cases the value field isn't/shouldn't be used. Same with handle. The accessors for those values also check that they are the right token type which ensures that they are only accessed if they have been initialized. > >> >> Could you add comment to next check because it looks strange since it narrow error cases? In other words, for example, why it is OK to have bad argument index with conv_op <= OP_RETYPE_RAW: >> >> + if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && >> + conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && >> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && >> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { >> + lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); >> } > > Because it isn't bad in that case. ;) Is this ok: > > // Check that the arg_slot is valid. In most cases it must be > // within range of the current arguments but there are some > // exceptions. Those are sanity checked in their implemention > // below. > if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && > conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && > conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && > conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { > lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); > > There really should be more sharing between the sanity checks in methodHandles.cpp and methodHandleWalk but I think that's for another day. > > >> >> verify_args_and_signature() should be under "ifdef ASSERT". > > ok. The webrev is updated. > > tom > >> >> Vladimir >> >> Tom Rodriguez wrote: >>> http://cr.openjdk.java.net/~never/7047961 >>> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg >>> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly >>> Reviewed-by: >>> Several more errors were found with handling op arguments in >>> MethodHandleWalk. swap wasn't dealing with the double word arguments >>> properly. collect and fold are allowed to have 0 length operations. >>> rotate was using the wrong type to determine the size of the >>> operation. boxing operations are allowed on subword types. nop >>> conversion operations should just do nothing. I also removed the >>> SlotState wrapper since its only purpose seemed to be to keep track of >>> the arg types when symbolic was used and I modified tt_symbolic to >>> keep accurate track of the type instead of claiming to be a long. I >>> also added more detail to most of the failure messages and fixed a >>> missing ResourceMark along with adding a lot more sanity checks. >>> Tested with vm/mlvm and java/lang/invoke regression tests. > From vladimir.kozlov at oracle.com Thu May 26 00:37:54 2011 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Thu, 26 May 2011 07:37:54 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly Message-ID: <20110526073756.3334147907@hg.openjdk.java.net> Changeset: c7c81f18c834 Author: kvn Date: 2011-05-25 21:17 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c7c81f18c834 7048332: Cadd_cmpLTMask doesn't handle 64-bit tmp register properly Summary: Use ins_encode %{ %} form to encode cadd_cmpLTMask() instruction and remove unused code. Reviewed-by: never ! src/cpu/x86/vm/x86_64.ad + test/compiler/7048332/Test7048332.java From john.r.rose at oracle.com Thu May 26 01:31:16 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 26 May 2011 01:31:16 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> Message-ID: On May 25, 2011, at 11:58 PM, Tom Rodriguez wrote: > Overall it seems ok. A few minor oddities: > > MethodHandle.java > > variable arity is sometimes hyphenated. It seems more correct without but be consistent. Replaced hyphen by space. > AdapterMethodHandle.java: > > The new value srcSlot appears unused. Right; it doesn't have any use. Deleted. > Should this just go away: > > - if (argCount <= 2) return false; // must be a swap, not a rotate > + //if (argCount <= 2) return false; // must be a swap, not a rotate Yes. Turns out that if you need to swap an int and a long, it has to be rendered as one or two rotates. Thanks, Tom. -- John P.S. One more bit to review: I might add the following to SwitchPoint.java, depending on what the EG says today. /** * Determines if this switchpoint is still valid. *

* Since invalidation is a global and immediate operation, * this query must be sequenced with any * other threads that could invalidate this switchpoint. * It may therefore be expensive. *

* In addition, due to concurrent invalidations by other threads, * a switchpoint may report itself as valid, and yet become * invalid before the querying thread begins to act on the * supposed validity. * @return true if this switchpoint has never been invalidated */ public boolean isValid() { return (mcs.getTarget() == K_true); } > tom > > On May 25, 2011, at 3:30 AM, John Rose wrote: > >> This is the last major bundle of changes for JDK 7. >> http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ From igor.veresov at oracle.com Thu May 26 01:46:50 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 26 May 2011 01:46:50 -0700 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> References: <4DDDF996.9070001@oracle.com> <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> Message-ID: <4DDE137A.7060801@oracle.com> On 5/26/11 12:03 AM, Tom Rodriguez wrote: > That seems reasonable. Do we always have stack space for this on x64? I can't remember how that space is reserved. > Hm, I just assumed it's there because previous code used it. Now that I look at it I don't even see how it worked in 32bit. The space on stack is allocated in java_calling_convention() which is called from ArrayCopyStub::emit_code(). So even in 32bit there should be only space on stack for 3 out of 5 arguments, yet 5 slots are used. Perhaps we get it adjusted but I don't see how... igor > tom > > tom > > On May 25, 2011, at 11:56 PM, Igor Veresov wrote: > >> I guess this mail didn't make it. Resending. >> >> -------- Original Message -------- >> Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub >> Date: Mon, 23 May 2011 12:48:50 -0700 >> From: Igor Veresov >> To: hotspot-compiler-dev >> >> Incorrect handling of the registers made runThese fail one of the >> arraycopy tests on 64bit windows with -d64 -Xcomp -XX:+TieredCompilation. >> >> The problem is that when we call the checkcast_arraycopy stub we assume >> that it abides to C calling convention, but in fact it doesn't, so it >> can kill the registers containing arguments that are expected later by >> the slow stub. The easiest solution is to save argument registers before >> the call and then restore them. >> >> Webrev: http://cr.openjdk.java.net/~iveresov/7047491/webrev.00/ >> >> Tested with JPRT by passing -XX:+TieredCompilation to every test. >> >> igor > From roland.westrelin at oracle.com Thu May 26 02:38:46 2011 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 26 May 2011 11:38:46 +0200 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: <4DDE137A.7060801@oracle.com> References: <4DDDF996.9070001@oracle.com> <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> <4DDE137A.7060801@oracle.com> Message-ID: > Hm, I just assumed it's there because previous code used it. Now that I > look at it I don't even see how it worked in 32bit. The space on stack > is allocated in java_calling_convention() which is called from > ArrayCopyStub::emit_code(). So even in 32bit there should be only space > on stack for 3 out of 5 arguments, yet 5 slots are used. Perhaps we get > it adjusted but I don't see how... _reserved_argument_area_size in FrameMap is initialized with an argument passed to the constructor. The argument is MAX2(4, hir()->max_stack()) (see Compilation::compile_java_method()). I think that's what guarantees that there's space on the stack for 5 arguments, the number of arguments to System.arraycopy() Roland. From igor.veresov at oracle.com Thu May 26 03:02:23 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 26 May 2011 03:02:23 -0700 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: References: <4DDDF996.9070001@oracle.com> <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> <4DDE137A.7060801@oracle.com> Message-ID: <4DDE252F.2000302@oracle.com> On 5/26/11 2:38 AM, Roland Westrelin wrote: >> Hm, I just assumed it's there because previous code used it. Now that I >> look at it I don't even see how it worked in 32bit. The space on stack >> is allocated in java_calling_convention() which is called from >> ArrayCopyStub::emit_code(). So even in 32bit there should be only space >> on stack for 3 out of 5 arguments, yet 5 slots are used. Perhaps we get >> it adjusted but I don't see how... > > _reserved_argument_area_size in FrameMap is initialized with an argument > passed to the constructor. The argument is MAX2(4, hir()->max_stack()) > (see Compilation::compile_java_method()). I think that's what guarantees > that there's space on the stack for 5 arguments, the number of arguments > to System.arraycopy() I think you're right! Thanks, igor From roland.westrelin at oracle.com Thu May 26 05:01:38 2011 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 26 May 2011 14:01:38 +0200 Subject: Fwd: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: <4DDDF996.9070001@oracle.com> References: <4DDDF996.9070001@oracle.com> Message-ID: The change looks good to me. Roland. From tom.rodriguez at oracle.com Thu May 26 09:39:55 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 09:39:55 -0700 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: References: <4DDDF996.9070001@oracle.com> <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> <4DDE137A.7060801@oracle.com> Message-ID: On May 26, 2011, at 2:38 AM, Roland Westrelin wrote: >> Hm, I just assumed it's there because previous code used it. Now that I >> look at it I don't even see how it worked in 32bit. The space on stack >> is allocated in java_calling_convention() which is called from >> ArrayCopyStub::emit_code(). So even in 32bit there should be only space >> on stack for 3 out of 5 arguments, yet 5 slots are used. Perhaps we get >> it adjusted but I don't see how... > > _reserved_argument_area_size in FrameMap is initialized with an argument passed to the constructor. The argument is MAX2(4, hir()->max_stack()) (see Compilation::compile_java_method()). I think that's what guarantees that there's space on the stack for 5 arguments, the number of arguments to System.arraycopy() My fuzzy memory said it was something like that. Thanks for confirming. Looks good. tom > > Roland. From tom.rodriguez at oracle.com Thu May 26 10:10:28 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 10:10:28 -0700 Subject: review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly In-Reply-To: <351CC281-B2E5-4B8F-A45A-21A83BB9EF8A@oracle.com> References: <4DDD5FA4.7060903@oracle.com> <3B8393F2-B41C-4447-95EE-E23664FC71E4@oracle.com> <351CC281-B2E5-4B8F-A45A-21A83BB9EF8A@oracle.com> Message-ID: On May 26, 2011, at 12:09 AM, John Rose wrote: > That was a very productive round of stress testing. > > Nice use of err_msg to expose failure info. > > I agree with the removal of SlotState. > > The "safety net" places (where you put "XXX") can disappear. Ok, they didn't seem needed from testing either. I'll delete them. > > On BSD I get a signed/unsigned compare warning on ARRAY_SIZE; use (int)ARRAY_SIZE. Yes I caught that but hadn't updated the webrev. > > Reviewed; looks good. Thanks! tom > > -- John > > On May 25, 2011, at 1:54 PM, Tom Rodriguez wrote: > >> >> On May 25, 2011, at 12:59 PM, Vladimir Kozlov wrote: >> >>> Why you used DEBUG instead of ASSERT? For fastdebug build DEBUG is not defined. >> >> I fixed that. >> >>> >>> Not all ctor initialize ArgToken._value field. >> >> In those cases the value field isn't/shouldn't be used. Same with handle. The accessors for those values also check that they are the right token type which ensures that they are only accessed if they have been initialized. >> >>> >>> Could you add comment to next check because it looks strange since it narrow error cases? In other words, for example, why it is OK to have bad argument index with conv_op <= OP_RETYPE_RAW: >>> >>> + if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && >>> + conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && >>> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && >>> + conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { >>> + lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); >>> } >> >> Because it isn't bad in that case. ;) Is this ok: >> >> // Check that the arg_slot is valid. In most cases it must be >> // within range of the current arguments but there are some >> // exceptions. Those are sanity checked in their implemention >> // below. >> if ((arg_slot < 0 || arg_slot >= _outgoing.length()) && >> conv_op > java_lang_invoke_AdapterMethodHandle::OP_RETYPE_RAW && >> conv_op != java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS && >> conv_op != java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS) { >> lose(err_msg("bad argument index %d", arg_slot), CHECK_(empty)); >> >> There really should be more sharing between the sanity checks in methodHandles.cpp and methodHandleWalk but I think that's for another day. >> >> >>> >>> verify_args_and_signature() should be under "ifdef ASSERT". >> >> ok. The webrev is updated. >> >> tom >> >>> >>> Vladimir >>> >>> Tom Rodriguez wrote: >>>> http://cr.openjdk.java.net/~never/7047961 >>>> 316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg >>>> 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly >>>> Reviewed-by: >>>> Several more errors were found with handling op arguments in >>>> MethodHandleWalk. swap wasn't dealing with the double word arguments >>>> properly. collect and fold are allowed to have 0 length operations. >>>> rotate was using the wrong type to determine the size of the >>>> operation. boxing operations are allowed on subword types. nop >>>> conversion operations should just do nothing. I also removed the >>>> SlotState wrapper since its only purpose seemed to be to keep track of >>>> the arg types when symbolic was used and I modified tt_symbolic to >>>> keep accurate track of the type instead of claiming to be a long. I >>>> also added more detail to most of the failure messages and fixed a >>>> missing ResourceMark along with adding a lot more sanity checks. >>>> Tested with vm/mlvm and java/lang/invoke regression tests. >> > From tom.rodriguez at oracle.com Thu May 26 10:11:09 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 10:11:09 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> Message-ID: <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> isValid looks fine. tom On May 26, 2011, at 1:31 AM, John Rose wrote: > On May 25, 2011, at 11:58 PM, Tom Rodriguez wrote: > >> Overall it seems ok. A few minor oddities: >> >> MethodHandle.java >> >> variable arity is sometimes hyphenated. It seems more correct without but be consistent. > > Replaced hyphen by space. > >> AdapterMethodHandle.java: >> >> The new value srcSlot appears unused. > > Right; it doesn't have any use. Deleted. > >> Should this just go away: >> >> - if (argCount <= 2) return false; // must be a swap, not a rotate >> + //if (argCount <= 2) return false; // must be a swap, not a rotate > > Yes. Turns out that if you need to swap an int and a long, it has to be rendered as one or two rotates. > > Thanks, Tom. > > -- John > > P.S. One more bit to review: I might add the following to SwitchPoint.java, depending on what the EG says today. > > /** > * Determines if this switchpoint is still valid. > *

> * Since invalidation is a global and immediate operation, > * this query must be sequenced with any > * other threads that could invalidate this switchpoint. > * It may therefore be expensive. > *

> * In addition, due to concurrent invalidations by other threads, > * a switchpoint may report itself as valid, and yet become > * invalid before the querying thread begins to act on the > * supposed validity. > * @return true if this switchpoint has never been invalidated > */ > public boolean isValid() { > return (mcs.getTarget() == K_true); > } > >> tom >> >> On May 25, 2011, at 3:30 AM, John Rose wrote: >> >>> This is the last major bundle of changes for JDK 7. >>> http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ > > From y.s.ramakrishna at oracle.com Thu May 26 12:10:16 2011 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Thu, 26 May 2011 12:10:16 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> Message-ID: <4DDEA598.40606@oracle.com> John, you state that validity is not a stable property. Is invalidity a stable property, or not even that is. -- ramki (who doesn't yet know what a switchpoint is) On 05/26/11 10:11, Tom Rodriguez wrote: > isValid looks fine. > > tom > > On May 26, 2011, at 1:31 AM, John Rose wrote: > >> On May 25, 2011, at 11:58 PM, Tom Rodriguez wrote: >> >>> Overall it seems ok. A few minor oddities: >>> >>> MethodHandle.java >>> >>> variable arity is sometimes hyphenated. It seems more correct without but be consistent. >> Replaced hyphen by space. >> >>> AdapterMethodHandle.java: >>> >>> The new value srcSlot appears unused. >> Right; it doesn't have any use. Deleted. >> >>> Should this just go away: >>> >>> - if (argCount <= 2) return false; // must be a swap, not a rotate >>> + //if (argCount <= 2) return false; // must be a swap, not a rotate >> Yes. Turns out that if you need to swap an int and a long, it has to be rendered as one or two rotates. >> >> Thanks, Tom. >> >> -- John >> >> P.S. One more bit to review: I might add the following to SwitchPoint.java, depending on what the EG says today. >> >> /** >> * Determines if this switchpoint is still valid. >> *

>> * Since invalidation is a global and immediate operation, >> * this query must be sequenced with any >> * other threads that could invalidate this switchpoint. >> * It may therefore be expensive. >> *

>> * In addition, due to concurrent invalidations by other threads, >> * a switchpoint may report itself as valid, and yet become >> * invalid before the querying thread begins to act on the >> * supposed validity. >> * @return true if this switchpoint has never been invalidated >> */ >> public boolean isValid() { >> return (mcs.getTarget() == K_true); >> } >> >>> tom >>> >>> On May 25, 2011, at 3:30 AM, John Rose wrote: >>> >>>> This is the last major bundle of changes for JDK 7. >>>> http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ >> > From y.s.ramakrishna at oracle.com Thu May 26 12:15:53 2011 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Thu, 26 May 2011 12:15:53 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: <4DDEA598.40606@oracle.com> References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> <4DDEA598.40606@oracle.com> Message-ID: <4DDEA6E9.7070408@oracle.com> Ah, i found the doc comment that "invalidity can't be reversed" which i take to mean that invalidity is a stable property. Under that understanding, it would seem that isInvalid() is a better API than isValid() (on the other hand i don't know how this query is used, since i haven't followed the discussions; eyes glazing over and all that...) -- ramki On 05/26/11 12:10, Y. S. Ramakrishna wrote: > John, you state that validity is not a stable property. > Is invalidity a stable property, or not even that is. > > -- ramki > (who doesn't yet know what a switchpoint is) > > On 05/26/11 10:11, Tom Rodriguez wrote: >> isValid looks fine. >> >> tom >> >> On May 26, 2011, at 1:31 AM, John Rose wrote: >> >>> On May 25, 2011, at 11:58 PM, Tom Rodriguez wrote: >>> >>>> Overall it seems ok. A few minor oddities: >>>> >>>> MethodHandle.java >>>> >>>> variable arity is sometimes hyphenated. It seems more correct without but be consistent. >>> Replaced hyphen by space. >>> >>>> AdapterMethodHandle.java: >>>> >>>> The new value srcSlot appears unused. >>> Right; it doesn't have any use. Deleted. >>> >>>> Should this just go away: >>>> >>>> - if (argCount <= 2) return false; // must be a swap, not a rotate >>>> + //if (argCount <= 2) return false; // must be a swap, not a rotate >>> Yes. Turns out that if you need to swap an int and a long, it has to be rendered as one or two rotates. >>> >>> Thanks, Tom. >>> >>> -- John >>> >>> P.S. One more bit to review: I might add the following to SwitchPoint.java, depending on what the EG says today. >>> >>> /** >>> * Determines if this switchpoint is still valid. >>> *

>>> * Since invalidation is a global and immediate operation, >>> * this query must be sequenced with any >>> * other threads that could invalidate this switchpoint. >>> * It may therefore be expensive. >>> *

>>> * In addition, due to concurrent invalidations by other threads, >>> * a switchpoint may report itself as valid, and yet become >>> * invalid before the querying thread begins to act on the >>> * supposed validity. >>> * @return true if this switchpoint has never been invalidated >>> */ >>> public boolean isValid() { >>> return (mcs.getTarget() == K_true); >>> } >>> >>>> tom >>>> >>>> On May 25, 2011, at 3:30 AM, John Rose wrote: >>>> >>>>> This is the last major bundle of changes for JDK 7. >>>>> http://cr.openjdk.java.net/~jrose/7032323/webrev.00/ > _______________________________________________ > mlvm-dev mailing list > mlvm-dev at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev From john.r.rose at oracle.com Thu May 26 12:17:20 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 26 May 2011 12:17:20 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: <4DDEA598.40606@oracle.com> References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> <4DDEA598.40606@oracle.com> Message-ID: Invalidity is stable because it is permanent. -- John (on my iPhone) On May 26, 2011, at 12:10 PM, "Y. S. Ramakrishna" wrote: > John, you state that validity is not a stable property. > Is invalidity a stable property, or not even that is. > From igor.veresov at oracle.com Thu May 26 12:50:55 2011 From: igor.veresov at oracle.com (Igor Veresov) Date: Thu, 26 May 2011 12:50:55 -0700 Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub In-Reply-To: References: <4DDDF996.9070001@oracle.com> <65637920-64F9-4290-A17E-B5B75AD057F2@oracle.com> <4DDE137A.7060801@oracle.com> Message-ID: <4DDEAF1F.5090606@oracle.com> Thanks Tom and Roland! igor On 5/26/11 9:39 AM, Tom Rodriguez wrote: > > On May 26, 2011, at 2:38 AM, Roland Westrelin wrote: > >>> Hm, I just assumed it's there because previous code used it. Now that I >>> look at it I don't even see how it worked in 32bit. The space on stack >>> is allocated in java_calling_convention() which is called from >>> ArrayCopyStub::emit_code(). So even in 32bit there should be only space >>> on stack for 3 out of 5 arguments, yet 5 slots are used. Perhaps we get >>> it adjusted but I don't see how... >> >> _reserved_argument_area_size in FrameMap is initialized with an argument passed to the constructor. The argument is MAX2(4, hir()->max_stack()) (see Compilation::compile_java_method()). I think that's what guarantees that there's space on the stack for 5 arguments, the number of arguments to System.arraycopy() > > My fuzzy memory said it was something like that. Thanks for confirming. Looks good. > > tom > >> >> Roland. > From headius at headius.com Thu May 26 13:21:45 2011 From: headius at headius.com (Charles Oliver Nutter) Date: Thu, 26 May 2011 15:21:45 -0500 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> <4DDEA598.40606@oracle.com> Message-ID: The method comes from a request by me, and isInvalid seems a bit double-negativy to me. If it returns false, it's not invalid, which means not not valid, which means valid. From a language perspective, it seems clearer to ask if it's valid, and not have a false value negate a negative (even if that means we're asking for an unstable property...I made the point on the MLVM list that Java beans generally don't have isNotSomething-style properties, even though those properties are usually non-volatile/unstable. That said, I have no strong preference. I just want to be able to query it :) - Charlie On Thu, May 26, 2011 at 2:17 PM, John Rose wrote: > Invalidity is stable because it is permanent. > > -- John ?(on my iPhone) > > On May 26, 2011, at 12:10 PM, "Y. S. Ramakrishna" wrote: > >> John, you state that validity is not a stable property. >> Is invalidity a stable property, or not even that is. >> > _______________________________________________ > mlvm-dev mailing list > mlvm-dev at openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > From john.r.rose at oracle.com Thu May 26 13:33:23 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 26 May 2011 13:33:23 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> <4DDEA598.40606@oracle.com> Message-ID: <170E9B55-3F9A-43A6-A204-01D2A5E0312A@oracle.com> On May 26, 2011, at 1:21 PM, Charles Oliver Nutter wrote: > isInvalid seems a bit double-negativy to me. That's my hesitation. Consider the use case: void maybeCleanUpMess(SwitchPoint sp) { if (!mysp.isInvalid()) return; ... // do cleanup after invalidation } It reads better as: if (mysp.isValid()) return; -- John From y.s.ramakrishna at oracle.com Thu May 26 13:55:59 2011 From: y.s.ramakrishna at oracle.com (Y. S. Ramakrishna) Date: Thu, 26 May 2011 13:55:59 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: <170E9B55-3F9A-43A6-A204-01D2A5E0312A@oracle.com> References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> <4DDEA598.40606@oracle.com> <170E9B55-3F9A-43A6-A204-01D2A5E0312A@oracle.com> Message-ID: <4DDEBE5F.3000707@oracle.com> Yes, agreed. But one could also write: > void maybeCleanUpMess(SwitchPoint sp) { > if (mysp.isInvalid()) { > ... // do cleanup after invalidation } // else nothing to do > } I don't know if one style is better than the other generally. It's just that doing something based on the value of an unstable predicate seems slightly counterintuitive, but of course below you are _not_ doing something based on not seeing a stable predicate. Anyway, that was just an off-the-cuff remark -- sorry for the interruption... back to your normal programming now (pun intended :-) -- ramki On 05/26/11 13:33, John Rose wrote: > On May 26, 2011, at 1:21 PM, Charles Oliver Nutter wrote: > >> isInvalid seems a bit double-negativy to me. > > That's my hesitation. Consider the use case: > > void maybeCleanUpMess(SwitchPoint sp) { > if (!mysp.isInvalid()) return; > ... // do cleanup after invalidation > } > > It reads better as: > if (mysp.isValid()) return; > > -- John From vladimir.kozlov at oracle.com Thu May 26 15:27:34 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 26 May 2011 15:27:34 -0700 Subject: Request for prereviews (S): 7047954: VM crashes with assert(is_Mem()) failed: invalid node class Message-ID: <4DDED3D6.3000307@oracle.com> http://cr.openjdk.java.net/~kvn/7047954/webrev Fixed 7047954: VM crashes with assert(is_Mem()) failed: invalid node class It was exposed by is_scavengable change. Final static array pointer was replaced with ConP. The main problem is a constant array pointer does not alias with other array pointers (see Compile::flatten_alias_type()). As result the address of a store has different memory slice (idx=4) than calculated memory slice affected by the store (idx=5): 75 StoreI === 61 46 73 20 [[ 95 81 ]] @int[int:>=0]:exact+any *, idx=5; Memory: @int[int:1000000] ident=696 address=0x8527328>+any *, idx=4; !jvms: ReadAfterWrite::main @ bci:16 It happened because when a store to array is created the type of affected memory is calculated using general array type TypeAryPtr::get_array_body_type(elem_type). So we either should allow a constant array pointer alias with other array pointers or check if an array ptr is constant and use its type instead of general one. I used second approach and fixed all places where get_array_body_type() was used. But I need your opinion on this. Based on previous Tom's comment we should not convert array pointers to constant (can we have arrays in Perm?). But then there is invoke dynamic case and I am not sure that we will not get constant arrays from it. Thanks, Vladimir From tom.rodriguez at oracle.com Thu May 26 16:20:46 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 16:20:46 -0700 Subject: Request for prereviews (S): 7047954: VM crashes with assert(is_Mem()) failed: invalid node class In-Reply-To: <4DDED3D6.3000307@oracle.com> References: <4DDED3D6.3000307@oracle.com> Message-ID: <70786D7C-9C7A-457C-9EBE-14CCF6A08AF6@oracle.com> On May 26, 2011, at 3:27 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/7047954/webrev > > Fixed 7047954: VM crashes with assert(is_Mem()) failed: invalid node class > > It was exposed by is_scavengable change. Final static array pointer was replaced with ConP. The main problem is a constant array pointer does not alias with other array pointers (see Compile::flatten_alias_type()). Do you mean this logic: // Array pointers need some flattening const TypeAryPtr *ta = tj->isa_aryptr(); if( ta && is_known_inst ) { if ( offset != Type::OffsetBot && offset > arrayOopDesc::length_offset_in_bytes() ) { offset = Type::OffsetBot; // Flatten constant access into array body only tj = ta = TypeAryPtr::make(ptr, ta->ary(), ta->klass(), true, offset, ta->instance_id()); } } That seems odd. It was added as part of 6723160: Nightly failure: Error: meet not symmetric. Is instance_id set for constant objects? > As result the address of a store has different memory slice (idx=4) than calculated memory slice affected by the store (idx=5): It seems like there should be an assert that checks that these agree? > > 75 StoreI === 61 46 73 20 [[ 95 81 ]] @int[int:>=0]:exact+any *, idx=5; Memory: @int[int:1000000] ident=696 address=0x8527328>+any *, idx=4; !jvms: ReadAfterWrite::main @ bci:16 > > It happened because when a store to array is created the type of affected memory is calculated using general array type TypeAryPtr::get_array_body_type(elem_type). > > So we either should allow a constant array pointer alias with other array pointers or check if an array ptr is constant and use its type instead of general one. I used second approach and fixed all places where get_array_body_type() was used. But I need your opinion on this. Based on previous Tom's comment we should not convert array pointers to constant (can we have arrays in Perm?). Yes we can. Previously the char[] of constant Strings were like that though we only read from those and only recently started treating their fields as constants and we also recently moved them out of perm. I don't think we embed any other constant perm arrays in compiled code though. > But then there is invoke dynamic case and I am not sure that we will not get constant arrays from it. Going forward we're going to be seeing a lot more constant objects in generated code since it's easy to embed them now. 292 in particular is going to want this so we can fold away as much goo as possible. tom > > Thanks, > Vladimir > From vladimir.kozlov at oracle.com Thu May 26 16:34:15 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 26 May 2011 16:34:15 -0700 Subject: Request for prereviews (S): 7047954: VM crashes with assert(is_Mem()) failed: invalid node class In-Reply-To: <70786D7C-9C7A-457C-9EBE-14CCF6A08AF6@oracle.com> References: <4DDED3D6.3000307@oracle.com> <70786D7C-9C7A-457C-9EBE-14CCF6A08AF6@oracle.com> Message-ID: <4DDEE377.7020507@oracle.com> Tom Rodriguez wrote: > On May 26, 2011, at 3:27 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/7047954/webrev >> >> Fixed 7047954: VM crashes with assert(is_Mem()) failed: invalid node class >> >> It was exposed by is_scavengable change. Final static array pointer was replaced with ConP. The main problem is a constant array pointer does not alias with other array pointers (see Compile::flatten_alias_type()). > > Do you mean this logic: > > // Array pointers need some flattening > const TypeAryPtr *ta = tj->isa_aryptr(); > if( ta && is_known_inst ) { > if ( offset != Type::OffsetBot && > offset > arrayOopDesc::length_offset_in_bytes() ) { > offset = Type::OffsetBot; // Flatten constant access into array body only > tj = ta = TypeAryPtr::make(ptr, ta->ary(), ta->klass(), true, offset, ta->instance_id()); > } > } No. This logic which does not convert constant array pointer to bottom array pointer (keep them separate): // Make sure the Bottom and NotNull variants alias the same. // Also, make sure exact and non-exact variants alias the same. if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) { if (ta->const_oop()) { tj = ta = TypeAryPtr::make(TypePtr::Constant,ta->const_oop(),ta->ary(),ta->klass(),false,offset); } else { tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); } } > > That seems odd. It was added as part of 6723160: Nightly failure: Error: meet not symmetric. Is instance_id set for constant objects? > >> As result the address of a store has different memory slice (idx=4) than calculated memory slice affected by the store (idx=5): > > It seems like there should be an assert that checks that these agree? The check is in MemNode::adr_type() works fine but the problem is not there but in GraphKit::store_to_memory() where created store attached to mergemem: set_memory(st, adr_idx); adr_idx is calculated from passed (general) adr_type and not from adr->bottom_type(). Vladimir > >> 75 StoreI === 61 46 73 20 [[ 95 81 ]] @int[int:>=0]:exact+any *, idx=5; Memory: @int[int:1000000] ident=696 address=0x8527328>+any *, idx=4; !jvms: ReadAfterWrite::main @ bci:16 >> >> It happened because when a store to array is created the type of affected memory is calculated using general array type TypeAryPtr::get_array_body_type(elem_type). >> >> So we either should allow a constant array pointer alias with other array pointers or check if an array ptr is constant and use its type instead of general one. I used second approach and fixed all places where get_array_body_type() was used. But I need your opinion on this. Based on previous Tom's comment we should not convert array pointers to constant (can we have arrays in Perm?). > > Yes we can. Previously the char[] of constant Strings were like that though we only read from those and only recently started treating their fields as constants and we also recently moved them out of perm. I don't think we embed any other constant perm arrays in compiled code though. > >> But then there is invoke dynamic case and I am not sure that we will not get constant arrays from it. > > Going forward we're going to be seeing a lot more constant objects in generated code since it's easy to embed them now. 292 in particular is going to want this so we can fold away as much goo as possible. > > tom > > > >> Thanks, >> Vladimir >> > From igor.veresov at oracle.com Thu May 26 16:36:38 2011 From: igor.veresov at oracle.com (igor.veresov at oracle.com) Date: Thu, 26 May 2011 23:36:38 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub Message-ID: <20110526233644.9D9504793A@hg.openjdk.java.net> Changeset: 28263a73ebfb Author: iveresov Date: 2011-05-26 13:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/28263a73ebfb 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub Summary: Save and restore the argument registers around the call to checkcast_arraycopy Reviewed-by: never, roland ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp From tom.deneau at amd.com Thu May 26 16:37:04 2011 From: tom.deneau at amd.com (Deneau, Tom) Date: Thu, 26 May 2011 18:37:04 -0500 Subject: Review Request: UseNUMAInterleaving Message-ID: <5EA33A275136844D843B73A29FB9A6A901362B54B2@SAUSEXMBP01.amd.com> I have incorporated the change suggested by Paul Hohensee to just use the existing UseNUMA flag rather than introduce a new flag. Please let me know when you think this will be able to be checked in... The new webrev is at http://cr.openjdk.java.net/~tdeneau/UseNUMAInterleaving/webrev.02/ -- Tom Deneau, AMD > -----Original Message----- > From: Deneau, Tom > Sent: Monday, May 16, 2011 12:54 PM > To: 'hotspot-compiler-dev at openjdk.java.net' > Subject: Review Request: UseNUMAInterleaving > > Please review this patch which adds a new flag called > UseNUMAInterleaving. This flag provides a subset of the functionality > provided by UseNUMA, and its main purpose is to provide that subset on > OSes like Windows which do not support the full UseNUMA functionality. > In UseNUMA terminology, UseNUMAInterleaved makes all memory > "numa_global" which is implemented as interleaved. > > The situations where this shows the biggest benefits would be: > * Windows platforms with multiple numa nodes (eg, 4) > > * The JVM process is run across all the nodes (not affinitized to one > node). > > * A workload that uses the majority of the cores in the machine, so > that the heap is being accessed from many cores, including remote > ones. > > * Enough memory per node and a heap size such that the default heap > placement policy on windows would end up with the heap (or > nursery) placed on one node. > > jbb2005 and SPECPower_ssj2008 are examples of such workloads. In our > measurements, we have seen some cases where the performance with > UseNUMAInterleaving was 2.7x vs. the performance without. There were > gains of varying sizes across all systems. > > As currently implemented this flag is ignored on Linux and Solaris > since they already support the full UseNUMA flag. > > The webrev is at > http://cr.openjdk.java.net/~tdeneau/UseNUMAInterleaving/webrev.01/ > > Summary of changes: > > * Other than adding the new UseNUMAInterleaving global flag, all of > the changes are in src/os/windows/vm/os_windows.cpp > > * Some static routines were added to set things up init time. These > * check that the required APIs (VirtualAllocExNuma, > GetNumaHighestNodeNumber, GetNumaNodeProcessorMask) exist in > the OS > > * build the list of numa nodes on which this process has affinity > > * Changes to os::reserve_memory > * There was already a routine that reserved pages one page at a > time (used for Individual Large Page Allocation on WS2003). > This was abstracted to a separate routine, called > allocate_pages_individually. This gets called both for the > Individual Large Page Allocation thing mentioned above and for > UseNUMAInterleaving (for both small and large pages) > > * When used for NUMA Interleaving this just goes thru the numa > node list in a round-robin fashion, using a different one for > each chunk (with 4K pages, the minimum allocation granularity > is 64K, with 2M pages it is 1 Page) > > * Whether we do just a reserve or a combined reserve/commit is > determined by the caller of allocate_pages_individually > > * When used with large pages, we do a Reserve and Commit at > the same time which is the way it always worked and the way > it has to work on windows. > > * For small pages, only the reserve is done, the commit will > come later. (which is the way it worked for > non-interleaved) > > * os::commit_memory changes > * If UseNUMAIntereaving is true, os::commit_memory has to check > whether it was being asked to commit memory that might have > come from multiple Reserve allocations, if so, the commits > must also be broken up. We don't keep any data structure to > keep track of this, we just use VirtualQuery which queries the > properties of a VA range and can tell us how much came from > one VirtualAlloc call. > > I do not have a bug id for this. > > -- Tom Deneau, AMD From john.r.rose at oracle.com Thu May 26 16:41:54 2011 From: john.r.rose at oracle.com (John Rose) Date: Thu, 26 May 2011 16:41:54 -0700 Subject: review request (L): 7032323: code changes for JSR 292 EG adjustments to API, through Public Review In-Reply-To: <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> References: <6113A423-E63D-4F49-9D4E-FC33A25A0A78@oracle.com> <9D13C7F9-ECAB-46A7-B803-20F5A661BBDF@oracle.com> Message-ID: <80ACCD5C-BB4D-4CCE-956D-B9163D6B73A2@oracle.com> On May 26, 2011, at 10:11 AM, Tom Rodriguez wrote: > isValid looks fine. Thanks Tom. I also corrected the javadoc, added a demo of isValid and copied the javadoc example into the unit tests. -- John diff --git a/src/share/classes/java/lang/invoke/SwitchPoint.java b/src/share/classes/java/lang/invoke/SwitchPoint.java --- a/src/share/classes/java/lang/invoke/SwitchPoint.java +++ b/src/share/classes/java/lang/invoke/SwitchPoint.java @@ -56,16 +56,17 @@ *

* Here is an example of a switch point in action: *

-MethodType MT_str2 = MethodType.methodType(String.class, String.class);
 MethodHandle MH_strcat = MethodHandles.lookup()
-    .findVirtual(String.class, "concat", MT_str2);
+    .findVirtual(String.class, "concat", MethodType.methodType(String.class, String.class));
 SwitchPoint spt = new SwitchPoint();
+assert(spt.isValid());
 // the following steps may be repeated to re-use the same switch point:
-MethodHandle worker1 = strcat;
-MethodHandle worker2 = MethodHandles.permuteArguments(strcat, MT_str2, 1, 0);
+MethodHandle worker1 = MH_strcat;
+MethodHandle worker2 = MethodHandles.permuteArguments(MH_strcat, MH_strcat.type(), 1, 0);
 MethodHandle worker = spt.guardWithTest(worker1, worker2);
 assertEquals("method", (String) worker.invokeExact("met", "hod"));
 SwitchPoint.invalidateAll(new SwitchPoint[]{ spt });
+assert(!spt.isValid());
 assertEquals("hodmet", (String) worker.invokeExact("met", "hod"));
  * 
*

diff --git a/test/java/lang/invoke/JavaDocExamplesTest.java b/test/java/lang/invoke/JavaDocExamplesTest.java --- a/test/java/lang/invoke/JavaDocExamplesTest.java +++ b/test/java/lang/invoke/JavaDocExamplesTest.java @@ -471,6 +471,25 @@ }} } + @Test public void testSwitchPoint() throws Throwable { + {{ +{} /// JAVADOC +MethodHandle MH_strcat = MethodHandles.lookup() + .findVirtual(String.class, "concat", MethodType.methodType(String.class, String.class)); +SwitchPoint spt = new SwitchPoint(); +assert(spt.isValid()); +// the following steps may be repeated to re-use the same switch point: +MethodHandle worker1 = MH_strcat; +MethodHandle worker2 = MethodHandles.permuteArguments(MH_strcat, MH_strcat.type(), 1, 0); +MethodHandle worker = spt.guardWithTest(worker1, worker2); +assertEquals("method", (String) worker.invokeExact("met", "hod")); +SwitchPoint.invalidateAll(new SwitchPoint[]{ spt }); +assert(!spt.isValid()); +assertEquals("hodmet", (String) worker.invokeExact("met", "hod")); +{} + }} + } + /* ---- TEMPLATE ---- @Test public void testFoo() throws Throwable { {{ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20110526/8a4aa0ef/attachment-0001.html From tom.rodriguez at oracle.com Thu May 26 17:07:32 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 17:07:32 -0700 Subject: Request for prereviews (S): 7047954: VM crashes with assert(is_Mem()) failed: invalid node class In-Reply-To: <4DDEE377.7020507@oracle.com> References: <4DDED3D6.3000307@oracle.com> <70786D7C-9C7A-457C-9EBE-14CCF6A08AF6@oracle.com> <4DDEE377.7020507@oracle.com> Message-ID: <59510DC9-1583-4F82-B5F7-0383CEBE52D9@oracle.com> On May 26, 2011, at 4:34 PM, Vladimir Kozlov wrote: > Tom Rodriguez wrote: >> On May 26, 2011, at 3:27 PM, Vladimir Kozlov wrote: >>> http://cr.openjdk.java.net/~kvn/7047954/webrev >>> >>> Fixed 7047954: VM crashes with assert(is_Mem()) failed: invalid node class >>> >>> It was exposed by is_scavengable change. Final static array pointer was replaced with ConP. The main problem is a constant array pointer does not alias with other array pointers (see Compile::flatten_alias_type()). >> Do you mean this logic: >> // Array pointers need some flattening >> const TypeAryPtr *ta = tj->isa_aryptr(); >> if( ta && is_known_inst ) { >> if ( offset != Type::OffsetBot && >> offset > arrayOopDesc::length_offset_in_bytes() ) { >> offset = Type::OffsetBot; // Flatten constant access into array body only >> tj = ta = TypeAryPtr::make(ptr, ta->ary(), ta->klass(), true, offset, ta->instance_id()); >> } >> } > > No. This logic which does not convert constant array pointer to bottom array pointer (keep them separate): > > // Make sure the Bottom and NotNull variants alias the same. > // Also, make sure exact and non-exact variants alias the same. > if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) { > if (ta->const_oop()) { > tj = ta = TypeAryPtr::make(TypePtr::Constant,ta->const_oop(),ta->ary(),ta->klass(),false,offset); > } else { > tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); > } > } Ok. Why are arrays handled differently than instances? Those don't seem to do that. > >> That seems odd. It was added as part of 6723160: Nightly failure: Error: meet not symmetric. Is instance_id set for constant objects? >>> As result the address of a store has different memory slice (idx=4) than calculated memory slice affected by the store (idx=5): >> It seems like there should be an assert that checks that these agree? > > The check is in MemNode::adr_type() works fine but the problem is not there but in GraphKit::store_to_memory() where created store attached to mergemem: > > set_memory(st, adr_idx); > > adr_idx is calculated from passed (general) adr_type and not from adr->bottom_type(). It seems like those should be required to agree though I suspect sometimes the passed in value is raw while adr->bottom_type is something else. tom > > Vladimir > >>> 75 StoreI === 61 46 73 20 [[ 95 81 ]] @int[int:>=0]:exact+any *, idx=5; Memory: @int[int:1000000] ident=696 address=0x8527328>+any *, idx=4; !jvms: ReadAfterWrite::main @ bci:16 >>> >>> It happened because when a store to array is created the type of affected memory is calculated using general array type TypeAryPtr::get_array_body_type(elem_type). >>> >>> So we either should allow a constant array pointer alias with other array pointers or check if an array ptr is constant and use its type instead of general one. I used second approach and fixed all places where get_array_body_type() was used. But I need your opinion on this. Based on previous Tom's comment we should not convert array pointers to constant (can we have arrays in Perm?). >> Yes we can. Previously the char[] of constant Strings were like that though we only read from those and only recently started treating their fields as constants and we also recently moved them out of perm. I don't think we embed any other constant perm arrays in compiled code though. >>> But then there is invoke dynamic case and I am not sure that we will not get constant arrays from it. >> Going forward we're going to be seeing a lot more constant objects in generated code since it's easy to embed them now. 292 in particular is going to want this so we can fold away as much goo as possible. >> tom >>> Thanks, >>> Vladimir >>> From vladimir.kozlov at oracle.com Thu May 26 17:48:04 2011 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 26 May 2011 17:48:04 -0700 Subject: Request for prereviews (S): 7047954: VM crashes with assert(is_Mem()) failed: invalid node class In-Reply-To: <59510DC9-1583-4F82-B5F7-0383CEBE52D9@oracle.com> References: <4DDED3D6.3000307@oracle.com> <70786D7C-9C7A-457C-9EBE-14CCF6A08AF6@oracle.com> <4DDEE377.7020507@oracle.com> <59510DC9-1583-4F82-B5F7-0383CEBE52D9@oracle.com> Message-ID: <4DDEF4C4.2010205@oracle.com> Hmm, you are right, constant instance pointers are casted to bottom ptr: if( ptr == TypePtr::Constant ) { if (to->klass() != ciEnv::current()->Class_klass() || offset < k->size_helper() * wordSize) { // No constant oop pointers (such as Strings); they alias with // unknown strings. assert(!is_known_inst, "not scalarizable allocation"); tj = to = TypeInstPtr::make(TypePtr::BotPTR,to->klass(),false,0,offset); } I did archaeological research and found that originally constant arrays were also cast to bottom but next delta (no bug id) changed it: 1.529 01/12/19 In flatten_alias_type(), handle constant arrays more consistently. 883,884c887,893 < if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) < tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->const_oop(),ta->ary(),ta->klass(),false,offset); --- > if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) { > if (ta->const_oop()) { > tj = ta = TypeAryPtr::make(TypePtr::Constant,ta->const_oop(),ta->ary(),ta->klass(),false,offset); > } else { > tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); > } > } As I understand the original code had problem that _ptr was BotPTR but _const_oop was set. But the fix should be using other ctor which set _const_oop to NULL: tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); Anyway, the only concern I have is performance since with this fix (cast to bottom) accesses to different arrays will be ordered. But on other hand we already do that for constant instances so it could be fine. So do you agree that I should just cast constant array ptrs to bottom to fix this bug? Thanks, Vlaidmir Tom Rodriguez wrote: > On May 26, 2011, at 4:34 PM, Vladimir Kozlov wrote: > >> Tom Rodriguez wrote: >>> On May 26, 2011, at 3:27 PM, Vladimir Kozlov wrote: >>>> http://cr.openjdk.java.net/~kvn/7047954/webrev >>>> >>>> Fixed 7047954: VM crashes with assert(is_Mem()) failed: invalid node class >>>> >>>> It was exposed by is_scavengable change. Final static array pointer was replaced with ConP. The main problem is a constant array pointer does not alias with other array pointers (see Compile::flatten_alias_type()). >>> Do you mean this logic: >>> // Array pointers need some flattening >>> const TypeAryPtr *ta = tj->isa_aryptr(); >>> if( ta && is_known_inst ) { >>> if ( offset != Type::OffsetBot && >>> offset > arrayOopDesc::length_offset_in_bytes() ) { >>> offset = Type::OffsetBot; // Flatten constant access into array body only >>> tj = ta = TypeAryPtr::make(ptr, ta->ary(), ta->klass(), true, offset, ta->instance_id()); >>> } >>> } >> No. This logic which does not convert constant array pointer to bottom array pointer (keep them separate): >> >> // Make sure the Bottom and NotNull variants alias the same. >> // Also, make sure exact and non-exact variants alias the same. >> if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) { >> if (ta->const_oop()) { >> tj = ta = TypeAryPtr::make(TypePtr::Constant,ta->const_oop(),ta->ary(),ta->klass(),false,offset); >> } else { >> tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); >> } >> } > > Ok. Why are arrays handled differently than instances? Those don't seem to do that. > >>> That seems odd. It was added as part of 6723160: Nightly failure: Error: meet not symmetric. Is instance_id set for constant objects? >>>> As result the address of a store has different memory slice (idx=4) than calculated memory slice affected by the store (idx=5): >>> It seems like there should be an assert that checks that these agree? >> The check is in MemNode::adr_type() works fine but the problem is not there but in GraphKit::store_to_memory() where created store attached to mergemem: >> >> set_memory(st, adr_idx); >> >> adr_idx is calculated from passed (general) adr_type and not from adr->bottom_type(). > > It seems like those should be required to agree though I suspect sometimes the passed in value is raw while adr->bottom_type is something else. > > tom > >> Vladimir >> >>>> 75 StoreI === 61 46 73 20 [[ 95 81 ]] @int[int:>=0]:exact+any *, idx=5; Memory: @int[int:1000000] ident=696 address=0x8527328>+any *, idx=4; !jvms: ReadAfterWrite::main @ bci:16 >>>> >>>> It happened because when a store to array is created the type of affected memory is calculated using general array type TypeAryPtr::get_array_body_type(elem_type). >>>> >>>> So we either should allow a constant array pointer alias with other array pointers or check if an array ptr is constant and use its type instead of general one. I used second approach and fixed all places where get_array_body_type() was used. But I need your opinion on this. Based on previous Tom's comment we should not convert array pointers to constant (can we have arrays in Perm?). >>> Yes we can. Previously the char[] of constant Strings were like that though we only read from those and only recently started treating their fields as constants and we also recently moved them out of perm. I don't think we embed any other constant perm arrays in compiled code though. >>>> But then there is invoke dynamic case and I am not sure that we will not get constant arrays from it. >>> Going forward we're going to be seeing a lot more constant objects in generated code since it's easy to embed them now. 292 in particular is going to want this so we can fold away as much goo as possible. >>> tom >>>> Thanks, >>>> Vladimir >>>> > From tom.rodriguez at oracle.com Thu May 26 17:49:38 2011 From: tom.rodriguez at oracle.com (Tom Rodriguez) Date: Thu, 26 May 2011 17:49:38 -0700 Subject: Request for prereviews (S): 7047954: VM crashes with assert(is_Mem()) failed: invalid node class In-Reply-To: <4DDEF4C4.2010205@oracle.com> References: <4DDED3D6.3000307@oracle.com> <70786D7C-9C7A-457C-9EBE-14CCF6A08AF6@oracle.com> <4DDEE377.7020507@oracle.com> <59510DC9-1583-4F82-B5F7-0383CEBE52D9@oracle.com> <4DDEF4C4.2010205@oracle.com> Message-ID: <690F2519-43A9-4446-97AD-5F64F2870BD9@oracle.com> > > 1.529 01/12/19 > In flatten_alias_type(), handle constant arrays more consistently. > > 883,884c887,893 > < if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) > < tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->const_oop(),ta->ary(),ta->klass(),false,offset); > --- > > if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) { > > if (ta->const_oop()) { > > tj = ta = TypeAryPtr::make(TypePtr::Constant,ta->const_oop(),ta->ary(),ta->klass(),false,offset); > > } else { > > tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); > > } > > } > > As I understand the original code had problem that _ptr was BotPTR but _const_oop was set. But the fix should be using other ctor which set _const_oop to NULL: > > tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); > > > Anyway, the only concern I have is performance since with this fix (cast to bottom) accesses to different arrays will be ordered. But on other hand we already do that for constant instances so it could be fine. > > So do you agree that I should just cast constant array ptrs to bottom to fix this bug? That seems the most consistent solution assuming it doesn't surface other problems. tom > > Thanks, > Vlaidmir > > Tom Rodriguez wrote: >> On May 26, 2011, at 4:34 PM, Vladimir Kozlov wrote: >>> Tom Rodriguez wrote: >>>> On May 26, 2011, at 3:27 PM, Vladimir Kozlov wrote: >>>>> http://cr.openjdk.java.net/~kvn/7047954/webrev >>>>> >>>>> Fixed 7047954: VM crashes with assert(is_Mem()) failed: invalid node class >>>>> >>>>> It was exposed by is_scavengable change. Final static array pointer was replaced with ConP. The main problem is a constant array pointer does not alias with other array pointers (see Compile::flatten_alias_type()). >>>> Do you mean this logic: >>>> // Array pointers need some flattening >>>> const TypeAryPtr *ta = tj->isa_aryptr(); >>>> if( ta && is_known_inst ) { >>>> if ( offset != Type::OffsetBot && >>>> offset > arrayOopDesc::length_offset_in_bytes() ) { >>>> offset = Type::OffsetBot; // Flatten constant access into array body only >>>> tj = ta = TypeAryPtr::make(ptr, ta->ary(), ta->klass(), true, offset, ta->instance_id()); >>>> } >>>> } >>> No. This logic which does not convert constant array pointer to bottom array pointer (keep them separate): >>> >>> // Make sure the Bottom and NotNull variants alias the same. >>> // Also, make sure exact and non-exact variants alias the same. >>> if( ptr == TypePtr::NotNull || ta->klass_is_exact() ) { >>> if (ta->const_oop()) { >>> tj = ta = TypeAryPtr::make(TypePtr::Constant,ta->const_oop(),ta->ary(),ta->klass(),false,offset); >>> } else { >>> tj = ta = TypeAryPtr::make(TypePtr::BotPTR,ta->ary(),ta->klass(),false,offset); >>> } >>> } >> Ok. Why are arrays handled differently than instances? Those don't seem to do that. >>>> That seems odd. It was added as part of 6723160: Nightly failure: Error: meet not symmetric. Is instance_id set for constant objects? >>>>> As result the address of a store has different memory slice (idx=4) than calculated memory slice affected by the store (idx=5): >>>> It seems like there should be an assert that checks that these agree? >>> The check is in MemNode::adr_type() works fine but the problem is not there but in GraphKit::store_to_memory() where created store attached to mergemem: >>> >>> set_memory(st, adr_idx); >>> >>> adr_idx is calculated from passed (general) adr_type and not from adr->bottom_type(). >> It seems like those should be required to agree though I suspect sometimes the passed in value is raw while adr->bottom_type is something else. >> tom >>> Vladimir >>> >>>>> 75 StoreI === 61 46 73 20 [[ 95 81 ]] @int[int:>=0]:exact+any *, idx=5; Memory: @int[int:1000000] ident=696 address=0x8527328>+any *, idx=4; !jvms: ReadAfterWrite::main @ bci:16 >>>>> >>>>> It happened because when a store to array is created the type of affected memory is calculated using general array type TypeAryPtr::get_array_body_type(elem_type). >>>>> >>>>> So we either should allow a constant array pointer alias with other array pointers or check if an array ptr is constant and use its type instead of general one. I used second approach and fixed all places where get_array_body_type() was used. But I need your opinion on this. Based on previous Tom's comment we should not convert array pointers to constant (can we have arrays in Perm?). >>>> Yes we can. Previously the char[] of constant Strings were like that though we only read from those and only recently started treating their fields as constants and we also recently moved them out of perm. I don't think we embed any other constant perm arrays in compiled code though. >>>>> But then there is invoke dynamic case and I am not sure that we will not get constant arrays from it. >>>> Going forward we're going to be seeing a lot more constant objects in generated code since it's easy to embed them now. 292 in particular is going to want this so we can fold away as much goo as possible. >>>> tom >>>>> Thanks, >>>>> Vladimir >>>>> From tom.rodriguez at oracle.com Thu May 26 18:38:56 2011 From: tom.rodriguez at oracle.com (tom.rodriguez at oracle.com) Date: Fri, 27 May 2011 01:38:56 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20110527013902.7761047941@hg.openjdk.java.net> Changeset: 5ac411b3b8fc Author: never Date: 2011-05-26 14:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5ac411b3b8fc 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly Reviewed-by: kvn, jrose ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp ! src/share/vm/prims/methodHandles.cpp Changeset: c76c13577460 Author: never Date: 2011-05-26 16:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c76c13577460 Merge From john.r.rose at oracle.com Thu May 26 20:57:24 2011 From: john.r.rose at oracle.com (john.r.rose at oracle.com) Date: Fri, 27 May 2011 03:57:24 +0000 Subject: hg: hsx/hotspot-comp/jdk: 7032323: code changes for JSR 292 EG adjustments to API, through Public Review Message-ID: <20110527035753.63D4E47958@hg.openjdk.java.net> Changeset: f09930d526ba Author: jrose Date: 2011-05-26 17:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f09930d526ba 7032323: code changes for JSR 292 EG adjustments to API, through Public Review Summary: API code changes and javadoc changes following JSR 292 Public Review comments, through PFD Reviewed-by: never ! src/share/classes/java/lang/BootstrapMethodError.java ! src/share/classes/java/lang/ClassValue.java ! src/share/classes/java/lang/invoke/AdapterMethodHandle.java ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/ConstantCallSite.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/MemberName.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java + src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MutableCallSite.java ! src/share/classes/java/lang/invoke/SwitchPoint.java ! src/share/classes/java/lang/invoke/package-info.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! src/share/classes/sun/invoke/util/VerifyAccess.java ! src/share/classes/sun/invoke/util/Wrapper.java ! test/java/lang/invoke/6998541/Test6998541.java ! test/java/lang/invoke/InvokeDynamicPrintArgs.java ! test/java/lang/invoke/InvokeGenericTest.java ! test/java/lang/invoke/JavaDocExamplesTest.java ! test/java/lang/invoke/MethodHandlesTest.java ! test/java/lang/invoke/indify/Indify.java From john.coomes at oracle.com Thu May 26 21:34:08 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 04:34:08 +0000 Subject: hg: jdk7/hotspot-comp: 3 new changesets Message-ID: <20110527043408.F32E74795C@hg.openjdk.java.net> Changeset: bde8f3d56ffa Author: schien Date: 2011-05-12 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/bde8f3d56ffa Added tag jdk7-b142 for changeset cfbbdb77eac0 ! .hgtags Changeset: 14b8e7eee105 Author: ohair Date: 2011-05-16 08:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/14b8e7eee105 7043700: Regression for IcedTea builds Reviewed-by: dholmes, omajid ! Makefile ! make/jprt.gmk Changeset: 7203965666a4 Author: schien Date: 2011-05-20 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/7203965666a4 Added tag jdk7-b143 for changeset 14b8e7eee105 ! .hgtags From john.coomes at oracle.com Thu May 26 21:34:18 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 04:34:18 +0000 Subject: hg: jdk7/hotspot-comp/corba: 5 new changesets Message-ID: <20110527043422.CCDE74795D@hg.openjdk.java.net> Changeset: 62a6a0a1a350 Author: mfang Date: 2011-05-10 15:02 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/62a6a0a1a350 7043548: message drop 3 translation integration Reviewed-by: yhuang ! src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties Changeset: a2f340a048c8 Author: mfang Date: 2011-05-10 19:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/a2f340a048c8 Merge Changeset: 51ed32f6f4de Author: schien Date: 2011-05-12 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/51ed32f6f4de Added tag jdk7-b142 for changeset a2f340a048c8 ! .hgtags Changeset: b06dd44a2740 Author: schien Date: 2011-05-20 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/b06dd44a2740 Added tag jdk7-b143 for changeset 51ed32f6f4de ! .hgtags Changeset: 7033a5756ad5 Author: katleman Date: 2011-05-25 13:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/7033a5756ad5 7044486: open jdk repos have files with incorrect copyright headers, which can end up in src bundles Reviewed-by: ohair, trims ! src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java From john.coomes at oracle.com Thu May 26 21:34:31 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 04:34:31 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: 8 new changesets Message-ID: <20110527043431.C299D4795E@hg.openjdk.java.net> Changeset: 30129a58aacc Author: ohair Date: 2011-04-29 10:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/30129a58aacc 7040147: jaxp 1.4.5 jdk7 integration Reviewed-by: joehw ! jaxp.properties Changeset: 5598bd5ede94 Author: lana Date: 2011-04-30 15:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/5598bd5ede94 Merge Changeset: 9da6d4f2c640 Author: jgodinez Date: 2011-05-03 22:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/9da6d4f2c640 Merge Changeset: 7d067af4b25e Author: jgodinez Date: 2011-05-09 12:26 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/7d067af4b25e Merge Changeset: 3910007a86d8 Author: schien Date: 2011-05-12 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/3910007a86d8 Added tag jdk7-b142 for changeset 7d067af4b25e ! .hgtags Changeset: 7691aa48eba4 Author: alanb Date: 2011-05-09 01:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/7691aa48eba4 Merge Changeset: 16b847e9bbd7 Author: lana Date: 2011-05-14 10:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/16b847e9bbd7 Merge Changeset: 39bf6dcaab23 Author: schien Date: 2011-05-20 16:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/39bf6dcaab23 Added tag jdk7-b143 for changeset 16b847e9bbd7 ! .hgtags From john.coomes at oracle.com Thu May 26 21:34:40 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 04:34:40 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: 4 new changesets Message-ID: <20110527043440.29AE94795F@hg.openjdk.java.net> Changeset: 7439eee6371b Author: schien Date: 2011-05-12 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/7439eee6371b Added tag jdk7-b142 for changeset 0ef3ef823c39 ! .hgtags Changeset: 6d59d563f187 Author: ohair Date: 2011-05-10 16:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/6d59d563f187 7042773: Integrate JAXWS 2.2.4 update to JDK7 Reviewed-by: ramap ! jaxws.properties Changeset: 569d1e7ea980 Author: lana Date: 2011-05-14 10:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/569d1e7ea980 Merge Changeset: 6bd683f2d527 Author: schien Date: 2011-05-20 16:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/6bd683f2d527 Added tag jdk7-b143 for changeset 569d1e7ea980 ! .hgtags From john.coomes at oracle.com Thu May 26 21:41:19 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 04:41:19 +0000 Subject: hg: jdk7/hotspot-comp/jdk: 186 new changesets Message-ID: <20110527051600.2C0E44796A@hg.openjdk.java.net> Changeset: fbe3a3401786 Author: dholmes Date: 2011-05-04 22:16 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fbe3a3401786 7041284: arm/ppc Missing launcher mapfiles prevent build Summary: Disable use of launcher mapfiles when cross-compiling Reviewed-by: ohair, ksrini ! make/common/Program.gmk Changeset: 28c1be91a39f Author: cl Date: 2011-05-05 18:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/28c1be91a39f 7026163: gzip tar files Reviewed-by: katleman ! make/common/shared/Defs-utils.gmk Changeset: 8e9e28663c5d Author: andrew Date: 2011-05-06 01:55 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8e9e28663c5d 7042040: Remove disk space sanity check Summary: Remove outdated disk space checks using df Reviewed-by: ohair, omajid ! make/common/shared/Defs-versions.gmk ! make/common/shared/Sanity-Settings.gmk ! make/common/shared/Sanity.gmk Changeset: 87488f98e22d Author: andrew Date: 2011-05-06 02:27 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/87488f98e22d Merge Changeset: ce34293145b1 Author: cl Date: 2011-05-06 10:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ce34293145b1 Merge Changeset: d9571c986c73 Author: jgodinez Date: 2011-04-20 09:10 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d9571c986c73 6989724: font warnings in the build, native code Reviewed-by: bae, igor ! src/share/native/sun/awt/giflib/dgif_lib.c ! src/share/native/sun/font/fontscalerdefs.h ! src/share/native/sun/font/layout/HangulLayoutEngine.cpp ! src/share/native/sun/font/layout/MPreFixups.cpp ! src/solaris/native/sun/awt/fontpath.c ! src/windows/native/sun/font/fontpath.c Changeset: 0f98d7d98c9f Author: prr Date: 2011-04-22 12:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0f98d7d98c9f 7031011: fallbackfont testing failed on OEL 6. Reviewed-by: igor, jgodinez ! src/solaris/classes/sun/font/FcFontConfiguration.java Changeset: a07c9e09b4ca Author: bae Date: 2011-04-27 12:15 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a07c9e09b4ca 7037091: sun/java2d/pipe/Test7027667.java test is not executed Reviewed-by: prr ! test/sun/java2d/pipe/Test7027667.java Changeset: 24f474ad1703 Author: dlila Date: 2011-04-28 08:55 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/24f474ad1703 7036754: NaNs in stroked quadratics. Summary: Check for them and remove them. Reviewed-by: flar ! src/share/classes/sun/java2d/pisces/Stroker.java + test/sun/java2d/pisces/Test7036754.java Changeset: 34056b127c96 Author: flar Date: 2011-04-29 01:40 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/34056b127c96 7020955: No focus point adjustment for RadialGradientPaint Reviewed-by: prr ! src/share/classes/java/awt/RadialGradientPaint.java Changeset: 899d87ec43eb Author: flar Date: 2011-04-29 10:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/899d87ec43eb 6522514: Extending Arc2D.Double and serializing the object causes InvalidClassException Reviewed-by: prr ! src/share/classes/java/awt/geom/Arc2D.java Changeset: 678ce376be35 Author: lana Date: 2011-04-28 17:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/678ce376be35 Merge - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: 3b536b18a6f0 Author: lana Date: 2011-04-29 11:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3b536b18a6f0 Merge Changeset: c5209316e1ab Author: flar Date: 2011-04-29 16:27 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c5209316e1ab 6982632: closed/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java fails Reviewed-by: prr + test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java Changeset: 55ef0efa2b14 Author: flar Date: 2011-05-02 14:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/55ef0efa2b14 6563734: Path2D.Float and Path2D.Double should have final getPathIterator methods Reviewed-by: prr ! src/share/classes/java/awt/geom/Path2D.java Changeset: 499d216a751e Author: jgodinez Date: 2011-05-03 22:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/499d216a751e Merge Changeset: f805a139c57c Author: anthony Date: 2011-04-19 14:44 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f805a139c57c 7036669: Simplify revalidating component hierarchy with multiple validate roots Summary: Introduce Component.revalidate() method Reviewed-by: art, alexp ! src/share/classes/java/awt/Component.java ! src/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java + test/java/awt/Component/Revalidate/Revalidate.java Changeset: c292ec06529f Author: dav Date: 2011-04-19 18:52 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c292ec06529f 7036733: Regression : NullPointerException when scrolling horizontally on AWT List Reviewed-by: dcherepanov ! src/solaris/classes/sun/awt/X11/XListPeer.java + test/java/awt/List/ScrollOutside/ScrollOut.java Changeset: c9ddd8e0af54 Author: dav Date: 2011-04-25 21:08 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c9ddd8e0af54 7030632: Pasting HTML that was copied from MS Word results in IOException Reviewed-by: uta, denis ! src/windows/classes/sun/awt/windows/WDataTransferer.java Changeset: 673aa770a062 Author: denis Date: 2011-04-25 20:39 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/673aa770a062 6888182: Readable and permitted to delete files could not be transferred through Clipboard and DnD Reviewed-by: uta ! src/windows/native/sun/windows/awt_Clipboard.cpp ! src/windows/native/sun/windows/awt_DnDDS.cpp Changeset: 16f52939fa41 Author: denis Date: 2011-04-27 14:58 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/16f52939fa41 7020922: java.awt.Toolkit.getPropertyChangeListeners() should mention that it returns proxies Reviewed-by: malenkov ! src/share/classes/java/awt/Toolkit.java Changeset: 4c9ea1bf528a Author: denis Date: 2011-04-27 17:18 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4c9ea1bf528a 6998716: client vm crashes making browser fails to respond under some scenarios Reviewed-by: art, denis, uta ! src/windows/native/sun/windows/ObjectList.cpp ! src/windows/native/sun/windows/ObjectList.h ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_MenuItem.cpp ! src/windows/native/sun/windows/awt_Object.cpp ! src/windows/native/sun/windows/awt_Object.h ! src/windows/native/sun/windows/awt_Robot.cpp ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_TrayIcon.cpp ! src/windows/native/sun/windows/awtmsg.h Changeset: 03d764676479 Author: dcherepanov Date: 2011-04-28 13:26 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/03d764676479 7032830: GraphicsDevice.setFullScreenWindow() works strange for decorated windows on OEL. 7016382: GraphicsDevice.setFullScreenWindow() - spec clarification for exclusive mode for dec/undec Frames Reviewed-by: art ! src/share/classes/java/awt/GraphicsDevice.java Changeset: b1567059e4fe Author: dav Date: 2011-04-28 20:14 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b1567059e4fe 6956646: Test: MouseWheelEvent/InfiniteRecursion test receives more MouseWheelEvents than expected Reviewed-by: serb, dcherepanov ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_1.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java Changeset: 5b001da8768e Author: dcherepanov Date: 2011-04-28 19:23 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5b001da8768e 6853146: Regression: on-the-spot input is broken in AWT Peered components Reviewed-by: art, ant, naoto ! src/windows/native/sun/windows/awt_TextComponent.cpp Changeset: 43be19b7c945 Author: dcherepanov Date: 2011-04-28 19:39 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/43be19b7c945 7034766: closed/java/awt/EmbeddedFrame/EmbeddedFrameGrabTest/EmbeddedFrameGrabTest.java failed on jdk7 b134 Reviewed-by: art, ant ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: 6303d3a93040 Author: dcherepanov Date: 2011-04-29 16:02 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6303d3a93040 7034291: Regression : Preedit String on active client is committed into unexpected component Reviewed-by: art, naoto ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h Changeset: 5d8445b532a7 Author: dcherepanov Date: 2011-04-29 16:16 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5d8445b532a7 7026055: Regression : Cannot use IME on JComboBox Japanese Reviewed-by: art, ant, naoto ! src/windows/native/sun/windows/awt_Component.cpp Changeset: 32488e6d3917 Author: lana Date: 2011-04-29 20:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/32488e6d3917 Merge - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java - src/share/native/sun/font/layout/Features.h - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: d400711b8cd2 Author: serb Date: 2011-05-03 15:19 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d400711b8cd2 7016528: Deadlock during mutual initialization of DataTransferer and DataTransferer$DataFlavorComparator Reviewed-by: dav, art, denis ! src/share/classes/sun/awt/datatransfer/DataTransferer.java Changeset: 4e6897c7779f Author: jgodinez Date: 2011-05-03 22:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4e6897c7779f Merge Changeset: 4719cf8f5ae5 Author: rupashka Date: 2011-04-19 10:11 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4719cf8f5ae5 7036025: java.security.AccessControlException when creating JFileChooser in signed applet Reviewed-by: malenkov ! src/share/classes/sun/swing/WindowsPlacesBar.java + test/javax/swing/JFileChooser/7036025/bug7036025.java + test/javax/swing/JFileChooser/7036025/security.policy Changeset: ea0aed4b75cd Author: amenkov Date: 2011-04-20 16:46 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ea0aed4b75cd 7030629: closed/sun/audio/AudioClipClose/AudioClipClose.java test fails just against jdk7 b134 7033899: SoundTestSuite: test050 fails on Ubuntu Linux Reviewed-by: bae ! src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c Changeset: 6c94f33c36d5 Author: rupashka Date: 2011-04-21 14:29 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6c94f33c36d5 7021058: The Create folder button produces error in the Details mode (JFileChooser) Reviewed-by: malenkov ! src/share/classes/sun/swing/FilePane.java Changeset: 91a590306e02 Author: alexp Date: 2011-04-22 20:54 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/91a590306e02 7036871: Some JCK interactive JSplitPane tests that test continuous layout fail with Nimbus L&F Reviewed-by: rupashka ! src/share/classes/javax/swing/JSplitPane.java Changeset: 78890acd99e4 Author: peytoia Date: 2011-04-26 10:46 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/78890acd99e4 7039469: (tz) Support tzdata2011g Reviewed-by: okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/africa ! make/sun/javazic/tzdata/europe ! make/sun/javazic/tzdata/southamerica Changeset: 1be42326f1c2 Author: rupashka Date: 2011-04-27 13:43 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1be42326f1c2 7039403: Could not compile test/javax/swing/JLabel/6596966/bug6596966.java Reviewed-by: malenkov ! test/javax/swing/JLabel/6596966/bug6596966.java Changeset: 0896c9712cf0 Author: bagiras Date: 2011-04-27 15:26 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0896c9712cf0 7035209: 6u26 ea b01 - running an applet with old plugin crashes in awt.dll Reviewed-by: art, amenkov ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Changeset: 1eaff0300541 Author: dav Date: 2011-04-27 17:46 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1eaff0300541 6888633: test/closed/javax/swing/JPopupMenu/4786415/bug4786415.java fails Reviewed-by: rupashka, alexp ! src/share/classes/javax/swing/JPopupMenu.java Changeset: 015a66da6fcc Author: dav Date: 2011-04-27 18:15 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/015a66da6fcc 6979551: closed/javax/swing/plaf/basic/BasicLabelUI/4798542/bug4798542.java fails Reviewed-by: art, yan, alexp ! src/share/classes/sun/awt/ExtendedKeyCodes.java + test/java/awt/keyboard/EqualKeyCode/EqualKeyCode.java Changeset: bb6594674ffe Author: lana Date: 2011-04-29 16:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bb6594674ffe Merge - src/share/classes/sun/security/ssl/DefaultSSLContextImpl.java - src/share/native/sun/font/layout/Features.h Changeset: fd428801c7ba Author: jgodinez Date: 2011-05-03 22:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fd428801c7ba Merge Changeset: e9760efb5110 Author: sherman Date: 2011-04-18 21:44 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e9760efb5110 7027900: (fs) glob syntax under-specified Summary: Clarify how leading dots are treated in nio2 glob Reviewed-by: alanb ! src/share/classes/java/nio/file/FileSystem.java Changeset: 495dcc360214 Author: mduigou Date: 2011-04-19 10:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/495dcc360214 7030579: Extra words in documentation of ListIterator may cause confusion Reviewed-by: dholmes, alanb ! src/share/classes/java/util/ListIterator.java Changeset: f8956ba13b37 Author: weijun Date: 2011-04-20 18:41 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f8956ba13b37 6894072: always refresh keytab Reviewed-by: valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java + src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java ! src/share/classes/javax/security/auth/kerberos/KerberosKey.java + src/share/classes/javax/security/auth/kerberos/KeyTab.java + src/share/classes/sun/misc/JavaxSecurityAuthKerberosAccess.java ! src/share/classes/sun/misc/SharedSecrets.java ! src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/Config.java ! src/share/classes/sun/security/krb5/EncryptionKey.java ! src/share/classes/sun/security/krb5/KrbAsRep.java ! src/share/classes/sun/security/krb5/KrbAsReqBuilder.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java ! src/windows/classes/sun/security/krb5/internal/tools/Kinit.java ! src/windows/classes/sun/security/krb5/internal/tools/Klist.java ! src/windows/classes/sun/security/krb5/internal/tools/Ktab.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/DynamicKeytab.java ! test/sun/security/krb5/auto/KDC.java + test/sun/security/krb5/auto/KeyTabCompat.java ! test/sun/security/krb5/auto/LoginModuleOptions.java ! test/sun/security/krb5/auto/SSL.java + test/sun/security/krb5/auto/TwoPrinces.java ! test/sun/security/krb5/ktab/KeyTabIndex.java Changeset: ed01737a2e9a Author: michaelm Date: 2011-04-20 12:03 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ed01737a2e9a 7034570: java.lang.Runtime.exec(String[] cmd, String[] env) can not work properly if SystemRoot not inherited Reviewed-by: dholmes, alanb ! src/share/classes/java/lang/ProcessBuilder.java ! src/share/classes/java/lang/Runtime.java ! src/windows/classes/java/lang/ProcessEnvironment.java ! test/java/lang/ProcessBuilder/Basic.java Changeset: 31aa8c35a4df Author: michaelm Date: 2011-04-20 12:05 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/31aa8c35a4df Merge Changeset: 00f3997e6aeb Author: smarks Date: 2011-04-20 16:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/00f3997e6aeb 6896297: (rmi) fix ConcurrentModificationException causing TCK failure Reviewed-by: alanb, dholmes, peterjones ! src/share/classes/sun/rmi/log/ReliableLog.java ! src/share/classes/sun/rmi/server/Activation.java Changeset: d5a7ed4e72a4 Author: mduigou Date: 2011-04-20 17:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d5a7ed4e72a4 6546713: link the word (optional) in exception specifications to the text which provides explanation and context. Reviewed-by: dholmes, dl ! src/share/classes/java/util/AbstractSet.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Deque.java ! src/share/classes/java/util/List.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/Set.java ! src/share/classes/java/util/Vector.java Changeset: 7fd31e477313 Author: dl Date: 2011-04-21 13:53 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7fd31e477313 7038501: Clarify meaning of "(optional)" in javadoc Reviewed-by: chegar ! src/share/classes/java/util/concurrent/BlockingDeque.java ! src/share/classes/java/util/concurrent/BlockingQueue.java ! src/share/classes/java/util/concurrent/ConcurrentMap.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java Changeset: 7cd0403492b6 Author: vinnie Date: 2011-04-21 14:23 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7cd0403492b6 6888925: SunMSCAPI's Cipher can't use RSA public keys obtained from other sources. Reviewed-by: mullan ! src/windows/classes/sun/security/mscapi/RSACipher.java ! src/windows/classes/sun/security/mscapi/RSAPublicKey.java ! src/windows/classes/sun/security/mscapi/RSASignature.java + test/sun/security/mscapi/PublicKeyInterop.java + test/sun/security/mscapi/PublicKeyInterop.sh Changeset: 401ef8c488e0 Author: vinnie Date: 2011-04-21 14:25 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/401ef8c488e0 Merge Changeset: e9ec52c63a9f Author: dl Date: 2011-04-21 17:00 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e9ec52c63a9f 7038542: Small performace regression in ConcurrentHashMap on c1 since CR 703655 Reviewed-by: chegar ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: 69fead598c1b Author: vinnie Date: 2011-04-21 19:05 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/69fead598c1b 6732372: Some MSCAPI native methods not returning correct exceptions. Reviewed-by: mullan ! src/share/classes/sun/security/ec/ECKeyPairGenerator.java ! src/windows/classes/sun/security/mscapi/KeyStore.java ! src/windows/classes/sun/security/mscapi/RSACipher.java ! src/windows/classes/sun/security/mscapi/RSAKeyPairGenerator.java ! src/windows/classes/sun/security/mscapi/RSAPublicKey.java ! src/windows/classes/sun/security/mscapi/RSASignature.java ! src/windows/native/sun/security/mscapi/security.cpp Changeset: ca4f216c0bae Author: lana Date: 2011-04-21 11:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ca4f216c0bae Merge Changeset: 3669d17e7799 Author: lana Date: 2011-04-21 13:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3669d17e7799 Merge Changeset: 2c46bf0a462c Author: mullan Date: 2011-04-21 17:39 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2c46bf0a462c 7038175: Expired PKITS certificates causing CertPathBuilder and CertPathValidator regression test failures Reviewed-by: xuelei ! src/share/classes/sun/security/provider/certpath/CrlRevocationChecker.java ! src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java Changeset: 34b2c8e0ac85 Author: mullan Date: 2011-04-21 17:44 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/34b2c8e0ac85 Merge Changeset: a5bb55c7cfde Author: darcy Date: 2011-04-21 15:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a5bb55c7cfde 6998871: Support making the Throwable.stackTrace field immutable Reviewed-by: dholmes, mchung, forax ! src/share/classes/java/lang/ArithmeticException.java ! src/share/classes/java/lang/Error.java ! src/share/classes/java/lang/Exception.java ! src/share/classes/java/lang/NullPointerException.java ! src/share/classes/java/lang/OutOfMemoryError.java ! src/share/classes/java/lang/RuntimeException.java ! src/share/classes/java/lang/Throwable.java ! src/share/native/java/lang/Throwable.c ! test/java/lang/Throwable/ChainedExceptions.java ! test/java/lang/Throwable/StackTraceSerialization.java ! test/java/lang/Throwable/SuppressedExceptions.java Changeset: 48f659a09ed4 Author: coffeys Date: 2011-04-22 11:03 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/48f659a09ed4 7025227: SSLSocketImpl does not close the TCP layer socket if a close notify cannot be sent to the peer 6932403: SSLSocketImpl state issue Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: 7c1cdb9c81a6 Author: dl Date: 2011-04-22 16:33 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7c1cdb9c81a6 7038885: Improved bulk operation disclaimers for concurrent collections Reviewed-by: chegar ! src/share/classes/java/util/concurrent/ConcurrentLinkedDeque.java ! src/share/classes/java/util/concurrent/ConcurrentLinkedQueue.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListMap.java ! src/share/classes/java/util/concurrent/ConcurrentSkipListSet.java ! src/share/classes/java/util/concurrent/LinkedTransferQueue.java Changeset: 7cd61feb3ec6 Author: kamg Date: 2011-04-15 10:17 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7cd61feb3ec6 6519228: JDWP Spec: need references at capability canRequestMonitorEvents for JDWP 1.6 Monitor* events Summary: Add descriptions in event type table Reviewed-by: ohair, jjh, acorn, dcubed ! make/jpda/jdwp/jdwp.spec Changeset: e56922f50d1c Author: kamg Date: 2011-04-22 04:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e56922f50d1c Merge Changeset: 9cc0045191ed Author: kamg Date: 2011-04-22 08:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9cc0045191ed Merge Changeset: d64f9348c7ca Author: vinnie Date: 2011-04-22 17:03 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d64f9348c7ca 6931562: Support SunMSCAPI Security Provider in Windows 64-bit releases of JVM Reviewed-by: mullan ! make/java/security/Makefile ! make/sun/security/Makefile ! test/sun/security/mscapi/AccessKeyStore.sh ! test/sun/security/mscapi/IsSunMSCAPIAvailable.sh ! test/sun/security/mscapi/KeyStoreCompatibilityMode.sh ! test/sun/security/mscapi/KeytoolChangeAlias.sh ! test/sun/security/mscapi/RSAEncryptDecrypt.sh Changeset: 8b36b1c4bb7f Author: nloodin Date: 2011-04-26 12:49 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8b36b1c4bb7f 7029383: Refresh of non-client demos Reviewed-by: mchung, ohair ! src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java ! src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java ! src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java ! src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java ! src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java ! src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java ! src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java ! src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java ! src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java ! src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java ! src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java ! src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/Session.java ! src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java ! src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java ! src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java ! src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java ! src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java ! src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java ! src/share/classes/com/sun/tools/example/debug/bdi/Utils.java ! src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java ! src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java ! src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java ! src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/AccessWatchpointEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java ! src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java ! src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java ! src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java ! src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java ! src/share/classes/com/sun/tools/example/debug/expr/LValue.java ! src/share/classes/com/sun/tools/example/debug/expr/ParseException.java ! src/share/classes/com/sun/tools/example/debug/expr/Token.java ! src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java ! src/share/classes/com/sun/tools/example/debug/gui/ApplicationTool.java ! src/share/classes/com/sun/tools/example/debug/gui/ClassTreeTool.java ! src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java ! src/share/classes/com/sun/tools/example/debug/gui/CommandTool.java ! src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java ! src/share/classes/com/sun/tools/example/debug/gui/CurrentFrameChangedEvent.java ! src/share/classes/com/sun/tools/example/debug/gui/Environment.java ! src/share/classes/com/sun/tools/example/debug/gui/GUI.java ! src/share/classes/com/sun/tools/example/debug/gui/JDBFileFilter.java ! src/share/classes/com/sun/tools/example/debug/gui/JDBMenuBar.java ! src/share/classes/com/sun/tools/example/debug/gui/JDBToolBar.java ! src/share/classes/com/sun/tools/example/debug/gui/LaunchTool.java ! src/share/classes/com/sun/tools/example/debug/gui/MonitorListModel.java ! src/share/classes/com/sun/tools/example/debug/gui/MonitorTool.java ! src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java ! src/share/classes/com/sun/tools/example/debug/gui/SingleLeafTreeSelectionModel.java ! src/share/classes/com/sun/tools/example/debug/gui/SourceManager.java ! src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java ! src/share/classes/com/sun/tools/example/debug/gui/SourceTool.java ! src/share/classes/com/sun/tools/example/debug/gui/SourceTreeTool.java ! src/share/classes/com/sun/tools/example/debug/gui/SourcepathChangedEvent.java ! src/share/classes/com/sun/tools/example/debug/gui/StackTraceTool.java ! src/share/classes/com/sun/tools/example/debug/gui/ThreadTreeTool.java ! src/share/classes/com/sun/tools/example/debug/gui/TypeScript.java ! src/share/classes/com/sun/tools/example/debug/gui/TypeScriptOutputListener.java ! src/share/classes/com/sun/tools/example/debug/gui/TypeScriptWriter.java ! src/share/classes/com/sun/tools/example/debug/tty/AccessWatchpointSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/AmbiguousMethodException.java ! src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/Commands.java ! src/share/classes/com/sun/tools/example/debug/tty/Env.java ! src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java ! src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpecList.java ! src/share/classes/com/sun/tools/example/debug/tty/ExceptionSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/LineNotFoundException.java ! src/share/classes/com/sun/tools/example/debug/tty/MalformedMemberNameException.java ! src/share/classes/com/sun/tools/example/debug/tty/ModificationWatchpointSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/PatternReferenceTypeSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/ReferenceTypeSpec.java ! src/share/classes/com/sun/tools/example/debug/tty/SourceMapper.java ! src/share/classes/com/sun/tools/example/debug/tty/TTY.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java ! src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java ! src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java ! src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java ! src/share/classes/com/sun/tools/example/debug/tty/VMNotConnectedException.java ! src/share/classes/com/sun/tools/example/debug/tty/WatchpointSpec.java ! src/share/classes/com/sun/tools/example/trace/EventThread.java ! src/share/classes/com/sun/tools/example/trace/StreamRedirectThread.java ! src/share/classes/com/sun/tools/example/trace/Trace.java ! src/share/demo/jvmti/minst/Minst.java ! src/share/demo/management/FullThreadDump/Deadlock.java ! src/share/demo/management/FullThreadDump/ThreadMonitor.java ! src/share/demo/management/JTop/JTop.java ! src/share/demo/management/JTop/JTopPlugin.java ! src/share/demo/management/MemoryMonitor/MemoryMonitor.java ! src/share/demo/management/VerboseGC/PrintGCStat.java ! src/share/demo/management/VerboseGC/VerboseGC.java ! src/share/demo/nio/zipfs/Demo.java ! src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java ! src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java ! src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java Changeset: 147da2c8b749 Author: darcy Date: 2011-04-26 10:35 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/147da2c8b749 7039369: Limit range of strictfp in FloatingDecimal Summary: Additional reviews by sergey.kuksenko at oracle.com Reviewed-by: alanb ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/FormattedFloatingDecimal.java ! test/java/lang/Double/ParseDouble.java Changeset: 0e0db3421e8f Author: weijun Date: 2011-04-27 17:11 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0e0db3421e8f 6950929: Failures on Solaris sparc 64bit sun/security/krb5/auto/BadKdc4.java (and linux?) Reviewed-by: xuelei ! test/sun/security/krb5/auto/BadKdc.java Changeset: a0dde3ff1dfd Author: alanb Date: 2011-04-27 13:46 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a0dde3ff1dfd 7039186: (ch) EPoll based asynchronous I/O implementation should be portable to linux-arm and linux-ppc Reviewed-by: dholmes ! make/java/nio/mapfile-linux ! src/solaris/classes/sun/nio/ch/EPoll.java ! src/solaris/classes/sun/nio/fs/LinuxWatchService.java ! src/solaris/native/sun/nio/ch/EPoll.c ! src/solaris/native/sun/nio/fs/LinuxWatchService.c Changeset: 5a4e2a734f1d Author: vinnie Date: 2011-04-27 20:21 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5a4e2a734f1d 6753664: Support SHA256 (and higher) in SunMSCAPI Reviewed-by: mullan ! src/windows/classes/sun/security/mscapi/RSASignature.java ! src/windows/classes/sun/security/mscapi/SunMSCAPI.java ! src/windows/native/sun/security/mscapi/security.cpp + test/sun/security/mscapi/SignUsingSHA2withRSA.java + test/sun/security/mscapi/SignUsingSHA2withRSA.sh Changeset: 7c109d060365 Author: vinnie Date: 2011-04-27 20:24 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7c109d060365 Merge Changeset: 5b05f8d1c0e5 Author: mduigou Date: 2011-04-26 14:25 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5b05f8d1c0e5 4884238: Adds java.nio.charset.StandardCharset to provide static final constants for the standard charsets. Reviewed-by: alanb, sherman, darcy ! src/share/classes/java/nio/charset/Charset.java + src/share/classes/java/nio/charset/StandardCharset.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/util/zip/ZipCoder.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/sun/awt/FontDescriptor.java + test/java/nio/charset/StandardCharset/Standard.java Changeset: bf2a12c1ffe3 Author: mduigou Date: 2011-04-27 14:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bf2a12c1ffe3 Merge Changeset: 76703c84b3a2 Author: weijun Date: 2011-04-28 20:34 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/76703c84b3a2 7037201: regression: invalid signed jar file not detected Reviewed-by: mullan ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JarInputStream.java ! src/share/classes/java/util/jar/JarVerifier.java ! src/share/classes/sun/security/pkcs/PKCS7.java ! src/share/classes/sun/security/pkcs/SignerInfo.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java - src/share/classes/sun/security/util/SignatureFileManifest.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java ! test/java/util/jar/JarInputStream/ScanSignedJar.java ! test/java/util/jar/JarInputStream/TestIndexedJarWithBadSignature.java Changeset: 28caa191884a Author: lancea Date: 2011-04-28 09:46 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/28caa191884a 7038565: address Findbugs issue in BatchUpdateException Reviewed-by: alanb, forax ! src/share/classes/java/sql/BatchUpdateException.java Changeset: c3f5333e10e3 Author: mchung Date: 2011-04-28 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c3f5333e10e3 7037081: Remove com.sun.tracing from NON_CORE_PKGS Reviewed-by: ohair, jjg, jmasa ! make/docs/Makefile ! make/docs/NON_CORE_PKGS.gmk Changeset: 37722a0a1c65 Author: mduigou Date: 2011-04-28 10:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/37722a0a1c65 7040381: Add StandardCharset.java to FILES_java.gmk Reviewed-by: alanb ! make/java/nio/FILES_java.gmk Changeset: 7b7c1ffd0752 Author: mduigou Date: 2011-04-28 10:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7b7c1ffd0752 Merge - src/share/classes/sun/security/util/SignatureFileManifest.java Changeset: 67f411052dd6 Author: vinnie Date: 2011-04-29 00:21 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/67f411052dd6 6578658: Request for raw RSA (NONEwithRSA) Signature support in SunMSCAPI Reviewed-by: wetmore ! src/windows/classes/sun/security/mscapi/RSASignature.java ! src/windows/classes/sun/security/mscapi/SunMSCAPI.java ! src/windows/native/sun/security/mscapi/security.cpp + test/sun/security/mscapi/SignUsingNONEwithRSA.java + test/sun/security/mscapi/SignUsingNONEwithRSA.sh Changeset: 6c8ae62463a3 Author: darcy Date: 2011-04-28 17:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6c8ae62463a3 7038843: IIOP serialization fails with NullPointerException when serializing Throwable Reviewed-by: dholmes, mchung ! src/share/classes/java/lang/Throwable.java Changeset: 775b77e74bec Author: sherman Date: 2011-04-28 20:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/775b77e74bec 7037261: j.l.Character.isLowerCase/isUpperCase need to match the Unicode Standard Summary: updated j.l.c.lsLowerCase/isUpperCase Reviewed-by: okutsu ! make/java/java/FILES_java.gmk ! make/java/java/Makefile ! make/tools/GenerateCharacter/CharacterData00.java.template ! make/tools/GenerateCharacter/CharacterData01.java.template ! make/tools/GenerateCharacter/CharacterData02.java.template ! make/tools/GenerateCharacter/CharacterData0E.java.template ! make/tools/GenerateCharacter/CharacterDataLatin1.java.template + make/tools/UnicodeData/PropList.txt ! make/tools/src/build/tools/generatecharacter/GenerateCharacter.java + make/tools/src/build/tools/generatecharacter/PropList.java ! src/share/classes/java/lang/Character.java ! src/share/classes/java/lang/CharacterData.java + test/java/lang/Character/CheckProp.java + test/java/lang/Character/PropList.txt Changeset: 94d02b3c5ac4 Author: sherman Date: 2011-04-28 20:48 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/94d02b3c5ac4 7039066: j.u.rgex does not match TR18 RL1.4 Simple Word Boundaries and RL1.2 Properties Summary: updated the regex Unicode property support Reviewed-by: alanb ! src/share/classes/java/util/regex/Pattern.java + src/share/classes/java/util/regex/UnicodeProp.java + test/java/util/regex/POSIX_ASCII.java + test/java/util/regex/POSIX_Unicode.java ! test/java/util/regex/RegExTest.java Changeset: 0b1354ecf5a3 Author: lancea Date: 2011-04-29 09:04 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0b1354ecf5a3 7040150: Indexing Error in CachedRowSetImpl.removeCurrentRow Reviewed-by: smarks ! src/share/classes/com/sun/rowset/CachedRowSetImpl.java Changeset: 24ad188dc46c Author: mchung Date: 2011-04-29 08:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/24ad188dc46c 7039809: Remove @ConstructorProperties annotation from java.io.File class Reviewed-by: alanb, malenkov ! src/share/classes/java/io/File.java - test/java/beans/XMLEncoder/java_io_File.java Changeset: 40e2b3a25533 Author: valeriep Date: 2011-04-29 13:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/40e2b3a25533 7036252: sunpkcs11-solaris.cfg needs a review Summary: Updated the disabled mechanisms section since Solaris bug 6306708 has been fixed. Reviewed-by: mullan ! src/share/lib/security/sunpkcs11-solaris.cfg Changeset: 36dd30b5f85d Author: mduigou Date: 2011-04-29 14:09 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/36dd30b5f85d 7040572: Fix broken java/nio/charset/StandardCharset/Standard.java and add more tests. Reviewed-by: alanb ! test/java/nio/charset/StandardCharset/Standard.java Changeset: ca58907a51f7 Author: lana Date: 2011-04-30 16:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ca58907a51f7 Merge ! make/java/java/FILES_java.gmk - src/share/native/sun/font/layout/Features.h - test/javax/swing/text/GlyphView/6539700/bug6539700.java Changeset: aa7c361144bb Author: weijun Date: 2011-05-01 14:22 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/aa7c361144bb 7040916: DynamicKeyTab test fails on Windows Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! test/sun/security/krb5/auto/DynamicKeytab.java Changeset: 4ac05b50f09c Author: sherman Date: 2011-05-01 11:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4ac05b50f09c 7036522: j.u.r.Pattern documentation errors Summary: updated the Perl related information Reviewed-by: alanb ! src/share/classes/java/util/regex/Pattern.java Changeset: 94551cf150a1 Author: michaelm Date: 2011-05-02 11:02 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/94551cf150a1 6569621: Problem with java/classes_net Reviewed-by: chegar ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocketPermission.java ! src/share/classes/sun/net/www/URLConnection.java ! src/share/classes/sun/net/www/http/HttpClient.java Changeset: aee65a629245 Author: michaelm Date: 2011-05-02 11:47 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/aee65a629245 Merge Changeset: c678b0cf5f92 Author: bpatel Date: 2011-05-02 10:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c678b0cf5f92 6553182: Need to modify javadoc doclet for GPL Reviewed-by: jjg ! make/docs/Makefile Changeset: fa17f2b9a6d5 Author: sherman Date: 2011-05-02 11:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/fa17f2b9a6d5 7040220: java/char_encodin Optimize UTF-8 charset for String.getBytes()/new String(byte[]) Summary: implement sun.nio.cs.ArrayEn/Decoer in utf8 Reviewed-by: alanb ! src/share/classes/java/lang/StringCoding.java ! src/share/classes/java/util/zip/ZipCoder.java ! src/share/classes/sun/nio/cs/UTF_8.java + test/sun/nio/cs/StrCodingBenchmarkUTF8.java ! test/sun/nio/cs/TestStringCoding.java + test/sun/nio/cs/TestStringCodingUTF8.java ! test/sun/nio/cs/TestUTF8.java Changeset: bd1ffb167be0 Author: darcy Date: 2011-05-02 11:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bd1ffb167be0 7041136: Use Objects.equals in JDK platform classes Reviewed-by: alanb, mduigou ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/MetaData.java ! src/share/classes/java/net/HttpCookie.java Changeset: d08d77ad2d7b Author: weijun Date: 2011-05-03 02:48 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d08d77ad2d7b 7040151: SPNEGO GSS code does not parse tokens in accordance to RFC 2478 Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/spnego/NegTokenInit.java ! src/share/classes/sun/security/jgss/spnego/NegTokenTarg.java ! src/share/classes/sun/security/jgss/spnego/SpNegoToken.java + test/sun/security/jgss/spnego/NegTokenTargFields.java + test/sun/security/krb5/auto/SPNEGO.java Changeset: 60b4039f60f9 Author: michaelm Date: 2011-05-02 20:11 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/60b4039f60f9 7041044: InetAddress.getByName(String,InetAddress) added in error Reviewed-by: alanb ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocketPermission.java ! src/share/classes/sun/net/www/URLConnection.java ! src/share/classes/sun/net/www/http/HttpClient.java Changeset: 36724da65fef Author: michaelm Date: 2011-05-02 20:17 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/36724da65fef Merge Changeset: 827b4bb47da7 Author: jgodinez Date: 2011-05-03 22:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/827b4bb47da7 Merge - test/java/beans/XMLEncoder/java_io_File.java Changeset: 10f6986c84ad Author: jgodinez Date: 2011-05-09 12:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/10f6986c84ad Merge - test/java/beans/XMLEncoder/java_io_File.java Changeset: 32f53b3cbc65 Author: asaha Date: 2011-05-04 11:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/32f53b3cbc65 7035172: Reintroduce LICENSE file in JDK/JRE bundle Reviewed-by: billyh ! make/common/Release.gmk Changeset: 1eb466ffaccf Author: cgruszka Date: 2011-05-10 17:56 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1eb466ffaccf Merge ! make/common/Release.gmk Changeset: 89d3aea9daf2 Author: vinnie Date: 2011-05-04 20:38 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/89d3aea9daf2 6738532: Error in Elliptic Curve NamedCurve determination. (related to PKCS11) Reviewed-by: valeriep ! src/share/classes/java/security/spec/EllipticCurve.java + test/java/security/spec/EllipticCurveMatch.java Changeset: ec6e2b13330f Author: ngthomas Date: 2011-05-10 15:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ec6e2b13330f Merge - test/java/beans/XMLEncoder/java_io_File.java Changeset: 25b72781083c Author: ngthomas Date: 2011-05-10 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/25b72781083c Merge Changeset: 0f4a9ce78cf9 Author: trims Date: 2011-05-10 18:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0f4a9ce78cf9 Merge Changeset: 7d36a6a37251 Author: ohair Date: 2011-05-05 15:23 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7d36a6a37251 Merge Changeset: 7bb810bddddd Author: ohair Date: 2011-05-06 10:41 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7bb810bddddd Merge Changeset: 62e8094052eb Author: ohair Date: 2011-05-06 15:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/62e8094052eb Merge Changeset: 69a4dd09ba46 Author: ohair Date: 2011-05-10 17:42 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/69a4dd09ba46 Merge Changeset: a8e0571232c4 Author: mfang Date: 2011-05-06 10:07 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/a8e0571232c4 7021691: Most log level words are not translated in java logging Reviewed-by: yhuang ! src/share/classes/sun/util/logging/resources/logging_de.properties ! src/share/classes/sun/util/logging/resources/logging_es.properties ! src/share/classes/sun/util/logging/resources/logging_fr.properties ! src/share/classes/sun/util/logging/resources/logging_it.properties ! src/share/classes/sun/util/logging/resources/logging_ja.properties ! src/share/classes/sun/util/logging/resources/logging_ko.properties ! src/share/classes/sun/util/logging/resources/logging_pt_BR.properties ! src/share/classes/sun/util/logging/resources/logging_sv.properties ! src/share/classes/sun/util/logging/resources/logging_zh_CN.properties ! src/share/classes/sun/util/logging/resources/logging_zh_TW.properties Changeset: 481e358abc98 Author: mfang Date: 2011-05-10 12:31 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/481e358abc98 7043580: integrate man page translation drop 2 into jdk7 Reviewed-by: yhuang ! src/linux/doc/man/ja/appletviewer.1 ! src/linux/doc/man/ja/apt.1 ! src/linux/doc/man/ja/extcheck.1 ! src/linux/doc/man/ja/idlj.1 ! src/linux/doc/man/ja/jar.1 ! src/linux/doc/man/ja/jarsigner.1 ! src/linux/doc/man/ja/java.1 ! src/linux/doc/man/ja/javac.1 ! src/linux/doc/man/ja/javadoc.1 ! src/linux/doc/man/ja/javah.1 ! src/linux/doc/man/ja/javap.1 ! src/linux/doc/man/ja/javaws.1 ! src/linux/doc/man/ja/jconsole.1 ! src/linux/doc/man/ja/jdb.1 ! src/linux/doc/man/ja/jhat.1 ! src/linux/doc/man/ja/jinfo.1 ! src/linux/doc/man/ja/jmap.1 ! src/linux/doc/man/ja/jps.1 ! src/linux/doc/man/ja/jrunscript.1 ! src/linux/doc/man/ja/jsadebugd.1 ! src/linux/doc/man/ja/jstack.1 ! src/linux/doc/man/ja/jstat.1 ! src/linux/doc/man/ja/jstatd.1 ! src/linux/doc/man/ja/jvisualvm.1 ! src/linux/doc/man/ja/keytool.1 ! src/linux/doc/man/ja/native2ascii.1 ! src/linux/doc/man/ja/orbd.1 ! src/linux/doc/man/ja/pack200.1 ! src/linux/doc/man/ja/policytool.1 ! src/linux/doc/man/ja/rmic.1 ! src/linux/doc/man/ja/rmid.1 ! src/linux/doc/man/ja/rmiregistry.1 ! src/linux/doc/man/ja/schemagen.1 ! src/linux/doc/man/ja/serialver.1 ! src/linux/doc/man/ja/servertool.1 ! src/linux/doc/man/ja/tnameserv.1 ! src/linux/doc/man/ja/unpack200.1 ! src/linux/doc/man/ja/wsgen.1 ! src/linux/doc/man/ja/wsimport.1 ! src/linux/doc/man/ja/xjc.1 ! src/solaris/doc/sun/man/man1/ja/appletviewer.1 ! src/solaris/doc/sun/man/man1/ja/apt.1 ! src/solaris/doc/sun/man/man1/ja/extcheck.1 ! src/solaris/doc/sun/man/man1/ja/idlj.1 ! src/solaris/doc/sun/man/man1/ja/jar.1 ! src/solaris/doc/sun/man/man1/ja/jarsigner.1 ! src/solaris/doc/sun/man/man1/ja/java.1 ! src/solaris/doc/sun/man/man1/ja/javac.1 ! src/solaris/doc/sun/man/man1/ja/javadoc.1 ! src/solaris/doc/sun/man/man1/ja/javah.1 ! src/solaris/doc/sun/man/man1/ja/javap.1 ! src/solaris/doc/sun/man/man1/ja/javaws.1 ! src/solaris/doc/sun/man/man1/ja/jconsole.1 ! src/solaris/doc/sun/man/man1/ja/jdb.1 ! src/solaris/doc/sun/man/man1/ja/jhat.1 ! src/solaris/doc/sun/man/man1/ja/jinfo.1 ! src/solaris/doc/sun/man/man1/ja/jmap.1 ! src/solaris/doc/sun/man/man1/ja/jps.1 ! src/solaris/doc/sun/man/man1/ja/jrunscript.1 ! src/solaris/doc/sun/man/man1/ja/jsadebugd.1 ! src/solaris/doc/sun/man/man1/ja/jstack.1 ! src/solaris/doc/sun/man/man1/ja/jstat.1 ! src/solaris/doc/sun/man/man1/ja/jstatd.1 ! src/solaris/doc/sun/man/man1/ja/jvisualvm.1 ! src/solaris/doc/sun/man/man1/ja/keytool.1 ! src/solaris/doc/sun/man/man1/ja/native2ascii.1 ! src/solaris/doc/sun/man/man1/ja/orbd.1 ! src/solaris/doc/sun/man/man1/ja/pack200.1 ! src/solaris/doc/sun/man/man1/ja/policytool.1 ! src/solaris/doc/sun/man/man1/ja/rmic.1 ! src/solaris/doc/sun/man/man1/ja/rmid.1 ! src/solaris/doc/sun/man/man1/ja/rmiregistry.1 ! src/solaris/doc/sun/man/man1/ja/schemagen.1 ! src/solaris/doc/sun/man/man1/ja/serialver.1 ! src/solaris/doc/sun/man/man1/ja/servertool.1 ! src/solaris/doc/sun/man/man1/ja/tnameserv.1 ! src/solaris/doc/sun/man/man1/ja/unpack200.1 ! src/solaris/doc/sun/man/man1/ja/wsgen.1 ! src/solaris/doc/sun/man/man1/ja/wsimport.1 ! src/solaris/doc/sun/man/man1/ja/xjc.1 Changeset: 357395bc17ab Author: mfang Date: 2011-05-10 13:08 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/357395bc17ab 7042323: [sv, de, es, it] Print dialog has duplicate mnemonic key Reviewed-by: yhuang ! src/share/classes/sun/print/resources/serviceui_de.properties ! src/share/classes/sun/print/resources/serviceui_es.properties ! src/share/classes/sun/print/resources/serviceui_it.properties ! src/share/classes/sun/print/resources/serviceui_sv.properties Changeset: 98292f06cd7e Author: mfang Date: 2011-05-10 14:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/98292f06cd7e 7028447: security-related resources Chinese translation errors Reviewed-by: weijun ! src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java ! src/share/classes/sun/security/util/Resources_zh_CN.java Changeset: 2dd7fb82f40e Author: mfang Date: 2011-05-10 14:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2dd7fb82f40e 7042475: [ja,zh_CN] extra mnemonic key in jconsole Reviewed-by: yhuang ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java ! src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java Changeset: 3d39f994d6ff Author: mfang Date: 2011-05-10 14:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/3d39f994d6ff 7038807: [CCJK] OK button on message dialog of JOptionpane is not translated Reviewed-by: yhuang ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Changeset: be418afb1b2e Author: mfang Date: 2011-05-10 16:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/be418afb1b2e 7043548: message drop 3 translation integration Reviewed-by: yhuang ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties ! src/share/classes/sun/awt/resources/awt_es.properties ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/rmi/server/resources/rmid_es.properties ! src/share/classes/sun/security/tools/JarSignerResources_ja.java ! src/share/classes/sun/security/util/AuthResources_de.java ! src/share/classes/sun/security/util/AuthResources_es.java ! src/share/classes/sun/security/util/AuthResources_fr.java ! src/share/classes/sun/security/util/AuthResources_it.java ! src/share/classes/sun/security/util/AuthResources_ja.java ! src/share/classes/sun/security/util/AuthResources_ko.java ! src/share/classes/sun/security/util/AuthResources_pt_BR.java ! src/share/classes/sun/security/util/AuthResources_sv.java ! src/share/classes/sun/security/util/AuthResources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/share/classes/sun/security/util/Resources_de.java ! src/share/classes/sun/security/util/Resources_es.java ! src/share/classes/sun/security/util/Resources_fr.java ! src/share/classes/sun/security/util/Resources_it.java ! src/share/classes/sun/security/util/Resources_ja.java ! src/share/classes/sun/security/util/Resources_ko.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/security/util/Resources_sv.java ! src/share/classes/sun/security/util/Resources_zh_TW.java Changeset: 78f2f50bca1f Author: mfang Date: 2011-05-10 19:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/78f2f50bca1f Merge Changeset: 42c22d5a2cd0 Author: bpatel Date: 2011-05-11 08:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/42c22d5a2cd0 7043684: Update man pages for JDK 7 tools Reviewed-by: skannan ! src/linux/doc/man/appletviewer.1 ! src/linux/doc/man/apt.1 ! src/linux/doc/man/extcheck.1 ! src/linux/doc/man/idlj.1 ! src/linux/doc/man/jar.1 ! src/linux/doc/man/jarsigner.1 ! src/linux/doc/man/java.1 ! src/linux/doc/man/javac.1 ! src/linux/doc/man/javadoc.1 ! src/linux/doc/man/javah.1 ! src/linux/doc/man/javap.1 ! src/linux/doc/man/javaws.1 ! src/linux/doc/man/jconsole.1 ! src/linux/doc/man/jdb.1 ! src/linux/doc/man/jhat.1 ! src/linux/doc/man/jinfo.1 ! src/linux/doc/man/jmap.1 ! src/linux/doc/man/jps.1 ! src/linux/doc/man/jrunscript.1 ! src/linux/doc/man/jsadebugd.1 ! src/linux/doc/man/jstack.1 ! src/linux/doc/man/jstat.1 ! src/linux/doc/man/jstatd.1 + src/linux/doc/man/jvisualvm.1 ! src/linux/doc/man/keytool.1 ! src/linux/doc/man/native2ascii.1 ! src/linux/doc/man/orbd.1 ! src/linux/doc/man/pack200.1 ! src/linux/doc/man/policytool.1 ! src/linux/doc/man/rmic.1 ! src/linux/doc/man/rmid.1 ! src/linux/doc/man/rmiregistry.1 ! src/linux/doc/man/schemagen.1 ! src/linux/doc/man/serialver.1 ! src/linux/doc/man/servertool.1 ! src/linux/doc/man/tnameserv.1 ! src/linux/doc/man/unpack200.1 ! src/linux/doc/man/wsgen.1 ! src/linux/doc/man/wsimport.1 ! src/linux/doc/man/xjc.1 ! src/solaris/doc/sun/man/man1/appletviewer.1 ! src/solaris/doc/sun/man/man1/apt.1 ! src/solaris/doc/sun/man/man1/extcheck.1 ! src/solaris/doc/sun/man/man1/idlj.1 ! src/solaris/doc/sun/man/man1/jar.1 ! src/solaris/doc/sun/man/man1/jarsigner.1 ! src/solaris/doc/sun/man/man1/java.1 ! src/solaris/doc/sun/man/man1/javac.1 ! src/solaris/doc/sun/man/man1/javadoc.1 ! src/solaris/doc/sun/man/man1/javah.1 ! src/solaris/doc/sun/man/man1/javap.1 ! src/solaris/doc/sun/man/man1/javaws.1 ! src/solaris/doc/sun/man/man1/jconsole.1 ! src/solaris/doc/sun/man/man1/jdb.1 ! src/solaris/doc/sun/man/man1/jhat.1 ! src/solaris/doc/sun/man/man1/jinfo.1 ! src/solaris/doc/sun/man/man1/jmap.1 ! src/solaris/doc/sun/man/man1/jps.1 ! src/solaris/doc/sun/man/man1/jrunscript.1 ! src/solaris/doc/sun/man/man1/jsadebugd.1 ! src/solaris/doc/sun/man/man1/jstack.1 ! src/solaris/doc/sun/man/man1/jstat.1 ! src/solaris/doc/sun/man/man1/jstatd.1 + src/solaris/doc/sun/man/man1/jvisualvm.1 ! src/solaris/doc/sun/man/man1/keytool.1 ! src/solaris/doc/sun/man/man1/native2ascii.1 ! src/solaris/doc/sun/man/man1/orbd.1 ! src/solaris/doc/sun/man/man1/pack200.1 ! src/solaris/doc/sun/man/man1/policytool.1 ! src/solaris/doc/sun/man/man1/rmic.1 ! src/solaris/doc/sun/man/man1/rmid.1 ! src/solaris/doc/sun/man/man1/rmiregistry.1 ! src/solaris/doc/sun/man/man1/schemagen.1 ! src/solaris/doc/sun/man/man1/serialver.1 ! src/solaris/doc/sun/man/man1/servertool.1 ! src/solaris/doc/sun/man/man1/tnameserv.1 ! src/solaris/doc/sun/man/man1/unpack200.1 ! src/solaris/doc/sun/man/man1/wsgen.1 ! src/solaris/doc/sun/man/man1/wsimport.1 ! src/solaris/doc/sun/man/man1/xjc.1 Changeset: 245d9754f487 Author: mfang Date: 2011-05-11 12:53 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/245d9754f487 7004603: L10n needed for newly added codes in LocaleNames Reviewed-by: naoto ! src/share/classes/sun/util/resources/LocaleNames_de.properties ! src/share/classes/sun/util/resources/LocaleNames_es.properties ! src/share/classes/sun/util/resources/LocaleNames_fr.properties ! src/share/classes/sun/util/resources/LocaleNames_it.properties ! src/share/classes/sun/util/resources/LocaleNames_ja.properties ! src/share/classes/sun/util/resources/LocaleNames_ko.properties ! src/share/classes/sun/util/resources/LocaleNames_sv.properties ! src/share/classes/sun/util/resources/LocaleNames_zh.properties ! src/share/classes/sun/util/resources/LocaleNames_zh_TW.properties Changeset: 2bbb5d2b419f Author: mfang Date: 2011-05-11 12:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2bbb5d2b419f Merge Changeset: caed82420c5d Author: mfang Date: 2011-05-11 14:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/caed82420c5d 7044019: LocaleEnhanceTest.java needs to be updated for 7004603 Reviewed-by: naoto ! test/java/util/Locale/LocaleEnhanceTest.java Changeset: 312612e89ece Author: schien Date: 2011-05-11 18:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/312612e89ece Merge Changeset: 2e430b88b949 Author: schien Date: 2011-05-12 17:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2e430b88b949 Added tag jdk7-b142 for changeset 312612e89ece ! .hgtags Changeset: 21cd37d96098 Author: trims Date: 2011-05-17 14:29 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/21cd37d96098 Merge Changeset: 13fa9a0c628f Author: ohair Date: 2011-05-12 07:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/13fa9a0c628f 7043921: generate java-rmi.cgi on 64 bit platform Reviewed-by: omajid, katleman ! make/sun/rmi/rmi/Makefile Changeset: cb71f8f695f5 Author: ohair Date: 2011-05-12 07:28 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cb71f8f695f5 Merge Changeset: d2c99ad6ab55 Author: ohair Date: 2011-05-12 17:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d2c99ad6ab55 Merge Changeset: 1be8850c7005 Author: schien Date: 2011-05-18 16:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1be8850c7005 Merge Changeset: 85f53467c30c Author: flar Date: 2011-05-10 15:59 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/85f53467c30c 7040717: Test case for 6522514 was not included in bug fix Reviewed-by: prr + test/java/awt/geom/Arc2D/SerializationTest.java Changeset: f290441b0cb7 Author: flar Date: 2011-05-11 16:12 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f290441b0cb7 7043054: REGRESSION: JDK 7 b126 : Wrong userBounds in Paint.createContext() Reviewed-by: prr ! src/share/classes/sun/java2d/opengl/OGLRenderer.java ! src/share/classes/sun/java2d/pipe/AAShapePipe.java ! src/share/classes/sun/java2d/pipe/AlphaColorPipe.java ! src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java ! src/share/classes/sun/java2d/pipe/LoopPipe.java ! src/share/classes/sun/java2d/pipe/ParallelogramPipe.java ! src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java ! src/windows/classes/sun/java2d/d3d/D3DRenderer.java + test/java/awt/Paint/PgramUserBoundsTest.java Changeset: 43e54e60d261 Author: lana Date: 2011-05-14 11:52 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/43e54e60d261 Merge - src/share/classes/sun/security/util/SignatureFileManifest.java - test/java/beans/XMLEncoder/java_io_File.java Changeset: 59aadf63f2a7 Author: prr Date: 2011-05-16 15:38 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/59aadf63f2a7 7044682: Image I/O JPEG Metadata spec. should document that PhotoYCC ColorSpace interpretation is optional. Reviewed-by: flar ! src/share/classes/javax/imageio/metadata/doc-files/jpeg_metadata.html Changeset: 1b154e3ab359 Author: dav Date: 2011-05-04 14:46 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/1b154e3ab359 7040577: Default implementation of Toolkit.loadSystemColors(int[]) and many others doesn't throw HE in hl env Reviewed-by: dcherepanov, denis ! src/share/classes/java/awt/Toolkit.java + test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java Changeset: 997f464f8446 Author: bagiras Date: 2011-05-10 17:56 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/997f464f8446 7035053: java/awt/event/MouseWheelEvent/DisabledComponent/DisabledComponent.java fails against jdk7 b134 Reviewed-by: art, denis, ant, dcherepanov ! src/windows/native/sun/windows/awt_Choice.cpp ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Frame.cpp Changeset: dde5cc0d768c Author: anthony Date: 2011-05-10 18:28 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dde5cc0d768c 7041387: Introduce new boolean system property java.awt.smartInvalidate Summary: The behavior introduced with 6852592 is now enabled by the new system property only Reviewed-by: dcherepanov ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! test/java/awt/Component/Revalidate/Revalidate.java ! test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java Changeset: bcc961336f77 Author: dav Date: 2011-05-11 15:00 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bcc961336f77 7042429: jdk 7 b140: crashes in awt.dll+0xb85fb] Java_sun_awt_Win32GraphicsEnvironment_isVistaOS+0xfdf Reviewed-by: bae, dcherepanov ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp ! src/windows/native/sun/windows/Devices.h Changeset: 4a5bb1f16cb4 Author: anthony Date: 2011-05-11 17:51 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/4a5bb1f16cb4 7043455: Taking a screenshot may fail on X11 after 6903034 Summary: Backout 6903034 Reviewed-by: art, dcherepanov ! make/sun/xawt/mapfile-vers ! src/solaris/classes/sun/awt/X11/XRobotPeer.java ! src/solaris/native/sun/awt/awt_Robot.c Changeset: 84ad07aece8c Author: dav Date: 2011-05-13 19:49 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/84ad07aece8c 7042537: When press the 'Print' button,the NullPointerException is thrown and printdialog is not pop up. Reviewed-by: dcherepanov, art ! src/share/classes/java/awt/Toolkit.java Changeset: 368e1da134aa Author: lana Date: 2011-05-14 16:51 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/368e1da134aa Merge - src/share/classes/sun/security/util/SignatureFileManifest.java ! src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp - test/java/beans/XMLEncoder/java_io_File.java Changeset: 0b7f41c14605 Author: dcherepanov Date: 2011-05-16 18:40 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/0b7f41c14605 7010721: Frame#setMaximizedbounds not working properly on dual screen environment Reviewed-by: art, anthony ! src/windows/classes/sun/awt/windows/WFramePeer.java Changeset: 52a9555dbbb1 Author: lana Date: 2011-05-16 18:15 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/52a9555dbbb1 Merge Changeset: ea6bd2607399 Author: rupashka Date: 2011-05-04 10:20 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/ea6bd2607399 7031551: Generics: JComboBox Reviewed-by: alexp, malenkov ! src/share/classes/javax/swing/ComboBoxModel.java ! src/share/classes/javax/swing/DefaultComboBoxModel.java ! src/share/classes/javax/swing/JComboBox.java ! src/share/classes/javax/swing/MutableComboBoxModel.java ! src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java + test/javax/swing/JComboBox/7031551/bug7031551.java Changeset: adbbfd2e661c Author: dav Date: 2011-05-06 16:01 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/adbbfd2e661c 6894541: javax/swing/JTable/6788484/bug6788484.java fails w/ compilation errors. Reviewed-by: alexp ! test/javax/swing/JTable/6788484/bug6788484.java Changeset: 523ad3855e03 Author: kizune Date: 2011-05-10 17:06 +0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/523ad3855e03 7034619: Scrollable Tabs don't appear with JDK7 Synth based LaF, different from Java 5/6 Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Changeset: e122346f8e2d Author: peytoia Date: 2011-05-11 08:02 +0900 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e122346f8e2d 7041232: IllegalArgumentException in sun.text.bidi.BidiBase.setLine starting from JDK 7 b64 Reviewed-by: okutsu ! src/share/classes/sun/text/bidi/BidiBase.java + test/java/text/Bidi/Bug7041232.java Changeset: 5030057f8b4c Author: lana Date: 2011-05-14 15:21 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5030057f8b4c Merge - src/share/classes/sun/security/util/SignatureFileManifest.java - test/java/beans/XMLEncoder/java_io_File.java Changeset: 2a580e14e428 Author: lana Date: 2011-05-16 18:17 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2a580e14e428 Merge Changeset: 85cbf90d88b9 Author: darcy Date: 2011-05-06 17:06 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/85cbf90d88b9 7011326: Add informative example to @SafeVarargs type or language discussion Reviewed-by: mcimadamore, mduigou ! src/share/classes/java/lang/SafeVarargs.java Changeset: d93f6b6b986b Author: alanb Date: 2011-05-09 01:47 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d93f6b6b986b Merge Changeset: dfe56edc1a1d Author: alanb Date: 2011-05-09 01:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dfe56edc1a1d Merge Changeset: 31fbed875a6b Author: vinnie Date: 2011-05-09 15:58 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/31fbed875a6b 6987652: VM crashed in sun.security.mscapi.RSAKeyPairGenerator.generateRSAKeyPair(...) Reviewed-by: alanb ! src/windows/native/sun/security/mscapi/security.cpp Changeset: c6742d21853b Author: dl Date: 2011-05-09 16:36 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c6742d21853b 7042673: LockSupport.getBlocker(null) crashes Reviewed-by: chegar ! src/share/classes/java/util/concurrent/locks/LockSupport.java Changeset: 7c9780ea0c5a Author: mduigou Date: 2011-05-03 16:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/7c9780ea0c5a 7041612: Rename StandardCharset to StandardCharsets Reviewed-by: alanb, mr, darcy ! make/java/nio/FILES_java.gmk ! src/share/classes/java/nio/charset/Charset.java - src/share/classes/java/nio/charset/StandardCharset.java + src/share/classes/java/nio/charset/StandardCharsets.java ! src/share/classes/java/nio/file/Path.java ! src/share/classes/java/util/zip/ZipCoder.java ! src/share/classes/java/util/zip/ZipFile.java ! src/share/classes/java/util/zip/ZipInputStream.java ! src/share/classes/java/util/zip/ZipOutputStream.java ! src/share/classes/sun/awt/FontDescriptor.java Changeset: 5dceeea3bb99 Author: mduigou Date: 2011-05-09 08:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5dceeea3bb99 Merge Changeset: bd8c10d1db87 Author: mduigou Date: 2011-05-09 09:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/bd8c10d1db87 7043104: disable test java/lang/invoke/InvokeDynamicPrintArgs.java Reviewed-by: alanb ! test/ProblemList.txt Changeset: dc497a55daa1 Author: alanb Date: 2011-05-09 18:45 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dc497a55daa1 7042979: Rename StandardSocketOption and StandardWatchEventKind Reviewed-by: forax, chegar ! make/com/sun/nio/sctp/FILES_java.gmk ! make/java/nio/FILES_java.gmk ! src/share/classes/com/sun/nio/sctp/MessageInfo.java ! src/share/classes/com/sun/nio/sctp/SctpChannel.java ! src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java ! src/share/classes/com/sun/nio/sctp/SctpServerChannel.java ! src/share/classes/com/sun/nio/sctp/SctpSocketOption.java - src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java + src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java ! src/share/classes/java/net/SocketOption.java - src/share/classes/java/net/StandardSocketOption.java + src/share/classes/java/net/StandardSocketOptions.java ! src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java ! src/share/classes/java/nio/channels/AsynchronousSocketChannel.java ! src/share/classes/java/nio/channels/DatagramChannel.java ! src/share/classes/java/nio/channels/MulticastChannel.java ! src/share/classes/java/nio/channels/NetworkChannel.java ! src/share/classes/java/nio/channels/ServerSocketChannel.java ! src/share/classes/java/nio/channels/SocketChannel.java ! src/share/classes/java/nio/file/Path.java - src/share/classes/java/nio/file/StandardWatchEventKind.java + src/share/classes/java/nio/file/StandardWatchEventKinds.java ! src/share/classes/java/nio/file/WatchEvent.java ! src/share/classes/java/nio/file/WatchService.java ! src/share/classes/java/nio/file/Watchable.java ! src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java ! src/share/classes/sun/nio/ch/ExtendedSocketOption.java ! src/share/classes/sun/nio/ch/Net.java ! src/share/classes/sun/nio/ch/ServerSocketAdaptor.java ! src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java ! src/share/classes/sun/nio/ch/SocketAdaptor.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/share/classes/sun/nio/fs/AbstractPoller.java ! src/share/classes/sun/nio/fs/AbstractWatchKey.java ! src/share/classes/sun/nio/fs/PollingWatchService.java ! src/share/native/sun/nio/ch/genSocketOptionRegistry.c ! src/share/sample/nio/chatserver/ChatServer.java ! src/share/sample/nio/file/WatchDir.java ! src/share/sample/nio/multicast/Reader.java ! src/share/sample/nio/multicast/Sender.java ! src/solaris/classes/sun/nio/ch/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java ! src/solaris/classes/sun/nio/ch/SctpNet.java ! src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java ! src/solaris/classes/sun/nio/fs/LinuxWatchService.java ! src/solaris/classes/sun/nio/fs/SolarisWatchService.java ! src/windows/classes/sun/nio/fs/WindowsWatchService.java ! test/com/sun/nio/sctp/SctpChannel/SocketOptionTests.java ! test/com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java ! test/java/nio/channels/AsynchronousServerSocketChannel/Basic.java ! test/java/nio/channels/AsynchronousSocketChannel/Basic.java ! test/java/nio/channels/DatagramChannel/BasicMulticastTests.java ! test/java/nio/channels/DatagramChannel/MulticastSendReceiveTests.java ! test/java/nio/channels/DatagramChannel/SocketOptionTests.java ! test/java/nio/channels/ServerSocketChannel/SocketOptionTests.java ! test/java/nio/channels/SocketChannel/Shutdown.java ! test/java/nio/channels/SocketChannel/SocketOptionTests.java ! test/java/nio/file/Files/CheckPermissions.java ! test/java/nio/file/WatchService/Basic.java ! test/java/nio/file/WatchService/FileTreeModifier.java ! test/java/nio/file/WatchService/LotsOfEvents.java ! test/java/nio/file/WatchService/SensitivityModifier.java ! test/java/nio/file/WatchService/WithSecurityManager.java Changeset: dec7961ff53f Author: alanb Date: 2011-05-09 18:53 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/dec7961ff53f Merge Changeset: 05939afe3fc2 Author: naoto Date: 2011-05-09 13:30 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/05939afe3fc2 7041950: Fix copyright Reviewed-by: okutsu ! src/share/classes/sun/text/resources/BreakIteratorRules_th.java Changeset: 9f56fbc8b6be Author: weijun Date: 2011-05-10 07:00 +0800 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9f56fbc8b6be 7041635: GSSContextSpi.java copyright notice error Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/spi/GSSContextSpi.java Changeset: f4d804b21217 Author: darcy Date: 2011-05-09 17:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f4d804b21217 7021645: Project Coin: Minor improvements to java.lang.Throwable Reviewed-by: mduigou ! src/share/classes/java/lang/Throwable.java Changeset: 6a3a41e0af88 Author: lancea Date: 2011-05-10 14:41 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/6a3a41e0af88 7043443: address missed reason initialization in BatchUpdateException Reviewed-by: alanb ! src/share/classes/java/sql/BatchUpdateException.java Changeset: e941ff30d005 Author: mduigou Date: 2011-05-10 10:16 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e941ff30d005 7043513: Update test for StandardCharsets Reviewed-by: alanb - test/java/nio/charset/StandardCharset/Standard.java + test/java/nio/charset/StandardCharsets/Standard.java Changeset: 2147ec13c98e Author: mduigou Date: 2011-05-10 12:14 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2147ec13c98e Merge - test/java/nio/charset/StandardCharset/Standard.java Changeset: 11ef1f1bd7ca Author: alanb Date: 2011-05-11 14:57 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/11ef1f1bd7ca 7043425: (fc) ClosedByInterruptException thrown but interrupt status not set Reviewed-by: dholmes, chegar ! src/share/classes/sun/nio/ch/NativeThreadSet.java ! test/java/nio/channels/FileChannel/ClosedByInterrupt.java Changeset: f91c799f7bfb Author: alanb Date: 2011-05-11 15:00 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/f91c799f7bfb 7043788: (fs) PosixFileAttributes.owner() or group() throws NPE if owner/group not in passwd/group database Reviewed-by: chegar ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c Changeset: 501ca93ea3ef Author: sherman Date: 2011-05-11 08:54 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/501ca93ea3ef 7043234: (fmt) java.util.Formatter links in javadoc to BigDecimal need to be fixed Summary: fixed the doc miss Reviewed-by: alanb, emcmanus ! src/share/classes/java/util/Formatter.java Changeset: 831017d8fbcf Author: kamg Date: 2011-05-11 20:18 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/831017d8fbcf 6659215: javax.management.timer.Timer frequently fails to start Summary: Copy array to avoid ConcurrentModificationException Reviewed-by: dcubed, alanb ! src/share/classes/javax/management/timer/Timer.java + test/javax/management/timer/StartTest.java Changeset: 99156e4f26ea Author: xuelei Date: 2011-05-11 20:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/99156e4f26ea 7043514: NPE in sun.security.ssl.JsseJce.isEcAvailable Reviewed-by: weijun, vinnie, wetmore ! src/share/classes/sun/security/ssl/JsseJce.java Changeset: d498e50ae62d Author: kamg Date: 2011-05-12 08:17 -0400 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d498e50ae62d 7044203: Missing @test tag in test/javax/management/timer/StartTest.java Summary: Add tag Reviewed-by: alanb ! test/javax/management/timer/StartTest.java Changeset: 8daf9e0c9a2e Author: fparain Date: 2011-05-13 13:20 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/8daf9e0c9a2e 7031754: javax.management docs need to be updated to replace Java SE 6 occurrences Summary: Remove references to a specific version of the Java Platform Reviewed-by: mchung, kamg ! src/share/classes/javax/management/loading/package.html ! src/share/classes/javax/management/modelmbean/package.html ! src/share/classes/javax/management/monitor/package.html ! src/share/classes/javax/management/openmbean/package.html ! src/share/classes/javax/management/package.html ! src/share/classes/javax/management/relation/package.html ! src/share/classes/javax/management/remote/package.html Changeset: d830ec851cee Author: sherman Date: 2011-05-14 11:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/d830ec851cee 7044849: Constructs for Unicode binary properties should be \p{IsXXX} not p{isXXX} Summary: fixed the doc typo Reviewed-by: alanb ! src/share/classes/java/util/regex/Pattern.java Changeset: 07b5cc7d4c84 Author: lana Date: 2011-05-14 11:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/07b5cc7d4c84 Merge Changeset: 55339371da15 Author: lana Date: 2011-05-14 14:55 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/55339371da15 Merge Changeset: cecfcb4dbcaa Author: chegar Date: 2011-05-16 13:10 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/cecfcb4dbcaa 7042679: Phaser javadoc example does not compile Reviewed-by: dl ! src/share/classes/java/util/concurrent/Phaser.java Changeset: e0c3fd538f1f Author: fparain Date: 2011-05-16 17:28 +0200 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/e0c3fd538f1f 7036199: Adding a notification to the implementation of GarbageCollectorMXBeans Summary: Add a JMX notification to GarbageCollectorMXBeans Reviewed-by: acorn, mchung ! make/java/management/mapfile-vers + src/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java + src/share/classes/sun/management/GarbageCollectionNotifInfoCompositeData.java ! src/share/classes/sun/management/GarbageCollectorImpl.java ! src/share/classes/sun/management/GcInfoCompositeData.java ! src/share/classes/sun/management/MemoryManagerImpl.java ! src/share/classes/sun/management/VMManagement.java ! src/share/classes/sun/management/VMManagementImpl.java ! src/share/javavm/export/jmm.h ! src/share/native/sun/management/GarbageCollectorImpl.c ! src/share/native/sun/management/VMManagementImpl.c + test/com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java + test/com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationTest.java Changeset: 2ecb989b6fcc Author: dcubed Date: 2011-05-16 12:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/2ecb989b6fcc 6977677: 3/2 Deadlock on logging subsystem initialization Summary: Over synchronized Logger.getLogger() deadlocks with LogManager.via PlatformLogger Reviewed-by: dsamersoff, never, acorn, mchung ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/LoggingDeadlock4.java Changeset: b2db38eb3b13 Author: dcubed Date: 2011-05-16 12:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/b2db38eb3b13 7016208: 4/3 null sometimes returned by java.util.logging.Logger.getLogger(String name) in -server -Xcomp Summary: Logger can be GC'ed between LogManager.addLogger() and LogManager.getLogger() Reviewed-by: dsamersoff, never, acorn, mchung ! src/share/classes/java/util/logging/LogManager.java Changeset: 9861df231e9e Author: dcubed Date: 2011-05-16 12:58 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/9861df231e9e 7041595: 4/4 add lost test for 6487638 Summary: Add missing LoggingDeadlock3.java and LoggingDeadlock3.props Reviewed-by: dsamersoff, never, acorn, mchung + test/java/util/logging/LoggingDeadlock3.java + test/java/util/logging/LoggingDeadlock3.props Changeset: 5b38ed5f5eb4 Author: lana Date: 2011-05-16 18:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5b38ed5f5eb4 Merge - src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java - src/share/classes/java/net/StandardSocketOption.java - src/share/classes/java/nio/charset/StandardCharset.java - src/share/classes/java/nio/file/StandardWatchEventKind.java - test/java/nio/charset/StandardCharset/Standard.java Changeset: 65dd04c9ee64 Author: darcy Date: 2011-05-18 16:49 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/65dd04c9ee64 7045138: OutOfMemoryError thrown without stack trace in jdk7-b142 Reviewed-by: dholmes, mchung ! src/share/classes/java/lang/Throwable.java Changeset: 366fcac7ee01 Author: lana Date: 2011-05-18 17:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/366fcac7ee01 Merge Changeset: efbf75c24b0f Author: lana Date: 2011-05-18 18:18 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/efbf75c24b0f Merge - src/share/classes/com/sun/nio/sctp/SctpStandardSocketOption.java - src/share/classes/java/net/StandardSocketOption.java - src/share/classes/java/nio/charset/StandardCharset.java - src/share/classes/java/nio/file/StandardWatchEventKind.java - test/java/nio/charset/StandardCharset/Standard.java Changeset: 5f69702cf570 Author: schien Date: 2011-05-20 16:04 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/5f69702cf570 Added tag jdk7-b143 for changeset efbf75c24b0f ! .hgtags Changeset: be4b9e596352 Author: trims Date: 2011-05-20 05:24 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/be4b9e596352 Merge Changeset: 127560d6f6e6 Author: trims Date: 2011-05-24 14:11 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/127560d6f6e6 Merge Changeset: 23bdcede4e39 Author: katleman Date: 2011-05-25 13:32 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/23bdcede4e39 7044486: open jdk repos have files with incorrect copyright headers, which can end up in src bundles Reviewed-by: ohair, trims ! src/linux/doc/man/ja/keytool.1 ! src/linux/doc/man/keytool.1 ! src/share/classes/java/io/SerialCallbackContext.java ! src/share/classes/sun/io/ByteToCharCp833.java ! src/share/classes/sun/io/CharToByteCp833.java ! src/share/classes/sun/misc/FpUtils.java ! src/share/classes/sun/security/provider/certpath/URICertStore.java ! src/solaris/doc/sun/man/man1/ja/keytool.1 ! src/solaris/doc/sun/man/man1/keytool.1 ! test/com/sun/net/httpserver/Test10.java ! test/java/awt/List/ScrollOutside/ScrollOut.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_1.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.java ! test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_4.java ! test/java/awt/image/IncorrectSampleMaskTest.java ! test/java/lang/invoke/MethodTypeTest.java ! test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java ! test/java/util/EnumMap/DistinctEntrySetElements.java ! test/java/util/EnumMap/EntrySetIteratorRemoveInvalidatesEntry.java ! test/java/util/EnumMap/SimpleSerialization.java ! test/java/util/EnumSet/LargeEnumIteratorRemoveResilience.java ! test/java/util/EnumSet/SmallEnumIteratorRemoveResilience.java ! test/java/util/Hashtable/SerializationDeadlock.java ! test/java/util/Hashtable/SimpleSerialization.java ! test/java/util/IdentityHashMap/DistinctEntrySetElements.java ! test/java/util/IdentityHashMap/EntrySetIteratorRemoveInvalidatesEntry.java ! test/java/util/Vector/SerializationDeadlock.java ! test/java/util/Vector/SimpleSerialization.java ! test/java/util/concurrent/ConcurrentHashMap/DistinctEntrySetElements.java ! test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java ! test/sun/net/InetAddress/nameservice/chaining/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor ! test/tools/launcher/TestHelper.java ! test/tools/pack200/CommandLineTests.java ! test/tools/pack200/Pack200Test.java ! test/tools/pack200/Utils.java From john.coomes at oracle.com Fri May 27 01:39:21 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 08:39:21 +0000 Subject: hg: jdk7/hotspot-comp: Added tag jdk7-b144 for changeset 7203965666a4 Message-ID: <20110527083921.1E6FE4797A@hg.openjdk.java.net> Changeset: 4373d87e6f37 Author: schien Date: 2011-05-26 20:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/rev/4373d87e6f37 Added tag jdk7-b144 for changeset 7203965666a4 ! .hgtags From john.coomes at oracle.com Fri May 27 01:39:28 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 08:39:28 +0000 Subject: hg: jdk7/hotspot-comp/corba: Added tag jdk7-b144 for changeset 7033a5756ad5 Message-ID: <20110527083930.3C7954797B@hg.openjdk.java.net> Changeset: 74eb715474f2 Author: schien Date: 2011-05-26 20:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/corba/rev/74eb715474f2 Added tag jdk7-b144 for changeset 7033a5756ad5 ! .hgtags From john.coomes at oracle.com Fri May 27 01:39:38 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 08:39:38 +0000 Subject: hg: jdk7/hotspot-comp/jaxp: Added tag jdk7-b144 for changeset 39bf6dcaab23 Message-ID: <20110527083938.676A24797C@hg.openjdk.java.net> Changeset: bee49f47043f Author: schien Date: 2011-05-26 20:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxp/rev/bee49f47043f Added tag jdk7-b144 for changeset 39bf6dcaab23 ! .hgtags From john.coomes at oracle.com Fri May 27 01:39:46 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 08:39:46 +0000 Subject: hg: jdk7/hotspot-comp/jaxws: Added tag jdk7-b144 for changeset 6bd683f2d527 Message-ID: <20110527083946.8EFEB4797D@hg.openjdk.java.net> Changeset: 6158298d2b94 Author: schien Date: 2011-05-26 20:19 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jaxws/rev/6158298d2b94 Added tag jdk7-b144 for changeset 6bd683f2d527 ! .hgtags From john.coomes at oracle.com Fri May 27 01:39:57 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 08:39:57 +0000 Subject: hg: jdk7/hotspot-comp/jdk: Added tag jdk7-b144 for changeset 23bdcede4e39 Message-ID: <20110527084015.289B94797E@hg.openjdk.java.net> Changeset: c344779fab58 Author: schien Date: 2011-05-26 20:20 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/jdk/rev/c344779fab58 Added tag jdk7-b144 for changeset 23bdcede4e39 ! .hgtags From john.coomes at oracle.com Fri May 27 01:40:34 2011 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 27 May 2011 08:40:34 +0000 Subject: hg: jdk7/hotspot-comp/langtools: 33 new changesets Message-ID: <20110527084143.BAF9A47980@hg.openjdk.java.net> Changeset: bbd053476ec3 Author: bpatel Date: 2011-04-18 15:39 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/bbd053476ec3 6758050: javadoc handles nested generic types incorrectly Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java + test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java + test/com/sun/javadoc/testNestedGenerics/pkg/NestedGenerics.java Changeset: 671bb63f3ed5 Author: mcimadamore Date: 2011-04-19 13:57 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/671bb63f3ed5 7036906: Scope: CompoundScope.getElements() doesn't pass scope filter to subscopes Summary: CompoundScope.getElements() is not filtering elements according to the ScopeFilter argument Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Scope.java ! test/tools/javac/scope/7017664/CompoundScopeTest.java Changeset: fb84cfca28a1 Author: jjg Date: 2011-04-25 15:50 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/fb84cfca28a1 7039019: test cannot run standalone Reviewed-by: dlsmith ! test/tools/javac/processing/model/TestSymtabItems.java Changeset: 4c5f13798b8d Author: jjg Date: 2011-04-25 15:56 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4c5f13798b8d 7038363: cast from object to primitive should be for source >= 1.7 Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/types/CastObjectToPrimitiveTest.java + test/tools/javac/types/CastObjectToPrimitiveTest.out Changeset: a8f5cad1e6bb Author: darcy Date: 2011-04-27 17:03 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/a8f5cad1e6bb 7039822: Project Coin: add explicit tests for the lub of an exception parameter Reviewed-by: mcimadamore, jjg + test/tools/javac/multicatch/Neg07.java + test/tools/javac/multicatch/Neg07.out + test/tools/javac/multicatch/Pos10.java Changeset: 5c81ba0eddff Author: bpatel Date: 2011-04-27 17:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/5c81ba0eddff 7028815: Missing styles for some bulleted items in the new stylesheet Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! test/com/sun/javadoc/testStylesheet/TestStylesheet.java Changeset: c7841bbe1227 Author: mchung Date: 2011-04-28 08:46 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/c7841bbe1227 7037081: Remove com.sun.tracing from NON_CORE_PKGS Reviewed-by: ohair, jjg, jmasa ! src/share/classes/com/sun/tools/javac/resources/legacy.properties Changeset: 7ae6c0fd479b Author: jjg Date: 2011-04-28 15:05 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/7ae6c0fd479b 7029150: Project Coin: present union types from the tree API through to javax.lang.model Reviewed-by: mcimadamore ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! test/tools/javac/multicatch/model/Model01.java ! test/tools/javac/multicatch/model/ModelChecker.java + test/tools/javac/multicatch/model/UnionTypeInfo.java + test/tools/javac/processing/model/type/TestUnionType.java Changeset: 4c03383f6529 Author: mcimadamore Date: 2011-04-29 16:05 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4c03383f6529 7040104: javac NPE on Object a[]; Object o = (a=null)[0]; Summary: When a null literal is found on top of stack, if expected type is 1-dimension array no checkcast is emitted Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Code.java + test/tools/javac/T7040104.java Changeset: 9a847a77205d Author: mcimadamore Date: 2011-04-29 16:05 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/9a847a77205d 7039937: Improved catch analysis fails to handle a common idiom in the libraries Summary: Disable generation of 'unreachable catch' warnings for catch statements catching Exception/Throwable Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! test/tools/javac/6558548/T6558548.java ! test/tools/javac/6558548/T6558548_6.out ! test/tools/javac/6558548/T6558548_latest.out ! test/tools/javac/diags/examples/UnreachableCatch1.java Changeset: 1092b67b3cad Author: mcimadamore Date: 2011-04-29 16:05 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/1092b67b3cad 7034495: Javac asserts on usage of wildcards in bounds Summary: Problem with intersection types and wildcards causing javac to crash Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/generics/wildcards/7034495/T7034495.java + test/tools/javac/generics/wildcards/7034495/T7034495.out Changeset: dc3d9ef880a1 Author: mcimadamore Date: 2011-04-29 16:06 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/dc3d9ef880a1 6550655: com.sun.tools.javac.code.Symbol$CompletionFailure Summary: Accessing a non-existing enum constant from an annotation whose class is available results in an internal error Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/annotations/6550655/T6550655.java ! test/tools/javac/diags/examples.not-yet.txt Changeset: 4caf17560ae0 Author: mcimadamore Date: 2011-04-30 11:57 +0100 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/4caf17560ae0 7039931: Project Coin: diamond inference fail with generic constructor explicit type-arguments Summary: diamond should be disallowed in cases where explicit generic constructor parameters are specified Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/DiamondAndExplicitParams.java ! test/tools/javac/generics/diamond/7030150/GenericConstructorAndDiamondTest.java - test/tools/javac/generics/diamond/7030150/Neg01.java - test/tools/javac/generics/diamond/7030150/Neg01.out - test/tools/javac/generics/diamond/7030150/Neg02.java - test/tools/javac/generics/diamond/7030150/Neg02.out - test/tools/javac/generics/diamond/7030150/Neg03.java - test/tools/javac/generics/diamond/7030150/Neg03.out - test/tools/javac/generics/diamond/7030150/Pos01.java - test/tools/javac/generics/diamond/7030150/Pos02.java Changeset: 459854f564ed Author: lana Date: 2011-04-30 16:57 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/459854f564ed Merge Changeset: 62bc3775d5bb Author: bpatel Date: 2011-05-02 02:13 -0700 URL: http://hg.openjdk.java.net/jdk7/hotspot-comp/langtools/rev/62bc3775d5bb 6492694: @deprecated tag doesn't work in package-info files. Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlStyle.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassDocCatalog.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DeprecatedAPIListBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/PackageListWriter.java ! src/share/classes/c