From morris.meyer at oracle.com Sat Jun 1 11:54:55 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Sat, 01 Jun 2013 14:54:55 -0400 Subject: RFR(L): 8008407: remove SPARC V8 support In-Reply-To: <83D9F566-339D-48CE-AB75-D5139DE29C46@oracle.com> References: <51A8FF08.7010801@oracle.com> <83D9F566-339D-48CE-AB75-D5139DE29C46@oracle.com> Message-ID: <51AA437F.5070900@oracle.com> I removed these things accordingly - and got failure on JPRT. I left the v9_dep changes in as a marker to the future instructions that need to be removed. --mm JPRT - http://prt-web.us.oracle.com//archive/2013/06/2013-06-01-172500.mameyer.8008407//JobStatus.txt WEBREV - http://cr.openjdk.java.net/~morris/8008407.02 On 5/31/13 5:57 PM, Christian Thalinger wrote: > src/cpu/sparc/vm/assembler_sparc.hpp: > > Can you also remove these: > > v9_only, v9_dep, and (if possible) v8_no_cc. > > src/cpu/sparc/vm/macroAssembler_sparc.cpp: > > Also remove these (now useless) wrappers: > > void MacroAssembler::mult(Register s1, Register s2, Register d) { > void MacroAssembler::mult(Register s1, int simm13a, Register d) { > > src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp: > > Could you also get rid of get_pc like in my changes for 8007415: > > 1) src/cpu/sparc/vm/macroAssembler_sparc.cpp: > > - inc(L4, get_pc(L4) + 2 * BytesPerInstWord); // skip getpc() code + inc + st_ptr to point L4 at call > + rdpc(L4); > + inc(L4, 3 * BytesPerInstWord); // skip rdpc + inc + st_ptr to point L4 at call > > 2) src/cpu/sparc/vm/sparc.ad: > > - __ get_pc(L2); > + __ rdpc(L2); > > src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp: > > Since _Atomic_move_long_v8 is not used anymore you can removed it from: > > src/os_cpu/solaris_sparc/vm/solaris_sparc.il > > -- Chris > > On May 31, 2013, at 12:50 PM, Morris Meyer wrote: > >> Could I get a review for this issue? >> >> This patch is based on work originally by Christian Thalinger with several chunks of V8 removal from me. There are a few V8 instructions left - LDD, STD, CASA and a few others. Follow on bugs will be assigned to rework each specific instruction. >> >> These changes have been tested with the vm regression suite and JPRT. >> >> Thanks in advance. >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/8008407.01 >> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008407 >> >> From albert.noll at oracle.com Sun Jun 2 23:16:29 2013 From: albert.noll at oracle.com (Albert Noll) Date: Mon, 03 Jun 2013 08:16:29 +0200 Subject: RFR(S): 8013329: [parfait] File leak in hotspot/src/share/vm/compiler/compileBroker.cpp In-Reply-To: <51A8C9E5.6010108@oracle.com> References: <519F6AED.2080607@oracle.com> <6C76D843-CF1E-41CC-A8B1-BCCA260A7E93@oracle.com> <51A3207D.6070908@oracle.com> <51A8347C.5020201@oracle.com> <51A8C9E5.6010108@oracle.com> Message-ID: <51AC34BD.2000105@oracle.com> HI Vladimir, thank you for your review. I made the suggested changes: http://cr.openjdk.java.net/~anoll/8013329/webrev.03/ Is another round of reviews required? Best, Albert On 31.05.2013 18:03, Vladimir Kozlov wrote: > Albert, > > Changes are good. I have only small comments: > > compileBroker.cpp: > > Add {} for "if (LogCompilation && Verbose)". > > compileLog.cpp: > > instead of: > > + CompileLog::_first = NULL; > > simple: > > + _first = NULL; > > Thanks, > Vladimir > > > On 5/30/13 10:26 PM, Albert Noll wrote: >> Hi Roland, >> >> thanks again for looking at the code. >> >> On 28.05.2013 15:21, Roland Westrelin wrote: >>> Hi Albert, >>> >>>>> FREE_C_HEAP_ARRAY is for arrays allocated with NEW_C_HEAP_ARRAY. >>>>> You should use delete here, I think (even though FREE_C_HEAP_ARRAY >>>>> and delete end up doing the same). >>>>> >>>> The char array is allocated with NEW_HEAP_ARRAY in >>>> compileBroker.cpp. In the new version, I moved >>>> the allocation of the array into the constructor of CompileLog. I >>>> think that this makes the code better readable. Do you agree? >>> You're right. I misread the code. >>> It's better if it's allocated from the constructor and freed from >>> the destructor, indeed. >>> Your change to CompileBroker::init_compiler_thread_log() is not >>> entirely correct, I believe: if several temp dirs are tried, and the >>> first ones fail, "Cannot open log file:" will be reported for the >>> failed attempt even if the log file is successfully open in the end. >> Thanks for pointing that out. The new version prints the warning only >> if no file can be opened. >> >>>>> In CompileLog::finish_log_on_error, you delete log but use it >>>>> afterwards log = log->_next. >>>>> >>>> Ouch :-( Thanks for this one. I think the current version should be >>>> fine. >>> I think so as well. >>> >>> Roland. >> When executing the current path with "fastdebug", the following >> warning appears: >> >> Warning: TraceDependencies results may be inflated by >> VerifyDependencies >> >> I am not sure what that means. I tested with -XX:+LogCompilation and >> it seems to >> work fine. >> >> webrev: http://cr.openjdk.java.net/~anoll/8013329/webrev.02/ >> >> >> Thanks again, >> Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130603/6acce911/attachment.html From vladimir.kozlov at oracle.com Sun Jun 2 23:43:25 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Sun, 02 Jun 2013 23:43:25 -0700 Subject: RFR(S): 8013329: [parfait] File leak in hotspot/src/share/vm/compiler/compileBroker.cpp In-Reply-To: <51AC34BD.2000105@oracle.com> References: <519F6AED.2080607@oracle.com> <6C76D843-CF1E-41CC-A8B1-BCCA260A7E93@oracle.com> <51A3207D.6070908@oracle.com> <51A8347C.5020201@oracle.com> <51A8C9E5.6010108@oracle.com> <51AC34BD.2000105@oracle.com> Message-ID: <51AC3B0D.203@oracle.com> On 6/2/13 11:16 PM, Albert Noll wrote: > HI Vladimir, > > thank you for your review. I made the suggested changes: > http://cr.openjdk.java.net/~anoll/8013329/webrev.03/ Looks. > Is another round of reviews required? No. Please, prepare patch. Thanks, Vladimir > > Best, > Albert > > On 31.05.2013 18:03, Vladimir Kozlov wrote: >> Albert, >> >> Changes are good. I have only small comments: >> >> compileBroker.cpp: >> >> Add {} for "if (LogCompilation && Verbose)". >> >> compileLog.cpp: >> >> instead of: >> >> + CompileLog::_first = NULL; >> >> simple: >> >> + _first = NULL; >> >> Thanks, >> Vladimir >> >> >> On 5/30/13 10:26 PM, Albert Noll wrote: >>> Hi Roland, >>> >>> thanks again for looking at the code. >>> >>> On 28.05.2013 15:21, Roland Westrelin wrote: >>>> Hi Albert, >>>> >>>>>> FREE_C_HEAP_ARRAY is for arrays allocated with NEW_C_HEAP_ARRAY. You should use delete here, I think (even though >>>>>> FREE_C_HEAP_ARRAY and delete end up doing the same). >>>>>> >>>>> The char array is allocated with NEW_HEAP_ARRAY in compileBroker.cpp. In the new version, I moved >>>>> the allocation of the array into the constructor of CompileLog. I think that this makes the code better readable. >>>>> Do you agree? >>>> You're right. I misread the code. >>>> It's better if it's allocated from the constructor and freed from the destructor, indeed. >>>> Your change to CompileBroker::init_compiler_thread_log() is not entirely correct, I believe: if several temp dirs >>>> are tried, and the first ones fail, "Cannot open log file:" will be reported for the failed attempt even if the log >>>> file is successfully open in the end. >>> Thanks for pointing that out. The new version prints the warning only if no file can be opened. >>> >>>>>> In CompileLog::finish_log_on_error, you delete log but use it afterwards log = log->_next. >>>>>> >>>>> Ouch :-( Thanks for this one. I think the current version should be fine. >>>> I think so as well. >>>> >>>> Roland. >>> When executing the current path with "fastdebug", the following warning appears: >>> >>> Warning: TraceDependencies results may be inflated by VerifyDependencies >>> >>> I am not sure what that means. I tested with -XX:+LogCompilation and it seems to >>> work fine. >>> >>> webrev: http://cr.openjdk.java.net/~anoll/8013329/webrev.02/ >>> >>> Thanks again, >>> Albert > From roland.westrelin at oracle.com Mon Jun 3 01:08:27 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 3 Jun 2013 10:08:27 +0200 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 In-Reply-To: <51A8E623.4070600@oracle.com> References: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> <4CA94106-1D2A-4DF2-814E-DF2F7A190B60@oracle.com> <8A8F768B-D0E2-46C1-AEC2-ED2FAA88EA09@oracle.com> <5463992A-B3A0-4647-9176-90704DBE6262@oracle.com> <8E7A2BAD-1584-4916-990F-EF933CAB664B@oracle.com> <14BCC090-670B-47C1-BA7B-073529B66649@oracle.com> <51A8E623.4070600@oracle.com> Message-ID: <3DD37C0B-0E07-4FAC-B504-064EDAA0F3C6@oracle.com> Thanks for the review, Vladimir. > PS: Could you switch to our webrev.sh sript. It will generate better udiffs and navigation buttons. Ok. Roland. From roland.westrelin at oracle.com Mon Jun 3 01:27:44 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 3 Jun 2013 10:27:44 +0200 Subject: RFR(M) 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked In-Reply-To: <51A8CDCA.7070201@oracle.com> References: <3A0B9808-55D3-4E98-89BF-765F6801FB1F@oracle.com> <6A25A35B-A001-4934-B404-FC183CD1247B@oracle.com> <51A7C9E0.1070207@oracle.com> <3C84D799-A9E1-4D5F-8EAF-DE87B47E715A@oracle.com> <51A8CDCA.7070201@oracle.com> Message-ID: >>>>> + develop(bool, C1PatchInvokeDynamic, true, \ >>>>> >>>>> Do we really want to turn if off? During development I'm sure it was helpful but after that? >>>> >>>> That's something John asked for. >>> >>> I agree with Christian that this flag is weird. Why you would want to bailout even for testing? >> >> It's not a trivial change. So if tests that used to work start failing and this change is suspected, it will be as easy as running with -XX:-C1PatchInvokeDynamic to verify this change is the cause. I think it's a good idea to have this flag. > > So you are saying that you are fixing performance issue only. Okay, may make it diagnostic then to be able use it with product VM? I'll make it diagnostic. Thanks. Roland. From roland.westrelin at oracle.com Mon Jun 3 01:29:38 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 3 Jun 2013 10:29:38 +0200 Subject: RFR(M) 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked In-Reply-To: <3A0B9808-55D3-4E98-89BF-765F6801FB1F@oracle.com> References: <3A0B9808-55D3-4E98-89BF-765F6801FB1F@oracle.com> Message-ID: Christian, Can you confirm the last webrev: http://cr.openjdk.java.net/~roland/7199175/webrev.02/ is ok with you? Roland. From roland.westrelin at oracle.com Mon Jun 3 04:35:54 2013 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Mon, 03 Jun 2013 11:35:54 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 Message-ID: <20130603113558.5CB2A48EDD@hg.openjdk.java.net> Changeset: 603ca7e51354 Author: roland Date: 2013-04-24 11:49 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/603ca7e51354 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 Summary: ConstMethod::max_stack() doesn't account for JSR 292 appendix. Reviewed-by: kvn ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/matcher.cpp From vladimir.kozlov at oracle.com Mon Jun 3 07:48:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 3 Jun 2013 07:48:16 -0700 (PDT) Subject: RFR(S) 8005956 : C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <888983B8-BF85-4719-8F86-72F28C2B2BE3@oracle.com> References: <2322FC40-6F52-4A8B-8852-9080E24D7CA4@oracle.com> <51A52ADE.6030201@oracle.com> <5C2BB99C-9C4D-452B-91E2-447A848AB7F5@oracle.com> <7F76B49F-7E4D-4705-B8D6-C87E917E4AD9@oracle.com> <51A61947.9000003@oracle.com> <1CDA14AF-CCDE-4849-9575-7DEF70285D84@oracle.com> <51A7A7D1.4040203@oracle.com> <51A918F9.7080002@oracle.com> <51A9610C.4090501@oracle.com> <888983B8-BF85-4719-8F86-72F28C2B2BE3@oracle.com> Message-ID: <51ACACB0.1080101@oracle.com> Good. Vladimir On 6/3/13 5:19 AM, Niclas Adlertz wrote: > Hi Vladimir, > > Thank you. > Here is a new webrev based on the input: > > http://cr.openjdk.java.net/~adlertz/JDK-8005956/webrev02/ > > Kind Regards, > Niclas Adlertz > > > On 1 jun 2013, at 04:48, Vladimir Kozlov wrote: > >> On 5/31/13 2:41 PM, Vladimir Kozlov wrote: >>> On 5/30/13 12:26 PM, Vladimir Kozlov wrote: >>>> Thanks, Niclas >>>> >>>> On 5/30/13 8:29 AM, Niclas Adlertz wrote: >>>>> Vladimir, >>>>> thank you for your feedback. I've now added rematerialization support >>>>> only for reaching definitions to phi nodes that doesn't contain any >>>>> live range input. >>>> >>>> I think you can avoid loop in contains_no_live_range_input() based on >>>> code in MachNode::rematerialize(). Edge in(0) is control edge so you >>>> don't need to check it and you can return true if a node has only >>>> control edge (req() < 2), and it will cover MachTemp and normal loadCon >>>> nodes cases. >>> >>> Niclas, >>> >>> Sorry, I am taking back this comment. Having loop is more future proof >>> and it is general code which could be used for any mach node and not >>> only for rematerialized. May be it should be moved to MachNode class >>> (skip 0 (control) edge): >> >> Input edge could be Phi, BoxLock and other ideal nodes which are not Mach nodes so in(i)->is_Mach() is not correct. >> >> Vladimir >> >>> >>> bool MachNode::contains_no_live_range_input() { >>> for (uint i = 1; i < req(); ++i) { >>> if ((in(i) != NULL) && in(i)->is_Mach() && >>> in_RegMask(i).is_NotEmpty()) { >>> return false; >>> } >>> } >>> return true; >>> } >>> >>> Regards, >>> Vladimir >>> >>>> An other case is nodes producing flag. I think we should add >>>> assert(def->ideal_reg() != Op_RegFlags). Because such nodes should not >>>> be inputs to Phi (to avoid be separated from user node since other nodes >>>> in between could affect flags). >>>> This leaves only case with req() == 2. So you don't need the loop. Also >>>> in(1) can't be NULL or not Mach (add assert to make sure). So you need >>>> only def->in_RegMask(1).is_NotEmpty() check. >>>> Run CTW and other our tests after these changes. I could be mistaking in >>>> some assumtions. >>>> >>>> Also make contains_no_live_range_input() static so it will be local. >>>> >>>>> I also changed one input parameter to split_Rematerialize, just to fix >>>>> the parfait bug 8013830. >>>>> The parameter is not used when rematerializing reaches to phi nodes, >>>>> so passing NULL should be fine. >>>> >>>> Please, do it as separate fix for parfait bug (it is better for bugs >>>> bookkeeping). Why you think it is not used? >>>> >>>> Thanks, >>>> Vladimir >>>> >>>>> >>>>> http://cr.openjdk.java.net/~adlertz/JDK-8005956/webrev01/ >>>>> >>>>> Kind Regards, >>>>> Niclas Adlertz >>>>> >>>>> >>>>> On 29 maj 2013, at 17:05, Vladimir Kozlov >>>>> wrote: >>>>> >>>>>> On 5/29/13 1:18 AM, Niclas Adlertz wrote: >>>>>>> Vladimir, >>>>>>> Thank you for the additional info! >>>>>>> However, in this bug it's not a rematerialization of a loadConX >>>>>>> (X=P,D,etc) node that is causing this to fail, but a >>>>>>> rematerialization of a negD_reg_reg node (node 530, rematerialized >>>>>>> to node 1716, with input 1619 >>>>>>> (http://cr.openjdk.java.net/~adlertz/JDK-8005956/log.txt)). >>>>>>> >>>>>>> I suggest we remove this faulty optimization, as the performance >>>>>>> tests show no significant regression. >>>>>> >>>>>> It is not faulty optimization for nodes which don't have inputs (like >>>>>> constants not on sparc). As I said, it reduces LR and may reduce need >>>>>> for spills. Also some applications may still regress even if few >>>>>> benchmarks we use are not. >>>>>> >>>>>> Vladimir >>>>>> >>>>>>> >>>>>>> Kind Regards, >>>>>>> Niclas Adlertz >>>>>>> >>>>>>> >>>>>>> On 29 maj 2013, at 00:38, Christian Thalinger >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> On May 28, 2013, at 3:08 PM, Vladimir Kozlov >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Niclas, >>>>>>>>> >>>>>>>>> I attached mails in which we discussed the fix for 7004940. >>>>>>>>> Removing rematerialization was one option. >>>>>>>>> I think the original code, to do rematerialization, was added to >>>>>>>>> reduce live range of constant values (ConP) which did not have any >>>>>>>>> inputs (root is not mach node). It worked until Christian added >>>>>>>>> constants load from table - as result constant become node with >>>>>>>>> input edge (MachConstantBaseNode). So now we have to stretch >>>>>>>>> either LR of ConstantBase node or LR of loadCon node. >>>>>>>>> May be we should avoid rematerialization only for such nodes >>>>>>>>> (loadConP, loadConD etc.)? >>>>>>>> >>>>>>>> Some background on MachConstantBaseNode: these nodes are pinned >>>>>>>> into the first basic block of the method (IIRC). The reason for >>>>>>>> this is we want to keep the RDPC instruction as close as possible >>>>>>>> to the constant table base address so that the offset is small and >>>>>>>> the constant load instruction can be a simple load. Otherwise we >>>>>>>> need other instructions to calculate the constant table base address. >>>>>>>> >>>>>>>> This stretches the live range of the constant table base register >>>>>>>> quite a bit but note that we only do this on SPARC. >>>>>>>> >>>>>>>> -- Chris >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Vladimir >>>>>>>>> >>>>>>>>> On 5/24/13 5:32 AM, Niclas Adlertz wrote: >>>>>>>>>> Hi all. >>>>>>>>>> >>>>>>>>>> Problem: >>>>>>>>>> Hitting the assert: assert(!def_outside->member(r)) failed: Use >>>>>>>>>> of external LRG overlaps the same LRG defined in this block in >>>>>>>>>> live.cpp >>>>>>>>>> >>>>>>>>>> Background info: >>>>>>>>>> When a reaching definition for a phi node is rematerialized (due >>>>>>>>>> to spilling) it's inserted in the end of the preceding block to >>>>>>>>>> the phi. On rare occasions this will cause the re-calculation of >>>>>>>>>> the liveness to fail. When phi nodes and their input are united >>>>>>>>>> in the end of the Chaitin::Split() method they get the same live >>>>>>>>>> range id. >>>>>>>>>> >>>>>>>>>> What happens in this case is that a reaching definition R for a >>>>>>>>>> phi node P has been rematerialized and put in a preceding block >>>>>>>>>> B. The input X to R will eventually get the same live range id as >>>>>>>>>> an earlier instruction Y in B. Look at [0] for a more detailed >>>>>>>>>> explanation. >>>>>>>>>> >>>>>>>>>> Solution: >>>>>>>>>> Disable re-materialization of reaching definitions for phi nodes >>>>>>>>>> when spilling. I've run refworkload with 12 iterations for >>>>>>>>>> baseline and new version, several times. The results vary a bit, >>>>>>>>>> not sure how much refworkload runs usually vary. Roland also >>>>>>>>>> tried running refworkload on his x64 Linux to see if he could see >>>>>>>>>> any major regression. Thank you for helping me with this Roland. >>>>>>>>>> >>>>>>>>>> Results from x64 Linux (local machine) [1], x64 Linux (sthdev04) >>>>>>>>>> [2], sparcv9 Solaris (mrspock) [3], and Roland's x64 Linux [4]. >>>>>>>>>> >>>>>>>>>> WEBREV: http://cr.openjdk.java.net/~adlertz/JDK-8005956/webrev00/ >>>>>>>>>> JBS: https://jbs.oracle.com/bugs/browse/JDK-8005956 >>>>>>>>>> >>>>>>>>>> A review would be much appreciated. >>>>>>>>>> Thank you. >>>>>>>>>> >>>>>>>>>> Kind Regards, >>>>>>>>>> Niclas Adlertz >>>>>>>>>> >>>>>>>>>> [0]: Output from the run (running test >>>>>>>>>> https://jbs.oracle.com/bugs/secure/attachment/11386/PolynomialRoot.java) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> http://cr.openjdk.java.net/~adlertz/JDK-8005956/log.txt >>>>>>>>>> Look at phi node 526, it has input nodes 527 and 1619. Node 527 >>>>>>>>>> has input node 528, which is the instruction prior to the reach >>>>>>>>>> 1716 (which has been rematerialized for phi node 558) in block >>>>>>>>>> 92. Node 1716 has input node 1619. >>>>>>>>>> When the unite step (found in the end of reg_split.cpp) unites >>>>>>>>>> the live range ids of phi nodes and their inputs, node 527 >>>>>>>>>> (recursively via phi node 528) and node 1619 will get the same >>>>>>>>>> live range id, resulting in the liveness to fail. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [1] Results from x64 Linux (local machine) 2 runs >>>>>>>>>> >>>>>>>>>> run 1: >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_base: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>> jetstream 12 185.27 0.03 >>>>>>>>>> Write 12 71.42 0.04 >>>>>>>>>> Parse 12 67.92 0.03 >>>>>>>>>> Read 12 17.25 0.10 >>>>>>>>>> Copy 12 102.17 0.02 >>>>>>>>>> scimark 12 1438.69 0.00 >>>>>>>>>> LU 12 3213.92 0.01 >>>>>>>>>> FFT 12 211.00 0.02 >>>>>>>>>> Monte 12 827.71 0.01 >>>>>>>>>> SOR 12 1365.90 0.00 >>>>>>>>>> Sparse 12 1574.90 0.01 >>>>>>>>>> specjbb2000 12 493245.44 0.00 >>>>>>>>>> Last_Warehouse 12 493245.44 0.00 >>>>>>>>>> First_Warehouse 12 118938.86 0.00 >>>>>>>>>> specjbb2005 12 179117.61 0.00 >>>>>>>>>> last 12 179117.61 0.00 >>>>>>>>>> interval_average 12 10536.25 0.00 >>>>>>>>>> peak 12 184040.52 0.01 >>>>>>>>>> overall_average 12 164733.22 0.01 >>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>> peak_warehouse 12 4.25 0.11 >>>>>>>>>> first 12 63494.80 0.00 >>>>>>>>>> specjvm98 12 1020.02 0.01 >>>>>>>>>> compress 12 817.54 0.00 >>>>>>>>>> javac 12 598.70 0.01 >>>>>>>>>> db 12 407.37 0.02 >>>>>>>>>> jack 12 1299.66 0.03 >>>>>>>>>> mtrt 12 2904.37 0.02 >>>>>>>>>> jess 12 1089.06 0.02 >>>>>>>>>> mpegaudio 12 1402.48 0.00 >>>>>>>>>> volano25 12 183768.67 0.04 >>>>>>>>>> time 12 4.36 0.04 >>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 23543.18 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_new: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>> Significant >>>>>>>>>> jetstream 12 198.41 0.05 7.09 >>>>>>>>>> 0.001 Yes >>>>>>>>>> Write 12 69.92 0.03 2.10 >>>>>>>>>> 0.154 * >>>>>>>>>> Parse 12 66.00 0.03 2.82 >>>>>>>>>> 0.031 * >>>>>>>>>> Read 12 15.83 0.14 8.21 >>>>>>>>>> 0.098 * >>>>>>>>>> Copy 12 89.67 0.02 12.23 >>>>>>>>>> 0.000 Yes >>>>>>>>>> scimark 12 1443.71 0.00 0.35 >>>>>>>>>> 0.009 Yes >>>>>>>>>> LU 12 3236.61 0.00 0.71 >>>>>>>>>> 0.012 * >>>>>>>>>> FFT 12 211.73 0.02 0.34 >>>>>>>>>> 0.628 * >>>>>>>>>> Monte 12 824.74 0.01 -0.36 >>>>>>>>>> 0.159 * >>>>>>>>>> SOR 12 1365.70 0.00 -0.01 >>>>>>>>>> 0.908 * >>>>>>>>>> Sparse 12 1579.76 0.01 0.31 >>>>>>>>>> 0.299 * >>>>>>>>>> specjbb2000 12 494276.38 0.01 0.21 >>>>>>>>>> 0.384 * >>>>>>>>>> Last_Warehouse 12 494276.38 0.01 0.21 >>>>>>>>>> 0.384 * >>>>>>>>>> First_Warehouse 12 118847.53 0.00 -0.08 >>>>>>>>>> 0.548 * >>>>>>>>>> specjbb2005 12 179359.88 0.01 0.14 >>>>>>>>>> 0.603 * >>>>>>>>>> last 12 179359.87 0.01 0.14 >>>>>>>>>> 0.603 * >>>>>>>>>> interval_average 12 10550.67 0.01 0.14 >>>>>>>>>> 0.599 * >>>>>>>>>> peak 12 184332.03 0.01 0.16 >>>>>>>>>> 0.693 * >>>>>>>>>> overall_average 12 165145.86 0.01 0.25 >>>>>>>>>> 0.393 * >>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> peak_warehouse 12 4.00 0.00 5.88 >>>>>>>>>> 0.082 * >>>>>>>>>> first 12 63653.25 0.01 0.25 >>>>>>>>>> 0.162 * >>>>>>>>>> specjvm98 12 1026.25 0.00 0.61 >>>>>>>>>> 0.003 Yes >>>>>>>>>> compress 12 817.55 0.00 0.00 >>>>>>>>>> 0.998 * >>>>>>>>>> javac 12 602.40 0.02 0.62 >>>>>>>>>> 0.317 * >>>>>>>>>> db 12 406.46 0.01 -0.22 >>>>>>>>>> 0.685 * >>>>>>>>>> jack 12 1341.50 0.03 3.22 >>>>>>>>>> 0.011 * >>>>>>>>>> mtrt 12 2903.11 0.02 -0.04 >>>>>>>>>> 0.951 * >>>>>>>>>> jess 12 1099.14 0.01 0.93 >>>>>>>>>> 0.087 * >>>>>>>>>> mpegaudio 12 1400.09 0.00 -0.17 >>>>>>>>>> 0.150 * >>>>>>>>>> volano25 12 185056.42 0.04 0.70 >>>>>>>>>> 0.660 * >>>>>>>>>> time 12 4.33 0.04 0.68 >>>>>>>>>> 0.666 * >>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 23787.81 1.04 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> run 2: >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_base: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>> jetstream 12 185.27 0.03 >>>>>>>>>> Write 12 71.42 0.04 >>>>>>>>>> Parse 12 67.92 0.03 >>>>>>>>>> Read 12 17.25 0.10 >>>>>>>>>> Copy 12 102.17 0.02 >>>>>>>>>> scimark 12 1438.69 0.00 >>>>>>>>>> LU 12 3213.92 0.01 >>>>>>>>>> FFT 12 211.00 0.02 >>>>>>>>>> Monte 12 827.71 0.01 >>>>>>>>>> SOR 12 1365.90 0.00 >>>>>>>>>> Sparse 12 1574.90 0.01 >>>>>>>>>> specjbb2000 12 493245.44 0.00 >>>>>>>>>> Last_Warehouse 12 493245.44 0.00 >>>>>>>>>> First_Warehouse 12 118938.86 0.00 >>>>>>>>>> specjbb2005 12 179117.61 0.00 >>>>>>>>>> last 12 179117.61 0.00 >>>>>>>>>> interval_average 12 10536.25 0.00 >>>>>>>>>> peak 12 184040.52 0.01 >>>>>>>>>> overall_average 12 164733.22 0.01 >>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>> peak_warehouse 12 4.25 0.11 >>>>>>>>>> first 12 63494.80 0.00 >>>>>>>>>> specjvm98 12 1020.02 0.01 >>>>>>>>>> compress 12 817.54 0.00 >>>>>>>>>> javac 12 598.70 0.01 >>>>>>>>>> db 12 407.37 0.02 >>>>>>>>>> jack 12 1299.66 0.03 >>>>>>>>>> mtrt 12 2904.37 0.02 >>>>>>>>>> jess 12 1089.06 0.02 >>>>>>>>>> mpegaudio 12 1402.48 0.00 >>>>>>>>>> volano25 12 183768.67 0.04 >>>>>>>>>> time 12 4.36 0.04 >>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 23543.18 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_new: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>> Significant >>>>>>>>>> jetstream 12 194.93 0.03 5.21 >>>>>>>>>> 0.001 Yes >>>>>>>>>> Write 12 71.58 0.03 -0.23 >>>>>>>>>> 0.858 * >>>>>>>>>> Parse 12 65.25 0.02 3.93 >>>>>>>>>> 0.002 Yes >>>>>>>>>> Read 12 16.75 0.13 2.90 >>>>>>>>>> 0.534 * >>>>>>>>>> Copy 12 89.50 0.02 12.40 >>>>>>>>>> 0.000 Yes >>>>>>>>>> scimark 12 1444.04 0.00 0.37 >>>>>>>>>> 0.011 * >>>>>>>>>> LU 12 3231.07 0.01 0.53 >>>>>>>>>> 0.084 * >>>>>>>>>> FFT 12 211.94 0.01 0.44 >>>>>>>>>> 0.521 * >>>>>>>>>> Monte 12 828.17 0.00 0.06 >>>>>>>>>> 0.789 * >>>>>>>>>> SOR 12 1367.63 0.00 0.13 >>>>>>>>>> 0.266 * >>>>>>>>>> Sparse 12 1581.42 0.01 0.41 >>>>>>>>>> 0.134 * >>>>>>>>>> specjbb2000 12 494674.94 0.00 0.29 >>>>>>>>>> 0.077 * >>>>>>>>>> Last_Warehouse 12 494674.93 0.00 0.29 >>>>>>>>>> 0.077 * >>>>>>>>>> First_Warehouse 12 118955.15 0.01 0.01 >>>>>>>>>> 0.946 * >>>>>>>>>> specjbb2005 12 179408.72 0.01 0.16 >>>>>>>>>> 0.442 * >>>>>>>>>> last 12 179408.72 0.01 0.16 >>>>>>>>>> 0.442 * >>>>>>>>>> interval_average 12 10553.50 0.01 0.16 >>>>>>>>>> 0.439 * >>>>>>>>>> peak 12 184116.40 0.01 0.04 >>>>>>>>>> 0.903 * >>>>>>>>>> overall_average 12 164999.73 0.00 0.16 >>>>>>>>>> 0.466 * >>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> peak_warehouse 12 4.08 0.07 3.92 >>>>>>>>>> 0.296 * >>>>>>>>>> first 12 63606.07 0.01 0.18 >>>>>>>>>> 0.431 * >>>>>>>>>> specjvm98 12 1019.34 0.01 -0.07 >>>>>>>>>> 0.780 * >>>>>>>>>> compress 12 817.54 0.00 -0.00 >>>>>>>>>> 0.997 * >>>>>>>>>> javac 12 601.06 0.02 0.39 >>>>>>>>>> 0.529 * >>>>>>>>>> db 12 405.60 0.01 -0.44 >>>>>>>>>> 0.447 * >>>>>>>>>> jack 12 1313.88 0.02 1.09 >>>>>>>>>> 0.267 * >>>>>>>>>> mtrt 12 2860.55 0.01 -1.51 >>>>>>>>>> 0.016 * >>>>>>>>>> jess 12 1093.54 0.00 0.41 >>>>>>>>>> 0.386 * >>>>>>>>>> mpegaudio 12 1396.44 0.01 -0.43 >>>>>>>>>> 0.058 * >>>>>>>>>> volano25 12 182607.08 0.03 -0.63 >>>>>>>>>> 0.663 * >>>>>>>>>> time 12 4.39 0.03 -0.61 >>>>>>>>>> 0.670 * >>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 23663.87 0.51 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [2] x64 Linux (sthdev04): >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_base: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>> jetstream 12 266.06 0.05 >>>>>>>>>> Write 12 90.00 0.02 >>>>>>>>>> Parse 12 31.67 0.07 >>>>>>>>>> Read 12 19.83 0.15 >>>>>>>>>> Copy 12 35.92 0.05 >>>>>>>>>> scimark 12 1792.69 0.00 >>>>>>>>>> LU 12 4221.96 0.00 >>>>>>>>>> FFT 12 396.07 0.01 >>>>>>>>>> Monte 12 876.79 0.01 >>>>>>>>>> SOR 12 1473.68 0.00 >>>>>>>>>> Sparse 12 1994.96 0.01 >>>>>>>>>> specjbb2000 12 795853.13 0.01 >>>>>>>>>> Last_Warehouse 12 795853.13 0.01 >>>>>>>>>> First_Warehouse 12 116126.64 0.01 >>>>>>>>>> specjbb2005 12 657436.88 0.01 >>>>>>>>>> last 12 657436.86 0.01 >>>>>>>>>> interval_average 12 10114.42 0.01 >>>>>>>>>> peak 12 735806.35 0.01 >>>>>>>>>> overall_average 12 610453.78 0.01 >>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>> peak_warehouse 12 2.50 0.21 >>>>>>>>>> first 12 56556.37 0.01 >>>>>>>>>> specjvm98 12 1037.04 0.02 >>>>>>>>>> compress 12 831.64 0.01 >>>>>>>>>> javac 12 465.49 0.08 >>>>>>>>>> db 12 515.11 0.01 >>>>>>>>>> jack 12 1398.88 0.02 >>>>>>>>>> mtrt 12 2614.33 0.11 >>>>>>>>>> jess 12 1195.19 0.04 >>>>>>>>>> mpegaudio 12 1491.24 0.01 >>>>>>>>>> volano25 12 509262.66 0.04 >>>>>>>>>> time 12 1.57 0.04 >>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 46117.90 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_new: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>> Significant >>>>>>>>>> jetstream 12 271.15 0.04 1.91 >>>>>>>>>> 0.294 * >>>>>>>>>> Write 12 88.00 0.02 2.22 >>>>>>>>>> 0.015 * >>>>>>>>>> Parse 12 31.83 0.08 -0.53 >>>>>>>>>> 0.869 * >>>>>>>>>> Read 12 18.67 0.14 5.88 >>>>>>>>>> 0.307 * >>>>>>>>>> Copy 12 35.92 0.05 -0.00 >>>>>>>>>> 1.000 * >>>>>>>>>> scimark 12 1798.19 0.00 0.31 >>>>>>>>>> 0.006 Yes >>>>>>>>>> LU 12 4240.68 0.00 0.44 >>>>>>>>>> 0.002 Yes >>>>>>>>>> FFT 12 399.76 0.02 0.93 >>>>>>>>>> 0.150 * >>>>>>>>>> Monte 12 874.18 0.01 -0.30 >>>>>>>>>> 0.242 * >>>>>>>>>> SOR 12 1473.97 0.00 0.02 >>>>>>>>>> 0.235 * >>>>>>>>>> Sparse 12 2002.35 0.01 0.37 >>>>>>>>>> 0.332 * >>>>>>>>>> specjbb2000 12 787858.63 0.03 -1.00 >>>>>>>>>> 0.290 * >>>>>>>>>> Last_Warehouse 12 787858.59 0.03 -1.00 >>>>>>>>>> 0.290 * >>>>>>>>>> First_Warehouse 12 116645.31 0.02 0.45 >>>>>>>>>> 0.572 * >>>>>>>>>> specjbb2005 12 657887.44 0.01 0.07 >>>>>>>>>> 0.820 * >>>>>>>>>> last 12 657887.45 0.01 0.07 >>>>>>>>>> 0.820 * >>>>>>>>>> interval_average 12 10121.25 0.01 0.07 >>>>>>>>>> 0.822 * >>>>>>>>>> peak 12 737268.41 0.01 0.20 >>>>>>>>>> 0.580 * >>>>>>>>>> overall_average 12 612183.21 0.01 0.28 >>>>>>>>>> 0.318 * >>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> peak_warehouse 12 2.67 0.18 -6.67 >>>>>>>>>> 0.430 * >>>>>>>>>> first 12 56839.78 0.01 0.50 >>>>>>>>>> 0.343 * >>>>>>>>>> specjvm98 12 1045.08 0.02 0.78 >>>>>>>>>> 0.333 * >>>>>>>>>> compress 12 830.84 0.00 -0.10 >>>>>>>>>> 0.671 * >>>>>>>>>> javac 12 487.46 0.09 4.72 >>>>>>>>>> 0.192 * >>>>>>>>>> db 12 518.01 0.01 0.56 >>>>>>>>>> 0.041 * >>>>>>>>>> jack 12 1440.04 0.03 2.94 >>>>>>>>>> 0.010 Yes >>>>>>>>>> mtrt 12 2569.15 0.08 -1.73 >>>>>>>>>> 0.656 * >>>>>>>>>> jess 12 1188.40 0.04 -0.57 >>>>>>>>>> 0.742 * >>>>>>>>>> mpegaudio 12 1486.04 0.01 -0.35 >>>>>>>>>> 0.184 * >>>>>>>>>> volano25 12 505473.50 0.02 -0.74 >>>>>>>>>> 0.600 * >>>>>>>>>> time 12 1.58 0.02 -0.60 >>>>>>>>>> 0.674 * >>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 46149.13 0.07 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [3] Results from sparcv9 solaris (mrspock): >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_base: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>> jetstream 12 36.03 0.01 >>>>>>>>>> Copy 12 258.08 0.00 >>>>>>>>>> Parse 12 337.08 0.00 >>>>>>>>>> Read 12 126.67 0.04 >>>>>>>>>> Write 12 538.83 0.00 >>>>>>>>>> scimark 12 44.36 0.01 >>>>>>>>>> Sparse 12 27.44 0.01 >>>>>>>>>> LU 12 51.53 0.02 >>>>>>>>>> SOR 12 80.13 0.01 >>>>>>>>>> FFT 12 14.28 0.00 >>>>>>>>>> Monte 12 48.44 0.00 >>>>>>>>>> specjbb2000 12 80257.23 0.00 >>>>>>>>>> First_Warehouse 12 10756.41 0.01 >>>>>>>>>> Last_Warehouse 12 80257.24 0.00 >>>>>>>>>> specjbb2005 12 274794.56 0.02 >>>>>>>>>> peak 12 274794.56 0.02 >>>>>>>>>> peak_warehouse 12 8.00 0.00 >>>>>>>>>> last 12 274794.56 0.02 >>>>>>>>>> interval_average 12 535.58 0.02 >>>>>>>>>> first 12 5079.05 0.02 >>>>>>>>>> overall_average 12 121172.61 0.07 >>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>> specjvm98 12 81.51 0.01 >>>>>>>>>> javac 12 58.26 0.01 >>>>>>>>>> db 12 54.68 0.03 >>>>>>>>>> jess 12 88.80 0.00 >>>>>>>>>> jack 12 41.98 0.01 >>>>>>>>>> compress 12 87.66 0.00 >>>>>>>>>> mtrt 12 228.86 0.01 >>>>>>>>>> mpegaudio 12 100.37 0.00 >>>>>>>>>> volano25 12 114566.00 0.15 >>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>> time 12 7.15 0.17 >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 6260.91 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> refworkload_new: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>> Significant >>>>>>>>>> jetstream 12 35.91 0.00 -0.35 >>>>>>>>>> 0.264 * >>>>>>>>>> Copy 12 257.00 0.00 0.42 >>>>>>>>>> 0.007 Yes >>>>>>>>>> Parse 12 347.33 0.01 -3.04 >>>>>>>>>> 0.000 Yes >>>>>>>>>> Read 12 125.75 0.00 0.72 >>>>>>>>>> 0.528 * >>>>>>>>>> Write 12 536.00 0.00 0.53 >>>>>>>>>> 0.000 Yes >>>>>>>>>> scimark 12 44.62 0.01 0.58 >>>>>>>>>> 0.028 * >>>>>>>>>> Sparse 12 27.48 0.00 0.16 >>>>>>>>>> 0.400 * >>>>>>>>>> LU 12 51.82 0.01 0.57 >>>>>>>>>> 0.487 * >>>>>>>>>> SOR 12 81.20 0.01 1.34 >>>>>>>>>> 0.001 Yes >>>>>>>>>> FFT 12 14.26 0.01 -0.10 >>>>>>>>>> 0.617 * >>>>>>>>>> Monte 12 48.34 0.00 -0.22 >>>>>>>>>> 0.154 * >>>>>>>>>> specjbb2000 12 80075.02 0.01 -0.23 >>>>>>>>>> 0.213 * >>>>>>>>>> First_Warehouse 12 10871.56 0.02 1.07 >>>>>>>>>> 0.169 * >>>>>>>>>> Last_Warehouse 12 80075.01 0.01 -0.23 >>>>>>>>>> 0.213 * >>>>>>>>>> specjbb2005 12 271688.31 0.03 -1.13 >>>>>>>>>> 0.276 * >>>>>>>>>> peak 12 271688.33 0.03 -1.13 >>>>>>>>>> 0.276 * >>>>>>>>>> peak_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> last 12 271688.33 0.03 -1.13 >>>>>>>>>> 0.276 * >>>>>>>>>> interval_average 12 529.75 0.03 -1.09 >>>>>>>>>> 0.291 * >>>>>>>>>> first 12 5135.88 0.02 1.12 >>>>>>>>>> 0.128 * >>>>>>>>>> overall_average 12 118168.54 0.05 -2.48 >>>>>>>>>> 0.334 * >>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> specjvm98 12 81.23 0.01 -0.34 >>>>>>>>>> 0.221 * >>>>>>>>>> javac 12 57.66 0.01 -1.02 >>>>>>>>>> 0.021 * >>>>>>>>>> db 12 53.89 0.04 -1.44 >>>>>>>>>> 0.278 * >>>>>>>>>> jess 12 89.33 0.01 0.60 >>>>>>>>>> 0.009 Yes >>>>>>>>>> jack 12 41.75 0.01 -0.56 >>>>>>>>>> 0.091 * >>>>>>>>>> compress 12 87.59 0.00 -0.07 >>>>>>>>>> 0.545 * >>>>>>>>>> mtrt 12 229.51 0.02 0.29 >>>>>>>>>> 0.640 * >>>>>>>>>> mpegaudio 12 100.24 0.00 -0.13 >>>>>>>>>> 0.453 * >>>>>>>>>> volano25 12 104635.84 0.21 -8.67 >>>>>>>>>> 0.232 * >>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> time 12 8.02 0.24 -12.16 >>>>>>>>>> 0.208 * >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 6128.92 -2.11 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [4] Results from Roland's x64 Linux: >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> tbase: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>> jetstream 12 84.09 0.04 >>>>>>>>>> Copy 12 952.42 0.05 >>>>>>>>>> Parse 12 44.33 0.04 >>>>>>>>>> Read 12 15.00 0.03 >>>>>>>>>> Write 12 320.33 0.16 >>>>>>>>>> scimark 12 457.72 0.00 >>>>>>>>>> Sparse 12 279.24 0.00 >>>>>>>>>> LU 12 702.48 0.00 >>>>>>>>>> SOR 12 764.40 0.00 >>>>>>>>>> FFT 12 32.23 0.00 >>>>>>>>>> Monte 12 510.25 0.00 >>>>>>>>>> specjbb2000 12 397041.59 0.01 >>>>>>>>>> First_Warehouse 12 61010.62 0.01 >>>>>>>>>> Last_Warehouse 12 397041.60 0.01 >>>>>>>>>> specjbb2005 12 211800.03 0.01 >>>>>>>>>> peak 12 229864.05 0.01 >>>>>>>>>> peak_warehouse 12 4.00 0.00 >>>>>>>>>> last 12 211800.03 0.01 >>>>>>>>>> interval_average 12 12459.00 0.01 >>>>>>>>>> first 12 36496.39 0.01 >>>>>>>>>> overall_average 12 184620.84 0.01 >>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>> specjvm98 12 675.34 0.00 >>>>>>>>>> javac 12 396.86 0.00 >>>>>>>>>> db 12 463.10 0.00 >>>>>>>>>> jess 12 671.13 0.01 >>>>>>>>>> jack 12 544.39 0.01 >>>>>>>>>> compress 12 597.28 0.00 >>>>>>>>>> mtrt 12 1724.51 0.01 >>>>>>>>>> mpegaudio 12 926.39 0.00 >>>>>>>>>> volano25 12 161056.08 0.05 >>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>> time 12 4.98 0.04 >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 16931.56 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> tniclas: reference_server >>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>> Significant >>>>>>>>>> jetstream 12 88.03 0.02 4.68 >>>>>>>>>> 0.003 Yes >>>>>>>>>> Copy 12 866.75 0.07 8.99 >>>>>>>>>> 0.001 Yes >>>>>>>>>> Parse 12 42.83 0.01 3.38 >>>>>>>>>> 0.012 * >>>>>>>>>> Read 12 14.83 0.04 1.11 >>>>>>>>>> 0.431 * >>>>>>>>>> Write 12 303.67 0.02 5.20 >>>>>>>>>> 0.291 * >>>>>>>>>> scimark 12 457.89 0.00 0.04 >>>>>>>>>> 0.116 * >>>>>>>>>> Sparse 12 279.82 0.00 0.21 >>>>>>>>>> 0.033 * >>>>>>>>>> LU 12 702.76 0.00 0.04 >>>>>>>>>> 0.122 * >>>>>>>>>> SOR 12 764.59 0.00 0.02 >>>>>>>>>> 0.636 * >>>>>>>>>> FFT 12 32.28 0.00 0.15 >>>>>>>>>> 0.098 * >>>>>>>>>> Monte 12 509.99 0.00 -0.05 >>>>>>>>>> 0.127 * >>>>>>>>>> specjbb2000 12 398055.84 0.01 0.26 >>>>>>>>>> 0.540 * >>>>>>>>>> First_Warehouse 12 61447.70 0.01 0.72 >>>>>>>>>> 0.005 Yes >>>>>>>>>> Last_Warehouse 12 398055.85 0.01 0.26 >>>>>>>>>> 0.540 * >>>>>>>>>> specjbb2005 12 212037.69 0.01 0.11 >>>>>>>>>> 0.657 * >>>>>>>>>> peak 12 230138.69 0.01 0.12 >>>>>>>>>> 0.773 * >>>>>>>>>> peak_warehouse 12 4.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> last 12 212037.69 0.01 0.11 >>>>>>>>>> 0.657 * >>>>>>>>>> interval_average 12 12473.00 0.01 0.11 >>>>>>>>>> 0.657 * >>>>>>>>>> first 12 36631.47 0.01 0.37 >>>>>>>>>> 0.174 * >>>>>>>>>> overall_average 12 184966.28 0.01 0.19 >>>>>>>>>> 0.529 * >>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> specjvm98 12 673.85 0.00 -0.22 >>>>>>>>>> 0.058 * >>>>>>>>>> javac 12 397.12 0.01 0.07 >>>>>>>>>> 0.786 * >>>>>>>>>> db 12 463.87 0.00 0.17 >>>>>>>>>> 0.262 * >>>>>>>>>> jess 12 667.62 0.01 -0.52 >>>>>>>>>> 0.213 * >>>>>>>>>> jack 12 543.46 0.01 -0.17 >>>>>>>>>> 0.656 * >>>>>>>>>> compress 12 596.70 0.00 -0.10 >>>>>>>>>> 0.306 * >>>>>>>>>> mtrt 12 1704.44 0.01 -1.16 >>>>>>>>>> 0.006 Yes >>>>>>>>>> mpegaudio 12 928.21 0.00 0.20 >>>>>>>>>> 0.135 * >>>>>>>>>> volano25 12 162796.33 0.05 1.08 >>>>>>>>>> 0.588 * >>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>> 0.000 * >>>>>>>>>> time 12 4.93 0.05 1.03 >>>>>>>>>> 0.592 * >>>>>>>>>> >>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Weighted Geomean 17052.36 0.71 >>>>>>>>>> ============================================================================ >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>> > From christian.thalinger at oracle.com Mon Jun 3 09:57:56 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 3 Jun 2013 09:57:56 -0700 Subject: RFR(L): 8008407: remove SPARC V8 support In-Reply-To: <51AA437F.5070900@oracle.com> References: <51A8FF08.7010801@oracle.com> <83D9F566-339D-48CE-AB75-D5139DE29C46@oracle.com> <51AA437F.5070900@oracle.com> Message-ID: On Jun 1, 2013, at 11:54 AM, Morris Meyer wrote: > I removed these things accordingly - and got failure on JPRT. Error: failed /tmp/jprt/T1/172500.mameyer/testproduct/solaris_sparcv9_5.10-fastdebug/jre/lib/sparcv9/server/libjvm.so, because ld.so.1: java: fatal: relocation error: file /tmp/jprt/T1/172500.mameyer/testproduct/solaris_sparcv9_5.10-fastdebug/jre/lib/sparcv9/server/libjvm.so: symbol __1cOMacroAssemblerEmult6MpnMRegisterImpl_22_v_: referenced symbol not found Did you remove all the uses too? > > I left the v9_dep changes in as a marker to the future instructions that need to be removed. That's reasonable. -- Chris > > --mm > > > JPRT - http://prt-web.us.oracle.com//archive/2013/06/2013-06-01-172500.mameyer.8008407//JobStatus.txt > > WEBREV - http://cr.openjdk.java.net/~morris/8008407.02 > > On 5/31/13 5:57 PM, Christian Thalinger wrote: >> src/cpu/sparc/vm/assembler_sparc.hpp: >> >> Can you also remove these: >> >> v9_only, v9_dep, and (if possible) v8_no_cc. >> >> src/cpu/sparc/vm/macroAssembler_sparc.cpp: >> >> Also remove these (now useless) wrappers: >> >> void MacroAssembler::mult(Register s1, Register s2, Register d) { >> void MacroAssembler::mult(Register s1, int simm13a, Register d) { >> >> src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp: >> >> Could you also get rid of get_pc like in my changes for 8007415: >> >> 1) src/cpu/sparc/vm/macroAssembler_sparc.cpp: >> >> - inc(L4, get_pc(L4) + 2 * BytesPerInstWord); // skip getpc() code + inc + st_ptr to point L4 at call >> + rdpc(L4); >> + inc(L4, 3 * BytesPerInstWord); // skip rdpc + inc + st_ptr to point L4 at call >> >> 2) src/cpu/sparc/vm/sparc.ad: >> >> - __ get_pc(L2); >> + __ rdpc(L2); >> >> src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp: >> >> Since _Atomic_move_long_v8 is not used anymore you can removed it from: >> >> src/os_cpu/solaris_sparc/vm/solaris_sparc.il >> >> -- Chris >> >> On May 31, 2013, at 12:50 PM, Morris Meyer wrote: >> >>> Could I get a review for this issue? >>> >>> This patch is based on work originally by Christian Thalinger with several chunks of V8 removal from me. There are a few V8 instructions left - LDD, STD, CASA and a few others. Follow on bugs will be assigned to rework each specific instruction. >>> >>> These changes have been tested with the vm regression suite and JPRT. >>> >>> Thanks in advance. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008407.01 >>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008407 >>> >>> > From vladimir.kozlov at oracle.com Mon Jun 3 13:47:11 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Mon, 03 Jun 2013 20:47:11 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8013329: File leak in hotspot/src/share/vm/compiler/compileBroker.cpp Message-ID: <20130603204713.B4FBC48EFD@hg.openjdk.java.net> Changeset: 813f26e34135 Author: anoll Date: 2013-06-03 08:52 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/813f26e34135 8013329: File leak in hotspot/src/share/vm/compiler/compileBroker.cpp Summary: Added calling of the destructor of CompileLog so that files are closed. Added/moved memory allocation/deallocation of the string that contains the name of the log file to class CompileLog. Reviewed-by: kvn, roland ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compileLog.hpp From christian.thalinger at oracle.com Mon Jun 3 15:06:36 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 3 Jun 2013 15:06:36 -0700 Subject: RFR(M) 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked In-Reply-To: References: <3A0B9808-55D3-4E98-89BF-765F6801FB1F@oracle.com> Message-ID: On Jun 3, 2013, at 1:29 AM, Roland Westrelin wrote: > Christian, > > Can you confirm the last webrev: > > http://cr.openjdk.java.net/~roland/7199175/webrev.02/ > > is ok with you? Looks good. The only thing that looks odd is this method: +PatchingStub::PatchID LIR_Assembler::patching_id(CodeEmitInfo* info) { + PatchingStub::PatchID id = PatchingStub::load_mirror_id; + IRScope* scope = info->scope(); + Bytecodes::Code bc_raw = scope->method()->raw_code_at_bci(info->stack()->bci()); + if (Bytecodes::has_optional_appendix(bc_raw)) { + id = PatchingStub::load_appendix_id; + } + return id; +} It would be easier to read doing it like: +PatchingStub::PatchID LIR_Assembler::patching_id(CodeEmitInfo* info) { + IRScope* scope = info->scope(); + Bytecodes::Code bc_raw = scope->method()->raw_code_at_bci(info->stack()->bci()); + if (Bytecodes::has_optional_appendix(bc_raw)) { + return PatchingStub::load_appendix_id; + } + return PatchingStub::load_mirror_id; +} -- Chris > > Roland. From vladimir.kozlov at oracle.com Mon Jun 3 16:53:12 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Mon, 03 Jun 2013 23:53:12 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8005956: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Message-ID: <20130603235314.1064948F03@hg.openjdk.java.net> Changeset: b274ac1dbe11 Author: adlertz Date: 2013-06-03 12:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b274ac1dbe11 8005956: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Summary: Disable re-materialization of reaching definitions (which have live inputs) for phi nodes when spilling. Reviewed-by: twisti, kvn ! src/share/vm/opto/reg_split.cpp From vladimir.kozlov at oracle.com Mon Jun 3 20:03:27 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 04 Jun 2013 03:03:27 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 30 new changesets Message-ID: <20130604030502.DF39948F12@hg.openjdk.java.net> Changeset: ccdecfece956 Author: bharadwaj Date: 2013-05-21 16:17 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ccdecfece956 8014059: JSR292: Failed to reject invalid class cplmhl00201m28n Summary: Restrict reference of interface methods by invokestatic and invokespecial to classfile version 52 or later. Reviewed-by: kvn, hseigel ! src/share/vm/classfile/classFileParser.cpp Changeset: f54c85acc043 Author: mikael Date: 2013-05-21 09:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f54c85acc043 8013726: runtime/memory/ReserveMemory.java fails due to 'assert(bytes % os::vm_allocation_granularity() == 0) failed: reserve block size' Summary: Fix regression test to work on all platforms Reviewed-by: ctornqvi, dholmes ! src/share/vm/prims/whitebox.cpp ! test/runtime/memory/ReserveMemory.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 1a07e086ff28 Author: dholmes Date: 2013-05-21 19:52 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1a07e086ff28 Merge Changeset: 6bd680e9ea35 Author: coleenp Date: 2013-05-22 14:37 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6bd680e9ea35 8003421: NPG: Move oops out of InstanceKlass into mirror Summary: Inject protection_domain, signers, init_lock into java_lang_Class Reviewed-by: stefank, dholmes, sla ! agent/src/share/classes/sun/jvm/hotspot/memory/DictionaryEntry.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapGXLWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/JSJavaInstanceKlass.java ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/objArrayKlass.hpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 699d9df07e59 Author: ctornqvi Date: 2013-05-23 17:39 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/699d9df07e59 8009576: Test returns ClassNotFoundException Summary: Small classpath fix and move tests into open Reviewed-by: mgerdin, zgu + test/runtime/Metaspace/FragmentMetaspace.java + test/runtime/Metaspace/FragmentMetaspaceSimple.java + test/runtime/Metaspace/classes/test/Empty.java + test/runtime/testlibrary/GeneratedClassLoader.java Changeset: b7fa10a3a69a Author: sspitsyn Date: 2013-05-23 23:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b7fa10a3a69a 8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes Summary: The fix of perf regression is to use method_idnum() for direct indexing into NMT Reviewed-by: twisti, kvn, coleenp, dholmes Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp Changeset: cd83e1d98347 Author: dcubed Date: 2013-05-24 10:21 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/cd83e1d98347 Merge Changeset: 6c138b9851fb Author: sspitsyn Date: 2013-05-24 17:36 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6c138b9851fb 8013945: CMS fatal error: must own lock MemberNameTable_lock Summary: The "delete mnt" needs to grab MemberNameTable_lock if !SafepointSynchronize::is_at_safepoint() Reviewed-by: sla, mgerdin, dholmes, jmasa Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/instanceKlass.cpp Changeset: 3970971c91e0 Author: shade Date: 2013-05-27 12:49 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3970971c91e0 8015270: @Contended: fix multiple issues in the layout code Summary: field count handling fixed, has_nonstatic_fields invariant fixed, oop map overrun fixed; new asserts Reviewed-by: kvn, dcubed, coleenp ! src/share/vm/classfile/classFileParser.cpp + test/runtime/contended/HasNonStatic.java + test/runtime/contended/OopMaps.java Changeset: a213d425d87a Author: ctornqvi Date: 2013-05-28 15:08 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a213d425d87a 8015329: Print reason for failed MiniDumpWriteDump() call Summary: Printing both result from GetLastError and text representation of error. Also changed so that we produce dumps by default on client versions of Windows when running with a debug build. Also reviewed by peter.allwin at oracle.com Reviewed-by: sla, dholmes ! src/os/windows/vm/os_windows.cpp Changeset: 51af5fae397d Author: ccheung Date: 2013-05-24 17:19 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/51af5fae397d 8015265: revise the fix for 8007037 Reviewed-by: sspitsyn, dholmes, dcubed ! src/share/vm/oops/constantPool.cpp Changeset: 4cc7d4d5dc92 Author: zgu Date: 2013-05-28 08:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4cc7d4d5dc92 Merge Changeset: 01c2bdd24bb5 Author: shade Date: 2013-05-28 19:54 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/01c2bdd24bb5 8015493: runtime/contended/OopMaps.java fails with OutOfMemory Summary: limit the memory footprint to dodge OutOfMemory errors. Reviewed-by: dcubed, ctornqvi, iignatyev ! test/runtime/contended/OopMaps.java Changeset: 9ea643afcaaf Author: dcubed Date: 2013-05-28 11:35 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9ea643afcaaf Merge Changeset: dcb062bea05b Author: jprovino Date: 2013-05-28 11:17 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/dcb062bea05b 8013461: There is a symbol AsyncGetCallTrace in libjvm.symbols that does not exist in minimal/libjvm.a when DEBUG_LEVEL == release Summary: AsyncGetCallTrace is needed in libjvm.symbols so that programs which reference it can build correctly. Reviewed-by: dholmes, bobv ! make/excludeSrc.make ! src/share/vm/prims/forte.cpp Changeset: fb14e9ed1594 Author: jprovino Date: 2013-05-28 11:32 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fb14e9ed1594 8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82 Summary: NMT_detail is only supported when frame pointers are not omitted (-fno-omit-frame-pointer). Reviewed-by: dholmes, cjplummer ! src/share/vm/services/memTracker.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 9e954e8d9139 Author: jprovino Date: 2013-05-28 15:24 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9e954e8d9139 Merge Changeset: 9e86c5544295 Author: jiangli Date: 2013-05-30 13:19 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9e86c5544295 Merge Changeset: 0def34ab1c98 Author: tamao Date: 2013-05-21 16:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0def34ab1c98 8015007: Incorrect print format in error message for VM cannot allocate the requested heap Summary: Correct the wrong print format in error message for VM cannot allocate the requested heap; and clean up the error message call in check_alignment() Reviewed-by: brutisso, tschatzl Contributed-by: tamao ! src/share/vm/memory/universe.cpp Changeset: 14d3f71f831d Author: tamao Date: 2013-05-22 11:11 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/14d3f71f831d 8007762: Rename a bunch of methods in size policy across collectors Summary: Rename: compute_generations_free_space() = compute_eden_space_size() + compute_old_gen_free_space(); update related logging messages Reviewed-by: jmasa, johnc, tschatzl, brutisso Contributed-by: tamao ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parNew/asParNewGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp Changeset: 0886b99a4d1b Author: jwilhelm Date: 2013-05-24 14:16 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0886b99a4d1b Merge Changeset: eda078b01c65 Author: stefank Date: 2013-05-27 15:22 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/eda078b01c65 8015268: NPG: 2.5% regression in young GC times on CRM Sales Opty Summary: Split SystemDictionary and ClassLoaderDataGraph root processing to help load balancing. Reviewed-by: tschatzl, johnc ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp ! src/share/vm/memory/sharedHeap.cpp Changeset: 95c00927be11 Author: stefank Date: 2013-05-27 12:56 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/95c00927be11 8015428: Remove unused CDS support from StringTable Summary: The string in StringTable is not used by CDS anymore. Remove the unnecessary code in preparation for 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge Reviewed-by: pliden, tschatzl, coleenp ! src/share/vm/classfile/symbolTable.cpp Changeset: 8dbc025ff709 Author: stefank Date: 2013-05-27 12:58 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8dbc025ff709 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge Summary: Combine the calls to StringTable::unlink and StringTable::oops_do in Parallel Scavenge. Reviewed-by: pliden, coleenp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Changeset: f41a577cffb0 Author: jwilhelm Date: 2013-05-31 09:55 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f41a577cffb0 Merge Changeset: 573d86d412cd Author: katleman Date: 2013-05-30 10:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/573d86d412cd Added tag jdk8-b92 for changeset 092018493d3b ! .hgtags Changeset: b786c04b7be1 Author: amurillo Date: 2013-05-31 09:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b786c04b7be1 Merge Changeset: 5a028ee56116 Author: amurillo Date: 2013-05-31 09:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5a028ee56116 Added tag hs25-b35 for changeset b786c04b7be1 ! .hgtags Changeset: b7569f617285 Author: amurillo Date: 2013-05-31 10:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b7569f617285 8015690: new hotspot build - hs25-b36 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 770e91e578a6 Author: kvn Date: 2013-06-03 14:02 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/770e91e578a6 Merge From albert.noll at oracle.com Tue Jun 4 02:22:09 2013 From: albert.noll at oracle.com (Albert Noll) Date: Tue, 04 Jun 2013 11:22:09 +0200 Subject: RFR (XXS): 8006105: [parfait] Possible null pointer dereference at hotspot/src/share/vm/c1/c1_LIRGenerator.cpp In-Reply-To: References: <19b6611a-eee2-4500-bbac-1456529e1c4d@default> Message-ID: <51ADB1C1.9060605@oracle.com> Hi, I added an assert to check that src_con is not NULL. Is this solution ok? http://cr.openjdk.java.net/~anoll/8006105/webrev.01/ Best, Albert jbs: https://jbs.oracle.com/bugs/browse/JDK-8006105 On 29.04.2013 20:22, Roland Westrelin wrote: >> How about using guarantee(...) to ensure that src_con != NULL? > An assert is really the only thing that would make sense here. > > Roland. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130604/bf152bdf/attachment.html From morris.meyer at oracle.com Tue Jun 4 08:15:17 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 04 Jun 2013 11:15:17 -0400 Subject: RFR(XS): 8015437: out-of-range SPARC assertion crash Message-ID: <51AE0485.6020302@oracle.com> Folks, Could I get a review of this fix for an assembler code value out of range in the SPARC MacroAssembler? The original code was incorrect in that it didn't check the size of the position offset. This has been tested with JPRT. --mm WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 From morris.meyer at oracle.com Tue Jun 4 08:28:22 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 04 Jun 2013 11:28:22 -0400 Subject: RFR(XS): 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Message-ID: <51AE0796.9020009@oracle.com> Folks, Could I get a review for this parfait issue in the C1 compiler? Its been through JPRT. Thanks in advance, --morris WEBREV - http://cr.openjdk.java.net/~morris/8010724.01 JBS - https://jbs.oracle.com/bugs/browse/JDK-8010724 From morris.meyer at oracle.com Tue Jun 4 08:47:54 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 04 Jun 2013 11:47:54 -0400 Subject: RFR(XS): 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp In-Reply-To: <51AE0796.9020009@oracle.com> References: <51AE0796.9020009@oracle.com> Message-ID: <51AE0C2A.70506@oracle.com> Sorry - please use this link for the webrev. Thanks. --morris WEBREV - http://cr.openjdk.java.net/~morris/JDK-8010724.01 On 6/4/13 11:28 AM, Morris Meyer wrote: > Folks, > > Could I get a review for this parfait issue in the C1 compiler? Its > been through JPRT. > > Thanks in advance, > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8010724.01 > JBS - https://jbs.oracle.com/bugs/browse/JDK-8010724 From christian.thalinger at oracle.com Tue Jun 4 09:18:30 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 4 Jun 2013 09:18:30 -0700 Subject: RFR(XS): 8015437: out-of-range SPARC assertion crash In-Reply-To: <51AE0485.6020302@oracle.com> References: <51AE0485.6020302@oracle.com> Message-ID: <09360D90-3AA8-4921-B8C2-FAA1AF13D577@oracle.com> - } else { + } if (Assembler::is_simm16(pos)) { That looks wrong. + } else { + ShouldNotReachHere(); Could you use fatal with a useful error message? -- Chris On Jun 4, 2013, at 8:15 AM, Morris Meyer wrote: > Folks, > > Could I get a review of this fix for an assembler code value out of range in the SPARC MacroAssembler? > > The original code was incorrect in that it didn't check the size of the position offset. This has been tested with JPRT. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 > JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 From vladimir.kozlov at oracle.com Tue Jun 4 09:54:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 04 Jun 2013 09:54:04 -0700 Subject: RFR(XS): 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp In-Reply-To: <51AE0C2A.70506@oracle.com> References: <51AE0796.9020009@oracle.com> <51AE0C2A.70506@oracle.com> Message-ID: <51AE1BAC.80605@oracle.com> Looks fine. Vladimir On 6/4/13 8:47 AM, Morris Meyer wrote: > Sorry - please use this link for the webrev. Thanks. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/JDK-8010724.01 > > On 6/4/13 11:28 AM, Morris Meyer wrote: >> Folks, >> >> Could I get a review for this parfait issue in the C1 compiler? Its >> been through JPRT. >> >> Thanks in advance, >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/8010724.01 >> JBS - https://jbs.oracle.com/bugs/browse/JDK-8010724 > From vladimir.kozlov at oracle.com Tue Jun 4 10:04:31 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 04 Jun 2013 10:04:31 -0700 Subject: RFR(XS): 8015437: out-of-range SPARC assertion crash In-Reply-To: <51AE0485.6020302@oracle.com> References: <51AE0485.6020302@oracle.com> Message-ID: <51AE1E1F.4070303@oracle.com> This fix is incorrect. cbcond instruction only accept wdisp10. You need to fix place where cbcond is used with distance > 10bits to use normal branch instead. Vladimir On 6/4/13 8:15 AM, Morris Meyer wrote: > Folks, > > Could I get a review of this fix for an assembler code value out of > range in the SPARC MacroAssembler? > > The original code was incorrect in that it didn't check the size of the > position offset. This has been tested with JPRT. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 > JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 From morris.meyer at oracle.com Tue Jun 4 19:46:42 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Wed, 05 Jun 2013 02:46:42 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Message-ID: <20130605024648.E356048F5B@hg.openjdk.java.net> Changeset: 075ea888b039 Author: morris Date: 2013-06-04 12:06 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/075ea888b039 8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Summary: added guarantee() Reviewed-by: kvn ! src/share/vm/c1/c1_LIRGenerator.cpp From albert.noll at oracle.com Wed Jun 5 00:36:10 2013 From: albert.noll at oracle.com (Albert Noll) Date: Wed, 05 Jun 2013 09:36:10 +0200 Subject: RFR (XS): 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long Message-ID: <51AEEA6A.3050108@oracle.com> Hi, thanks for reviewing this small patch. jbs: https://jbs.oracle.com/bugs/browse/JDK-8014246 webrev: http://cr.openjdk.java.net/~anoll/8014246/webrev.00/ Problem: Graal uses Unsafe access to implement e.g. monitorenter and monitorexit in Java. The assert added withJDK-7012072 makes this impossible in debug builds. Furthermore it is inconsistent since the assert is only in unsafe.cpp. If we compile and intrinsify one of these Unsafe methods the check does not apply. Solution: remove assert The jprt run was successful. Best, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130605/f0dca51c/attachment.html From christian.thalinger at oracle.com Wed Jun 5 00:48:12 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Wed, 05 Jun 2013 07:48:12 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8015252: Enable HotSpot build with Clang Message-ID: <20130605074816.DDD9048F72@hg.openjdk.java.net> Changeset: 2cb5d5f6d5e5 Author: simonis Date: 2013-06-04 22:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2cb5d5f6d5e5 8015252: Enable HotSpot build with Clang Reviewed-by: twisti, dholmes, kvn ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/adlc.make ! make/linux/makefiles/gcc.make ! src/os/bsd/vm/os_bsd.cpp ! src/os_cpu/linux_x86/vm/linux_x86_32.s ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp From albert.noll at oracle.com Wed Jun 5 03:25:41 2013 From: albert.noll at oracle.com (Albert Noll) Date: Wed, 05 Jun 2013 12:25:41 +0200 Subject: RFR (XXS): 8006105: [parfait] Possible null pointer dereference at hotspot/src/share/vm/c1/c1_LIRGenerator.cpp In-Reply-To: <51ADB1C1.9060605@oracle.com> References: <19b6611a-eee2-4500-bbac-1456529e1c4d@default> <51ADB1C1.9060605@oracle.com> Message-ID: <51AF1225.2050404@oracle.com> Hi, I closed this bug as a duplicate of: https://jbs.oracle.com/bugs/browse/JDK-8010724 Best, Albert On 04.06.2013 11:22, Albert Noll wrote: > Hi, > > I added an assert to check that src_con is not NULL. Is this solution ok? > http://cr.openjdk.java.net/~anoll/8006105/webrev.01/ > > > Best, > Albert > > jbs: https://jbs.oracle.com/bugs/browse/JDK-8006105 > > On 29.04.2013 20:22, Roland Westrelin wrote: >>> How about using guarantee(...) to ensure that src_con != NULL? >> An assert is really the only thing that would make sense here. >> >> Roland. > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130605/3793a7da/attachment.html From christian.thalinger at oracle.com Wed Jun 5 13:34:24 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 5 Jun 2013 13:34:24 -0700 Subject: RFR (XS): 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long In-Reply-To: <51AEEA6A.3050108@oracle.com> References: <51AEEA6A.3050108@oracle.com> Message-ID: <9441BD9C-F582-4F95-B12A-5F3BE8CF4DFA@oracle.com> Looks good. Maybe one additional reviewer would be good since I filed the bug. -- Chris On Jun 5, 2013, at 12:36 AM, Albert Noll wrote: > Hi, > > thanks for reviewing this small patch. > > jbs: https://jbs.oracle.com/bugs/browse/JDK-8014246 > webrev: http://cr.openjdk.java.net/~anoll/8014246/webrev.00/ > > Problem: > Graal uses Unsafe access to implement e.g. monitorenter and monitorexit in Java. The assert added with JDK-7012072 makes this impossible in debug builds. > > Furthermore it is inconsistent since the assert is only in unsafe.cpp. If we compile and intrinsify one of these Unsafe methods the check does not apply. > > Solution: remove assert > > The jprt run was successful. > > Best, > Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130605/00e8ed8c/attachment.html From john.r.rose at oracle.com Wed Jun 5 14:39:30 2013 From: john.r.rose at oracle.com (John Rose) Date: Wed, 5 Jun 2013 14:39:30 -0700 Subject: RFR (XS): 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long In-Reply-To: <51AEEA6A.3050108@oracle.com> References: <51AEEA6A.3050108@oracle.com> Message-ID: On Jun 5, 2013, at 12:36 AM, Albert Noll wrote: > Hi, > > thanks for reviewing this small patch. > > jbs: https://jbs.oracle.com/bugs/browse/JDK-8014246 > webrev: http://cr.openjdk.java.net/~anoll/8014246/webrev.00/ > > Problem: > Graal uses Unsafe access to implement e.g. monitorenter and monitorexit in Java. The assert added with JDK-7012072 makes this impossible in debug builds. > > Furthermore it is inconsistent since the assert is only in unsafe.cpp. If we compile and intrinsify one of these Unsafe methods the check does not apply. It's good. The assert has fulfilled its initial purpose of catching accidental zero offsets. ? John From albert.noll at oracle.com Thu Jun 6 01:32:54 2013 From: albert.noll at oracle.com (Albert Noll) Date: Thu, 06 Jun 2013 10:32:54 +0200 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods Message-ID: <51B04936.5000703@oracle.com> Hi, thank you for reviewing this patch. webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ jbs: https://jbs.oracle.com/bugs/browse/JDK-8005088 Problem: These methods were probably used during porting but were never called since. And only SPARC implements them. Solution: Remove unused methods Passed jprt. Thanks, Albert -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130606/9bfe7879/attachment.html From roland.westrelin at oracle.com Thu Jun 6 01:59:37 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 6 Jun 2013 10:59:37 +0200 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: <51B04936.5000703@oracle.com> References: <51B04936.5000703@oracle.com> Message-ID: > webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ That looks good to me. Roland. From albert.noll at oracle.com Thu Jun 6 03:35:23 2013 From: albert.noll at oracle.com (Albert Noll) Date: Thu, 6 Jun 2013 03:35:23 -0700 (PDT) Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: References: <51B04936.5000703@oracle.com> Message-ID: <51B065EB.5030408@oracle.com> Thank you Roland. Albert On 06.06.2013 10:59, Roland Westrelin wrote: >> webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ > That looks good to me. > > Roland. > From albert.noll at oracle.com Thu Jun 6 08:36:24 2013 From: albert.noll at oracle.com (Albert Noll) Date: Thu, 6 Jun 2013 08:36:24 -0700 (PDT) Subject: RFR (XS): 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long In-Reply-To: References: <51AEEA6A.3050108@oracle.com> Message-ID: <5CE07CB0-0698-412F-938D-894E99B483C7@oracle.com> Christian, John, thanks for the reviews. Best, Albert Von meinem iPhone gesendet Am 05.06.2013 um 23:39 schrieb John Rose : > On Jun 5, 2013, at 12:36 AM, Albert Noll wrote: > >> Hi, >> >> thanks for reviewing this small patch. >> >> jbs: https://jbs.oracle.com/bugs/browse/JDK-8014246 >> webrev: http://cr.openjdk.java.net/~anoll/8014246/webrev.00/ >> >> Problem: >> Graal uses Unsafe access to implement e.g. monitorenter and monitorexit in Java. The assert added with JDK-7012072 makes this impossible in debug builds. >> >> Furthermore it is inconsistent since the assert is only in unsafe.cpp. If we compile and intrinsify one of these Unsafe methods the check does not apply. > > It's good. The assert has fulfilled its initial purpose of catching accidental zero offsets. ? John From vladimir.kozlov at oracle.com Thu Jun 6 09:47:15 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 06 Jun 2013 09:47:15 -0700 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: <51B04936.5000703@oracle.com> References: <51B04936.5000703@oracle.com> Message-ID: <51B0BD13.7080902@oracle.com> Albert, Sorry but I don't think it is correct to remove this verification code. Instead we should use our new facility to execute unit tests in VM: execute_internal_vm_tests() We should add new unit test method which calls all this NativeInstruction tests. Vladimir On 6/6/13 1:32 AM, Albert Noll wrote: > Hi, > > thank you for reviewing this patch. > > webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ > > jbs: https://jbs.oracle.com/bugs/browse/JDK-8005088 > > Problem: These methods were probably used during porting but were never > called since. And only SPARC implements them. > > Solution: Remove unused methods > > Passed jprt. > > Thanks, > Albert From christian.thalinger at oracle.com Thu Jun 6 10:09:44 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 6 Jun 2013 10:09:44 -0700 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: <51B0BD13.7080902@oracle.com> References: <51B04936.5000703@oracle.com> <51B0BD13.7080902@oracle.com> Message-ID: <5F43E3ED-0E1F-45B9-BB6A-1A9EFC174DCA@oracle.com> On Jun 6, 2013, at 9:47 AM, Vladimir Kozlov wrote: > Albert, > > Sorry but I don't think it is correct to remove this verification code. > Instead we should use our new facility to execute unit tests in VM: > > execute_internal_vm_tests() > > We should add new unit test method which calls all this NativeInstruction tests. But then someone should implement the tests on the other platforms as well. -- Chris > > Vladimir > > On 6/6/13 1:32 AM, Albert Noll wrote: >> Hi, >> >> thank you for reviewing this patch. >> >> webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ >> >> jbs: https://jbs.oracle.com/bugs/browse/JDK-8005088 >> >> Problem: These methods were probably used during porting but were never >> called since. And only SPARC implements them. >> >> Solution: Remove unused methods >> >> Passed jprt. >> >> Thanks, >> Albert From vladimir.kozlov at oracle.com Thu Jun 6 10:21:17 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 06 Jun 2013 10:21:17 -0700 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: <5F43E3ED-0E1F-45B9-BB6A-1A9EFC174DCA@oracle.com> References: <51B04936.5000703@oracle.com> <51B0BD13.7080902@oracle.com> <5F43E3ED-0E1F-45B9-BB6A-1A9EFC174DCA@oracle.com> Message-ID: <51B0C50D.6060309@oracle.com> On 6/6/13 10:09 AM, Christian Thalinger wrote: > > On Jun 6, 2013, at 9:47 AM, Vladimir Kozlov wrote: > >> Albert, >> >> Sorry but I don't think it is correct to remove this verification code. >> Instead we should use our new facility to execute unit tests in VM: >> >> execute_internal_vm_tests() >> >> We should add new unit test method which calls all this NativeInstruction tests. > > But then someone should implement the tests on the other platforms as well. It could be done later. Vladimir > > -- Chris > >> >> Vladimir >> >> On 6/6/13 1:32 AM, Albert Noll wrote: >>> Hi, >>> >>> thank you for reviewing this patch. >>> >>> webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ >>> >>> jbs: https://jbs.oracle.com/bugs/browse/JDK-8005088 >>> >>> Problem: These methods were probably used during porting but were never >>> called since. And only SPARC implements them. >>> >>> Solution: Remove unused methods >>> >>> Passed jprt. >>> >>> Thanks, >>> Albert > From christian.thalinger at oracle.com Thu Jun 6 10:23:03 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 6 Jun 2013 10:23:03 -0700 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: <51B0C50D.6060309@oracle.com> References: <51B04936.5000703@oracle.com> <51B0BD13.7080902@oracle.com> <5F43E3ED-0E1F-45B9-BB6A-1A9EFC174DCA@oracle.com> <51B0C50D.6060309@oracle.com> Message-ID: <8E8C277B-1F4F-480C-8128-29C1DA461EF5@oracle.com> On Jun 6, 2013, at 10:21 AM, Vladimir Kozlov wrote: > On 6/6/13 10:09 AM, Christian Thalinger wrote: >> >> On Jun 6, 2013, at 9:47 AM, Vladimir Kozlov wrote: >> >>> Albert, >>> >>> Sorry but I don't think it is correct to remove this verification code. >>> Instead we should use our new facility to execute unit tests in VM: >>> >>> execute_internal_vm_tests() >>> >>> We should add new unit test method which calls all this NativeInstruction tests. >> >> But then someone should implement the tests on the other platforms as well. > > It could be done later. Sure. I didn't mean now but at some point. -- Chris > > Vladimir > >> >> -- Chris >> >>> >>> Vladimir >>> >>> On 6/6/13 1:32 AM, Albert Noll wrote: >>>> Hi, >>>> >>>> thank you for reviewing this patch. >>>> >>>> webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ >>>> >>>> jbs: https://jbs.oracle.com/bugs/browse/JDK-8005088 >>>> >>>> Problem: These methods were probably used during porting but were never >>>> called since. And only SPARC implements them. >>>> >>>> Solution: Remove unused methods >>>> >>>> Passed jprt. >>>> >>>> Thanks, >>>> Albert >> From albert.noll at oracle.com Thu Jun 6 10:37:09 2013 From: albert.noll at oracle.com (Albert Noll) Date: Thu, 06 Jun 2013 19:37:09 +0200 Subject: RFR (L): 8005088: remove unused NativeInstruction::test methods In-Reply-To: <8E8C277B-1F4F-480C-8128-29C1DA461EF5@oracle.com> References: <51B04936.5000703@oracle.com> <51B0BD13.7080902@oracle.com> <5F43E3ED-0E1F-45B9-BB6A-1A9EFC174DCA@oracle.com> <51B0C50D.6060309@oracle.com> <8E8C277B-1F4F-480C-8128-29C1DA461EF5@oracle.com> Message-ID: <51B0C8C5.7070906@oracle.com> Hi, sorry, I did not know that. I'll do that later. Albert On 06.06.2013 19:23, Christian Thalinger wrote: > On Jun 6, 2013, at 10:21 AM, Vladimir Kozlov wrote: > >> On 6/6/13 10:09 AM, Christian Thalinger wrote: >>> On Jun 6, 2013, at 9:47 AM, Vladimir Kozlov wrote: >>> >>>> Albert, >>>> >>>> Sorry but I don't think it is correct to remove this verification code. >>>> Instead we should use our new facility to execute unit tests in VM: >>>> >>>> execute_internal_vm_tests() >>>> >>>> We should add new unit test method which calls all this NativeInstruction tests. >>> But then someone should implement the tests on the other platforms as well. >> It could be done later. > Sure. I didn't mean now but at some point. > > -- Chris > >> Vladimir >> >>> -- Chris >>> >>>> Vladimir >>>> >>>> On 6/6/13 1:32 AM, Albert Noll wrote: >>>>> Hi, >>>>> >>>>> thank you for reviewing this patch. >>>>> >>>>> webrev: http://cr.openjdk.java.net/~anoll/8005088/webrev.00/ >>>>> >>>>> jbs: https://jbs.oracle.com/bugs/browse/JDK-8005088 >>>>> >>>>> Problem: These methods were probably used during porting but were never >>>>> called since. And only SPARC implements them. >>>>> >>>>> Solution: Remove unused methods >>>>> >>>>> Passed jprt. >>>>> >>>>> Thanks, >>>>> Albert From christian.thalinger at oracle.com Thu Jun 6 15:53:37 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Thu, 06 Jun 2013 22:53:37 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long Message-ID: <20130606225344.360124802D@hg.openjdk.java.net> Changeset: 609aad72004a Author: anoll Date: 2013-06-06 09:29 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/609aad72004a 8014246: remove assert to catch access to object headers in index_oop_from_field_offset_long Reviewed-by: twisti, jrose ! src/share/vm/prims/unsafe.cpp From morris.meyer at oracle.com Thu Jun 6 21:22:57 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 07 Jun 2013 00:22:57 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range Message-ID: <51B16021.9090501@oracle.com> Folks, Could I get a review for this issue? The problem exists that we optimistically assign forward branch labels and re-patch later. When we emit a cbcond instruction - we check if the Label out of bounds. If it is already bound the check is fine - if not bound a zero offset is emitted and the label is patched later With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add __FILE__ and __LINE__ parameters to every assembler.bind() call and checked the return of every patched branch to find out the line and location of the offending bind. The bind distance from NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from __ allocate_object macro assembler call in LIRGenerator::new_instance which uses the short branch in MacroAssembler::eden_allocate() This change has been through JPRT. --morris WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 From vladimir.kozlov at oracle.com Thu Jun 6 21:35:35 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 6 Jun 2013 21:35:35 -0700 (PDT) Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B16021.9090501@oracle.com> References: <51B16021.9090501@oracle.com> Message-ID: <51B16317.9000700@oracle.com> Morris, Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. Thanks, Vladimir On 6/6/13 9:22 PM, Morris Meyer wrote: > Folks, > > Could I get a review for this issue? The problem exists that we > optimistically assign forward branch labels and re-patch later. When we > emit a cbcond instruction - we check if the Label out of bounds. If it > is already bound the check is fine - if not bound a zero offset is > emitted and the label is patched later > > With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add > __FILE__ and __LINE__ parameters to every assembler.bind() call and > checked the return of every patched branch to find out the line and > location of the offending bind. The bind distance from > NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from > __ allocate_object macro assembler call in LIRGenerator::new_instance > which uses the short branch in MacroAssembler::eden_allocate() > > This change has been through JPRT. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 > JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 > > From christian.thalinger at oracle.com Thu Jun 6 21:40:00 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 6 Jun 2013 21:40:00 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B16021.9090501@oracle.com> References: <51B16021.9090501@oracle.com> Message-ID: <34DCD3CF-725D-4983-A51B-8EE23FD512E5@oracle.com> Looks good but we should think about some machinery that helps us finding the next one. Because there will be one. -- Chris On Jun 6, 2013, at 9:22 PM, Morris Meyer wrote: > Folks, > > Could I get a review for this issue? The problem exists that we optimistically assign forward branch labels and re-patch later. When we emit a cbcond instruction - we check if the Label out of bounds. If it is already bound the check is fine - if not bound a zero offset is emitted and the label is patched later > > With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add __FILE__ and __LINE__ parameters to every assembler.bind() call and checked the return of every patched branch to find out the line and location of the offending bind. The bind distance from NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from __ allocate_object macro assembler call in LIRGenerator::new_instance which uses the short branch in MacroAssembler::eden_allocate() > > This change has been through JPRT. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 > JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 > > From vladimir.kozlov at oracle.com Thu Jun 6 22:24:35 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 6 Jun 2013 22:24:35 -0700 (PDT) Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <34DCD3CF-725D-4983-A51B-8EE23FD512E5@oracle.com> References: <51B16021.9090501@oracle.com> <34DCD3CF-725D-4983-A51B-8EE23FD512E5@oracle.com> Message-ID: <51B16E93.1030003@oracle.com> Morris, added such functionality ("4,000 lines of changes ...") but I asked to do it as separate changes. Vladimir On 6/6/13 9:40 PM, Christian Thalinger wrote: > Looks good but we should think about some machinery that helps us finding the next one. Because there will be one. > > -- Chris > > On Jun 6, 2013, at 9:22 PM, Morris Meyer wrote: > >> Folks, >> >> Could I get a review for this issue? The problem exists that we optimistically assign forward branch labels and re-patch later. When we emit a cbcond instruction - we check if the Label out of bounds. If it is already bound the check is fine - if not bound a zero offset is emitted and the label is patched later >> >> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add __FILE__ and __LINE__ parameters to every assembler.bind() call and checked the return of every patched branch to find out the line and location of the offending bind. The bind distance from NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from __ allocate_object macro assembler call in LIRGenerator::new_instance which uses the short branch in MacroAssembler::eden_allocate() >> >> This change has been through JPRT. >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >> >> > From john.coomes at oracle.com Fri Jun 7 02:01:05 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:01:05 +0000 Subject: hg: hsx/hotspot-comp: 12 new changesets Message-ID: <20130607090106.5821248078@hg.openjdk.java.net> Changeset: 78852ce176db Author: jqzuo Date: 2013-05-28 20:03 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/78852ce176db 8014762: Add JMC configure option mapping to Jprt.gmk Summary: Need to add the mapping between JPRT env var and configure flag for JMC, from ALT_JMC_ZIP_DIR to --with-jmc-zip-dir (same pattern as for Javafx) Reviewed-by: tbell, erikj Contributed-by: klara.ward at oracle.com ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: c22d59e3f06e Author: pbhat Date: 2013-05-29 11:02 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/c22d59e3f06e Merge Changeset: ea6f3bf82903 Author: jqzuo Date: 2013-06-04 00:12 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/ea6f3bf82903 Merge ! common/autoconf/generated-configure.sh Changeset: 33b6df33a2b7 Author: erikj Date: 2013-05-29 13:58 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/33b6df33a2b7 8013920: Configure sets JOBS to 0 if memory is too low. Reviewed-by: tbell ! common/autoconf/build-performance.m4 ! common/autoconf/generated-configure.sh Changeset: 03e60e87d92a Author: erikj Date: 2013-05-29 14:01 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/03e60e87d92a 8013489: New build system does not run codesign on SA-related launchers on OS X Reviewed-by: sla, tbell ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/makefiles/MakeBase.gmk ! common/makefiles/NativeCompilation.gmk Changeset: c31e9dc1fe3d Author: erikj Date: 2013-05-31 14:07 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/c31e9dc1fe3d 8014003: New build does not handle symlinks in workspace path Reviewed-by: tbell ! common/autoconf/basics.m4 ! common/autoconf/basics_windows.m4 ! common/autoconf/generated-configure.sh Changeset: 44259699e0b5 Author: erikj Date: 2013-06-04 10:23 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/44259699e0b5 8015784: Add configure parameter --with-update-version Reviewed-by: tbell, katleman, erikj Contributed-by: tristan.yan at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: db3144e1f89b Author: mduigou Date: 2013-06-04 10:36 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/db3144e1f89b 8015510: (s) Improve JTReg location detection and provide location to test/Makefile Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 ! common/makefiles/Main.gmk Changeset: 9b8e8098172c Author: katleman Date: 2013-06-04 11:02 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/9b8e8098172c Merge Changeset: f55734874c4f Author: katleman Date: 2013-06-04 15:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/f55734874c4f Merge ! common/autoconf/generated-configure.sh Changeset: 27c51c6e31c1 Author: katleman Date: 2013-06-05 15:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/27c51c6e31c1 6983966: remove lzma and upx from repository JDK8 Reviewed-by: tbell, paulk, ngthomas ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk ! make/deploy-rules.gmk Changeset: 8dfb6ee04114 Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/8dfb6ee04114 Added tag jdk8-b93 for changeset 27c51c6e31c1 ! .hgtags From john.coomes at oracle.com Fri Jun 7 02:01:17 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:01:17 +0000 Subject: hg: hsx/hotspot-comp/jaxp: 6 new changesets Message-ID: <20130607090135.9AA1B4807A@hg.openjdk.java.net> Changeset: a7cec93e4682 Author: joehw Date: 2013-05-20 16:11 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/a7cec93e4682 8014891: Redundant setting of external access properties in setFeatures Reviewed-by: lancea ! src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java ! src/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java Changeset: 37b73984640a Author: joehw Date: 2013-05-20 23:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/37b73984640a 8012683: Remove unused, obsolete ObjectFactory classes Reviewed-by: lancea - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: 0765806dcc58 Author: lana Date: 2013-05-22 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/0765806dcc58 Merge Changeset: 627c265d6e0c Author: lana Date: 2013-05-29 16:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/627c265d6e0c Merge - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: d583a491d63c Author: lana Date: 2013-06-03 23:19 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/d583a491d63c Merge - src/com/sun/org/apache/xerces/internal/xinclude/ObjectFactory.java - src/com/sun/org/apache/xml/internal/serialize/ObjectFactory.java Changeset: 40da96cab40e Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/40da96cab40e Added tag jdk8-b93 for changeset d583a491d63c ! .hgtags From john.coomes at oracle.com Fri Jun 7 02:01:39 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:01:39 +0000 Subject: hg: hsx/hotspot-comp/jaxws: Added tag jdk8-b93 for changeset 7386eca865e1 Message-ID: <20130607090144.A3D6C4807B@hg.openjdk.java.net> Changeset: 254c53fd97ab Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxws/rev/254c53fd97ab Added tag jdk8-b93 for changeset 7386eca865e1 ! .hgtags From john.coomes at oracle.com Fri Jun 7 02:01:10 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:01:10 +0000 Subject: hg: hsx/hotspot-comp/corba: Added tag jdk8-b93 for changeset 8dc9d7ccbb2d Message-ID: <20130607090113.13BD248079@hg.openjdk.java.net> Changeset: 22f5d7f261d9 Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/22f5d7f261d9 Added tag jdk8-b93 for changeset 8dc9d7ccbb2d ! .hgtags From john.coomes at oracle.com Fri Jun 7 02:03:43 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:03:43 +0000 Subject: hg: hsx/hotspot-comp/jdk: 68 new changesets Message-ID: <20130607092002.C2F004807C@hg.openjdk.java.net> Changeset: 93de1ab38793 Author: jchen Date: 2013-05-17 10:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/93de1ab38793 8003444: Fix potential NULL pointer dereference Reviewed-by: jgodinez, prr ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmslut.c Changeset: 0cec8dc2bcf8 Author: lana Date: 2013-05-22 19:35 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0cec8dc2bcf8 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - 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/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 0208f5f12dc3 Author: jchen Date: 2013-05-23 12:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0208f5f12dc3 8012629: java.lang.UnsatisfiedLinkError exception throw by getAllFonts() on MacOSX Reviewed-by: bae, prr ! make/sun/awt/FILES_c_unix.gmk ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/mawt.gmk ! makefiles/CompileNativeLibraries.gmk ! src/macosx/native/sun/font/AWTFont.m Changeset: f24f9038e050 Author: prr Date: 2013-05-24 09:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f24f9038e050 8008535: JDK7 Printing : CJK and Latin Text in a string overlap Reviewed-by: bae, jgodinez ! src/windows/classes/sun/awt/windows/WPathGraphics.java + test/java/awt/print/PrinterJob/PrintLatinCJKTest.java Changeset: f4ad2fa22474 Author: jgodinez Date: 2013-05-29 09:18 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f4ad2fa22474 7183520: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest. Reviewed-by: bae, prr ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java Changeset: 7e2a887a069e Author: jgodinez Date: 2013-05-29 09:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7e2a887a069e 8012381: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest Reviewed-by: jchen, prr ! src/solaris/classes/sun/print/IPPPrintService.java ! test/java/awt/print/PrinterJob/Collate2DPrintingTest.java Changeset: 8ac29ee867fd Author: lana Date: 2013-05-29 16:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/8ac29ee867fd Merge Changeset: 85df65495177 Author: mcherkas Date: 2013-05-21 03:20 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/85df65495177 7011777: JDK 6 parses html text with script tags within comments differently from previous releases Reviewed-by: alexsch Contributed-by: Dmitry Markov ! src/share/classes/javax/swing/text/html/parser/Parser.java + test/javax/swing/text/html/parser/Parser/7011777/bug7011777.java Changeset: e36d0b9ed018 Author: alitvinov Date: 2013-05-21 05:02 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e36d0b9ed018 8005607: Recursion in J2DXErrHandler() Causes a Stack Overflow on Linux Reviewed-by: art, anthony, prr ! src/solaris/classes/sun/awt/X11/MotifDnDConstants.java ! src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java ! src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java ! src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XErrorHandler.java + src/solaris/classes/sun/awt/X11/XErrorHandlerUtil.java ! src/solaris/classes/sun/awt/X11/XQueryTree.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XlibUtil.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/native/sun/awt/awt_GraphicsEnv.c ! src/solaris/native/sun/awt/awt_GraphicsEnv.h ! src/solaris/native/sun/awt/awt_util.c ! src/solaris/native/sun/awt/awt_util.h ! src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c ! src/solaris/native/sun/java2d/x11/X11SurfaceData.c ! src/solaris/native/sun/xawt/XlibWrapper.c Changeset: 73d3bed5f8c8 Author: lana Date: 2013-05-22 17:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/73d3bed5f8c8 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - 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/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 6261e94e9869 Author: alexsch Date: 2013-05-23 15:52 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6261e94e9869 8014924: JToolTip#setTipText() sometimes (very often) not repaints component. Reviewed-by: serb ! src/share/classes/javax/swing/JToolTip.java Changeset: e8cacde33d27 Author: ant Date: 2013-05-24 18:01 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e8cacde33d27 8013437: Test sun/awt/datatransfer/SuplementaryCharactersTransferTest.java fails to compile since 8b86 Reviewed-by: alexsch ! test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java Changeset: 6b29c27d0807 Author: malenkov Date: 2013-05-24 19:41 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6b29c27d0807 8013416: Java Bean Persistence with XMLEncoder Reviewed-by: alexsch ! src/share/classes/com/sun/beans/finder/AbstractFinder.java ! src/share/classes/com/sun/beans/finder/ConstructorFinder.java ! src/share/classes/com/sun/beans/finder/MethodFinder.java + test/java/beans/XMLEncoder/Test8013416.java Changeset: c36626831f07 Author: vkarnauk Date: 2013-05-27 12:47 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c36626831f07 8010721: [macosx] In JDK7 the menu bar disappears when a Dialog is shown Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 70ac1bf74865 Author: serb Date: 2013-05-27 22:31 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/70ac1bf74865 8014726: TEST_BUG: java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java should be modified Reviewed-by: serb, anthony Contributed-by: alexander.zvegintsev at oracle.com ! test/java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java Changeset: ff1c2e379f27 Author: pchelko Date: 2013-05-28 12:37 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ff1c2e379f27 8000422: [macosx] Views keep scrolling back to the drag position after DnD Reviewed-by: serb, anthony ! src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java Changeset: 4f24a4f65a07 Author: anthony Date: 2013-05-28 16:38 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4f24a4f65a07 7039616: java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java should be updated Summary: Consider the test passed if the system does not support translucency Reviewed-by: art ! test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java Changeset: 1f0628078531 Author: pchelko Date: 2013-05-29 12:10 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1f0628078531 8009911: [macosx] SWT app freeze when going full screen using Java 7 on Mac Reviewed-by: anthony, ksrini ! src/macosx/bin/java_md_macosx.c Changeset: c8a0abc1fd2d Author: mcherkas Date: 2013-05-29 18:40 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c8a0abc1fd2d 8014863: Line break calculations in Java 7 are incorrect. Reviewed-by: alexp, alexsch Contributed-by: Dmitry Markov ! src/share/classes/javax/swing/text/View.java + test/javax/swing/text/View/8014863/bug8014863.java Changeset: aae7b96a350e Author: lana Date: 2013-05-29 16:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/aae7b96a350e Merge Changeset: 3b1450ee2bb9 Author: dxu Date: 2013-05-17 12:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/3b1450ee2bb9 8011136: FileInputStream.available and skip inconsistencies Summary: Correct the behavior of available() and update related java specs for available() and skip() in InputStream and FileInputStream classes. Reviewed-by: alanb ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/InputStream.java ! src/share/native/java/io/FileInputStream.c ! test/java/io/FileInputStream/LargeFileAvailable.java ! test/java/io/FileInputStream/NegativeAvailable.java Changeset: 0f7aaabed25f Author: weijun Date: 2013-05-18 10:15 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0f7aaabed25f 8012261: update policytool to support java.net.HttpURLPermission Reviewed-by: mullan ! src/share/classes/sun/security/tools/policytool/PolicyTool.java ! src/share/classes/sun/security/tools/policytool/Resources.java Changeset: e8b40b034fcd Author: psandoz Date: 2013-05-15 10:15 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e8b40b034fcd 8013334: Spliterator behavior for LinkedList contradicts Spliterator.trySplit Summary: this changeset also contains some minor, non spec, related fixes to tidy up other areas of the JavaDoc. Reviewed-by: plevart, darcy Contributed-by: John Rose , Mike Duigou , Paul Sandoz ! src/share/classes/java/util/Spliterator.java Changeset: 6bbc2816d936 Author: psandoz Date: 2013-05-15 10:25 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6bbc2816d936 8014133: Spliterator.OfPrimitive Reviewed-by: mduigou, forax Contributed-by: Paul Sandoz , Brian Goetz ! src/share/classes/java/util/Spliterator.java Changeset: dc5cf74c8c9c Author: mduigou Date: 2013-05-17 10:36 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/dc5cf74c8c9c 8004015: Additional static and instance utils for functional interfaces. 8011010: Spec j.u.f.Predicate doesn't specify NPEs thrown by the SE8's Reference Implementation Reviewed-by: briangoetz, dholmes, chegar ! src/share/classes/java/util/function/BiConsumer.java ! src/share/classes/java/util/function/BiFunction.java ! src/share/classes/java/util/function/BiPredicate.java ! src/share/classes/java/util/function/BooleanSupplier.java ! src/share/classes/java/util/function/Consumer.java ! src/share/classes/java/util/function/DoubleBinaryOperator.java ! src/share/classes/java/util/function/DoubleConsumer.java ! src/share/classes/java/util/function/DoubleFunction.java ! src/share/classes/java/util/function/DoublePredicate.java ! src/share/classes/java/util/function/DoubleSupplier.java ! src/share/classes/java/util/function/DoubleUnaryOperator.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBinaryOperator.java ! src/share/classes/java/util/function/IntConsumer.java ! src/share/classes/java/util/function/IntFunction.java ! src/share/classes/java/util/function/IntPredicate.java ! src/share/classes/java/util/function/IntSupplier.java ! src/share/classes/java/util/function/IntUnaryOperator.java ! src/share/classes/java/util/function/LongBinaryOperator.java ! src/share/classes/java/util/function/LongConsumer.java ! src/share/classes/java/util/function/LongFunction.java ! src/share/classes/java/util/function/LongPredicate.java ! src/share/classes/java/util/function/LongSupplier.java ! src/share/classes/java/util/function/LongUnaryOperator.java ! src/share/classes/java/util/function/ObjDoubleConsumer.java ! src/share/classes/java/util/function/ObjIntConsumer.java ! src/share/classes/java/util/function/ObjLongConsumer.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/java/util/function/Supplier.java ! src/share/classes/java/util/function/ToDoubleBiFunction.java ! src/share/classes/java/util/function/ToDoubleFunction.java ! src/share/classes/java/util/function/ToIntBiFunction.java ! src/share/classes/java/util/function/ToIntFunction.java ! src/share/classes/java/util/function/ToLongBiFunction.java ! src/share/classes/java/util/function/ToLongFunction.java ! src/share/classes/java/util/function/UnaryOperator.java Changeset: 23e75751554a Author: henryjen Date: 2013-05-09 14:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/23e75751554a 8006884: (fs) Add Files.list, lines and find Reviewed-by: briangoetz, mduigou Contributed-by: alan.bateman at oracle.com, henry.jen at oracle.com + src/share/classes/java/nio/file/FileTreeIterator.java ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/Files.java + test/java/nio/file/Files/FaultyFileSystem.java ! test/java/nio/file/Files/PassThroughFileSystem.java + test/java/nio/file/Files/StreamTest.java Changeset: b9b26b424bfc Author: mduigou Date: 2013-05-18 18:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b9b26b424bfc Merge Changeset: 08ebdb2b53cc Author: plevart Date: 2013-05-17 14:41 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/08ebdb2b53cc 8014477: (str) Race condition in String.contentEquals when comparing with StringBuffer Reviewed-by: alanb, mduigou, dholmes ! src/share/classes/java/lang/String.java + test/java/lang/String/StringContentEqualsBug.java Changeset: 6a9148865139 Author: sherman Date: 2013-05-20 11:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6a9148865139 8004789: (zipfs) zip provider doesn't work correctly with file systems providers rather than the default Summary: to use Files.createTempFile(...) to create the temp file on the same fs as the targeted path. Reviewed-by: alanb, sherman Contributed-by: philippe.marschall at gmail.com ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java Changeset: 1baf3d7fe2f1 Author: dholmes Date: 2013-05-21 01:17 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1baf3d7fe2f1 8014857: Enable ergonomic VM selection in arm/jvm.cfg Reviewed-by: darcy ! src/solaris/bin/arm/jvm.cfg Changeset: 20925206aef8 Author: alanb Date: 2013-05-21 08:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/20925206aef8 8014892: More ProblemList.txt updates (5/2013) Reviewed-by: alanb Contributed-by: amy.lu at oracle.com ! test/ProblemList.txt Changeset: 63c7e92e5e6d Author: yhuang Date: 2013-05-20 23:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/63c7e92e5e6d 7074882: Locale data needs correction (Month names for Maltese language) Reviewed-by: naoto ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 1fba35ef4360 Author: yhuang Date: 2013-05-21 01:50 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1fba35ef4360 Merge Changeset: 48e8a6e0c805 Author: chegar Date: 2013-05-22 13:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/48e8a6e0c805 8010182: Thread safety of Thread get/setName() Reviewed-by: dholmes, alanb, mduigou ! src/share/classes/java/lang/Thread.java Changeset: 4b555b53dc57 Author: mduigou Date: 2013-05-22 09:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4b555b53dc57 8014819: set max size for jtreg testvms Reviewed-by: alanb, darcy ! test/Makefile Changeset: bcfab7056195 Author: lana Date: 2013-05-22 09:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bcfab7056195 Merge Changeset: 760d4187597a Author: lana Date: 2013-05-22 12:09 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/760d4187597a Merge Changeset: 50fde3eeb48c Author: naoto Date: 2013-05-22 16:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/50fde3eeb48c 7056126: DateFormatSymbols documentation has incorrect description about DateFormat 7083668: Sample code in ListResourceBundle is still not correct Reviewed-by: okutsu ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/util/ListResourceBundle.java Changeset: a1a8e71e130a Author: dholmes Date: 2013-05-22 20:21 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/a1a8e71e130a 8014814: (str) StringBuffer "null" is not appended Reviewed-by: alanb ! src/share/classes/java/lang/StringBuffer.java ! test/java/lang/StringBuffer/ToStringCache.java Changeset: e764bb01567e Author: darcy Date: 2013-05-22 20:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e764bb01567e 8014836: Have GenericDeclaration extend AnnotatedElement Reviewed-by: abuckley, jfranck ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/GenericDeclaration.java Changeset: 0da6485cf656 Author: nloodin Date: 2013-05-23 15:50 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0da6485cf656 8014048: Online user guide of jconsole points incorrect link Reviewed-by: mchung, sla, jbachorik ! src/share/classes/sun/tools/jconsole/AboutDialog.java ! src/share/classes/sun/tools/jconsole/resources/messages.properties ! src/share/classes/sun/tools/jconsole/resources/messages_ja.properties ! src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties Changeset: 3b23e3529ab3 Author: dl Date: 2013-05-23 18:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/3b23e3529ab3 8014076: Arrays parallel and serial sorting improvements Reviewed-by: chegar, mduigou ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/ArraysParallelSortHelpers.java ! src/share/classes/java/util/ComparableTimSort.java ! src/share/classes/java/util/DualPivotQuicksort.java ! src/share/classes/java/util/TimSort.java ! test/java/util/Arrays/ParallelSorting.java Changeset: 6816afd70a68 Author: weijun Date: 2013-05-24 17:15 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6816afd70a68 8014196: ktab creates a file with zero kt_vno Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/windows/classes/sun/security/krb5/internal/tools/Ktab.java + test/sun/security/krb5/tools/KtabZero.java + test/sun/security/krb5/tools/ktzero.sh Changeset: 5e769206f036 Author: ksrini Date: 2013-05-24 17:01 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5e769206f036 8007333: [launcher] removes multiple back slashes Reviewed-by: alanb, akhil ! src/windows/bin/cmdtoargs.c ! test/tools/launcher/Arrrghs.java Changeset: d78f91ab0e96 Author: uta Date: 2013-05-27 15:18 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d78f91ab0e96 8014394: (fs) WatchService failing when watching \\server\$d Reviewed-by: alanb ! src/windows/classes/sun/nio/fs/WindowsConstants.java ! src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java ! src/windows/classes/sun/nio/fs/WindowsWatchService.java ! src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c Changeset: 0b8dab7fec54 Author: plevart Date: 2013-05-27 09:41 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0b8dab7fec54 7038914: VM could throw uncaught OOME in ReferenceHandler thread Summary: Catch OutOfMemoryError in reference handler thread if caused by allocation of an InterruptedException Reviewed-by: dholmes, alanb ! src/share/classes/java/lang/ref/Reference.java + test/java/lang/ref/OOMEInReferenceHandler.java Changeset: a2dc42667df3 Author: chegar Date: 2013-05-27 14:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/a2dc42667df3 8015439: Minor/sync/cleanup of ConcurrentHashMap Reviewed-by: chegar Contributed-by: Doug Lea
, Chris Hegarty ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: 9bbf2237071e Author: chegar Date: 2013-05-27 15:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9bbf2237071e Merge Changeset: bbf6e6222726 Author: nloodin Date: 2013-05-27 17:10 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bbf6e6222726 6470730: Disconnect button leads to wrong popup message Reviewed-by: dcubed, sla, egahlin ! src/share/classes/sun/tools/jconsole/VMPanel.java Changeset: 7d9fab5d86cd Author: jbachorik Date: 2013-05-28 15:57 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7d9fab5d86cd 8005472: com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh failed on windows Reviewed-by: chegar, smarks, dfuchs ! test/ProblemList.txt ! test/com/sun/jmx/remote/NotificationMarshalVersions/Client/Client.java ! test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Server.java + test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: 7d7bfce34a79 Author: dsamersoff Date: 2013-05-28 18:46 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7d7bfce34a79 8014420: Default JDP address does not match the one assigned by IANA Summary: JDP protocol defaults changed to IANA assigned values Reviewed-by: dholmes, jbachorik, hirt Contributed-by: fweimer at redhat.com ! src/share/classes/sun/management/Agent.java ! src/share/classes/sun/management/jdp/package-info.java ! test/sun/management/jdp/JdpTest.sh Changeset: b16a8b4ae6b4 Author: robm Date: 2013-05-28 16:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b16a8b4ae6b4 7038105: File.isHidden() should return true for pagefile.sys and hiberfil.sys Reviewed-by: alanb ! src/windows/native/java/io/WinNTFileSystem_md.c ! test/java/io/File/IsHidden.java Changeset: 7fa2d1dcb8f6 Author: sherman Date: 2013-05-28 10:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7fa2d1dcb8f6 8001750: CharsetDecoder.replacement should not be changeable except via replaceWith method Summary: to make defensive copy for set/get replacement byte array Reviewed-by: martin ! src/share/classes/java/nio/charset/Charset-X-Coder.java.template ! src/share/classes/sun/nio/cs/UTF_8.java ! src/share/classes/sun/nio/cs/ext/DoubleByte.java ! src/share/classes/sun/nio/cs/ext/HKSCS.java Changeset: b99d56d1aa3f Author: naoto Date: 2013-05-28 14:02 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b99d56d1aa3f 6251788: (rb) PropertyResourceBundle doesn't document exceptions Reviewed-by: okutsu ! src/share/classes/java/util/PropertyResourceBundle.java Changeset: 1652a22cf6e7 Author: xuelei Date: 2013-05-28 18:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1652a22cf6e7 8010815: some constructors issues in com.sun.jndi.toolkit Reviewed-by: alanb ! src/share/classes/com/sun/jndi/toolkit/ctx/Continuation.java ! src/share/classes/com/sun/jndi/toolkit/dir/LazySearchEnumerationImpl.java ! src/share/classes/com/sun/jndi/toolkit/url/GenericURLContext.java Changeset: e59d7f0f36f7 Author: ewang Date: 2013-05-28 22:22 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e59d7f0f36f7 8009258: TEST_BUG:java/io/pathNames/GeneralWin32.java fails intermittently Reviewed-by: dxu, alanb Contributed-by: yiming.wang at oracle.com ! test/java/io/pathNames/General.java ! test/java/io/pathNames/GeneralWin32.java Changeset: bd6d3801347b Author: sla Date: 2013-05-29 09:42 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bd6d3801347b 8015440: java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java fails with RuntimeException Summary: Make sure serial gc compacts heap every time Reviewed-by: mchung, brutisso, nloodin ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java Changeset: 2b3242a69a44 Author: alanb Date: 2013-05-29 10:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/2b3242a69a44 8014928: (fs) Files.readAllBytes() copies content to new array when content completely read Reviewed-by: martin ! src/share/classes/java/nio/file/Files.java Changeset: 00ad19610e75 Author: vinnie Date: 2013-05-29 14:57 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/00ad19610e75 7174966: With OCSP enabled on Java 7 get error 'Wrong key usage' with Comodo certificate Reviewed-by: xuelei ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java Changeset: 5d9273a5a84e Author: lana Date: 2013-05-29 16:58 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5d9273a5a84e Merge - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: 7eae7c89dab4 Author: lana Date: 2013-06-03 23:23 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7eae7c89dab4 Merge - test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.sh Changeset: 583e6dec1ed7 Author: erikj Date: 2013-05-29 14:01 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/583e6dec1ed7 8013489: New build system does not run codesign on SA-related launchers on OS X Reviewed-by: sla, tbell ! makefiles/CompileLaunchers.gmk Changeset: d8c97d6772cd Author: erikj Date: 2013-05-30 09:29 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d8c97d6772cd Merge Changeset: bc3a17982aae Author: erikj Date: 2013-05-31 14:05 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bc3a17982aae 7195481: FDS: debuginfo file for libjdwp.so is missed Reviewed-by: tbell ! make/jpda/back/Makefile ! makefiles/CompileNativeLibraries.gmk Changeset: c50add191a39 Author: katleman Date: 2013-06-04 11:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c50add191a39 Merge ! makefiles/CompileNativeLibraries.gmk Changeset: 16003f414ca3 Author: katleman Date: 2013-06-04 14:11 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/16003f414ca3 8015644: makefile changes to allow integration of new features Reviewed-by: tbell, erikj, dholmes Contributed-by: amy.y.wang at oracle.com ! makefiles/Images.gmk Changeset: 691d6c6cd332 Author: katleman Date: 2013-06-05 15:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/691d6c6cd332 6983966: remove lzma and upx from repository JDK8 Reviewed-by: tbell, paulk, ngthomas ! make/common/Defs-windows.gmk Changeset: 7b757d567346 Author: katleman Date: 2013-06-06 09:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7b757d567346 Added tag jdk8-b93 for changeset 691d6c6cd332 ! .hgtags From john.coomes at oracle.com Fri Jun 7 02:23:24 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:23:24 +0000 Subject: hg: hsx/hotspot-comp/langtools: 20 new changesets Message-ID: <20130607092428.036AC4807D@hg.openjdk.java.net> Changeset: 0928f2cfbf8e Author: jjg Date: 2013-05-17 13:48 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/0928f2cfbf8e 6885876: add comments to javac/util/Convert.java Reviewed-by: mduigou ! src/share/classes/com/sun/tools/javac/util/Convert.java Changeset: 67cbd6d756f4 Author: jfranck Date: 2013-05-21 12:00 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/67cbd6d756f4 8013180: Qualified type reference with annotations in throws list crashes compiler Reviewed-by: jjg + test/tools/javac/annotations/typeAnnotations/8013180/QualifiedName.java Changeset: 824932ecdbc8 Author: vromero Date: 2013-05-21 11:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/824932ecdbc8 7177168: Redundant array copy in UnsharedNameTable Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java Changeset: 3d9750039fff Author: vromero Date: 2013-05-21 12:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/3d9750039fff 7060779: test/tools/javac/diags/Example.java leaves directories in tempdir Reviewed-by: mcimadamore ! test/tools/javac/diags/Example.java Changeset: 37295244f534 Author: vromero Date: 2013-05-21 13:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/37295244f534 8005207: test has 2 @bug tags Reviewed-by: mcimadamore ! test/tools/doclint/RunTest.java ! test/tools/javac/5045412/Bar.java ! test/tools/javac/5045412/Foo.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/mandatoryWarnings/deprecated/Test.java ! test/tools/javac/mandatoryWarnings/unchecked/Test.java ! test/tools/javac/policy/test3/Test.java Changeset: 08daea43a7f8 Author: vromero Date: 2013-05-21 14:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/08daea43a7f8 7164114: Two jtreg tests are not run due to no file extension on the test files Reviewed-by: mcimadamore - test/tools/javac/HiddenAbstractMethod/Test + test/tools/javac/HiddenAbstractMethod/Test.java - test/tools/javac/NonAmbiguousField/Test + test/tools/javac/NonAmbiguousField/Test.java ! test/tools/javac/NonAmbiguousField/two/Child2.java Changeset: 31344e8e3343 Author: lana Date: 2013-05-22 09:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/31344e8e3343 Merge Changeset: 3bd22f99d408 Author: darcy Date: 2013-05-22 13:34 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/3bd22f99d408 8010680: Clarify "present" and annotation ordering in javax.lang.model Reviewed-by: abuckley, jjg ! src/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/share/classes/javax/lang/model/util/Elements.java Changeset: 58329d9f6b68 Author: mcimadamore Date: 2013-05-24 15:26 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/58329d9f6b68 8014643: Parser regression in JDK 8 when compiling super.x Summary: Fixed latent bug in JavacParser.analyzeParens() Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/parser/8014643/T8014643.java Changeset: 97a9b4b3e63a Author: mcimadamore Date: 2013-05-24 15:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/97a9b4b3e63a 8014649: Regression: bug in Resolve.resolveOperator Summary: Missing curly braces causes Resolve.findMethod to be called spuriously Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/resolve/ResolveHarness.java + test/tools/javac/resolve/tests/PrimitiveBinopOverload.java Changeset: 6e5076af4660 Author: mcimadamore Date: 2013-05-24 15:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/6e5076af4660 8014494: javac crashes when varargs element of a method reference is inferred from the context Summary: varargs element is not refreshed after type-inference Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/lambda/TargetType73.java Changeset: 0f8e9a0e5d9a Author: darcy Date: 2013-05-24 11:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/0f8e9a0e5d9a 8014836: Have GenericDeclaration extend AnnotatedElement Reviewed-by: jfranck ! src/share/sample/language/model/CoreReflectionFactory.java Changeset: b391ecea538e Author: vromero Date: 2013-05-27 13:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/b391ecea538e 7030476: Fix conflicting use of JCTree/JCExpression Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.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 Changeset: c6df5b20f9eb Author: vromero Date: 2013-05-28 12:46 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/c6df5b20f9eb 6970173: Debug pointer at bad position Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/T6970173/DebugPointerAtBadPositionTest.java Changeset: d042cba65eab Author: vromero Date: 2013-05-28 17:39 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/d042cba65eab 8012333: javac, ClassFile should have a read(Path) method Reviewed-by: jjg ! src/share/classes/com/sun/tools/classfile/ClassFile.java Changeset: 92e420e9807d Author: vromero Date: 2013-05-29 10:56 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/92e420e9807d 7053059: VerifyError with double Assignment using a Generic Member of a Superclass Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/tools/javac/T7053059/VerifyErrorWithDoubleAssignmentTest.java Changeset: d685b12b62a4 Author: jjg Date: 2013-05-29 15:34 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/d685b12b62a4 8015641: genstubs needs to cope with static interface methods Reviewed-by: ksrini ! make/tools/genstubs/GenStubs.java Changeset: 18943a1b7a47 Author: lana Date: 2013-05-29 16:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/18943a1b7a47 Merge - test/tools/javac/HiddenAbstractMethod/Test - test/tools/javac/NonAmbiguousField/Test Changeset: 2c5a568ee36e Author: lana Date: 2013-06-03 23:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/2c5a568ee36e Merge - test/tools/javac/HiddenAbstractMethod/Test - test/tools/javac/NonAmbiguousField/Test Changeset: 888386fddc09 Author: katleman Date: 2013-06-06 09:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/888386fddc09 Added tag jdk8-b93 for changeset 2c5a568ee36e ! .hgtags From john.coomes at oracle.com Fri Jun 7 02:24:42 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 07 Jun 2013 09:24:42 +0000 Subject: hg: hsx/hotspot-comp/nashorn: 44 new changesets Message-ID: <20130607092515.F35514807E@hg.openjdk.java.net> Changeset: 80d4db063d5a Author: jlaskey Date: 2013-05-14 11:15 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/80d4db063d5a 8014512: Exclude testing and infrastructure packages from code coverage Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/code_coverage.xml Changeset: eeed4db61215 Author: jlaskey Date: 2013-05-14 11:16 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/eeed4db61215 Merge - src/jdk/nashorn/internal/ir/LineNumberNode.java - src/jdk/nashorn/internal/ir/Location.java - test/script/trusted/logcoverage.js Changeset: fc20983ef38e Author: attila Date: 2013-05-14 19:18 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/fc20983ef38e 8011718: binding already bound function with extra arguments fails Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java + test/script/basic/JDK-8011718.js + test/script/basic/JDK-8011718.js.EXPECTED Changeset: f88a4818a4dc Author: lagergren Date: 2013-05-14 19:56 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f88a4818a4dc 8014426: Original exception no longer thrown away when a finally rethrows Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8014426.js + test/script/basic/JDK-8014426.js.EXPECTED Changeset: 64ef1aeaeb4e Author: attila Date: 2013-05-15 10:28 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/64ef1aeaeb4e 8014639: Remove debug flag from test runs Reviewed-by: hannesw, lagergren ! make/project.properties Changeset: b37eb709ae27 Author: attila Date: 2013-05-15 14:54 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b37eb709ae27 8014646: Update the Java interop documentation in the Java Scripting Programmer's Guide Reviewed-by: jlaskey, hannesw, lagergren ! docs/JavaScriptingProgrammersGuide.html Changeset: 1eaa542cc8e2 Author: sundar Date: 2013-05-15 19:45 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1eaa542cc8e2 8012305: Function.bind can't be called on prototype function inside constructor Reviewed-by: lagergren, attila + test/script/basic/JDK-8012305.js + test/script/basic/JDK-8012305.js.EXPECTED Changeset: 6344644b81ec Author: jlaskey Date: 2013-05-15 12:09 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/6344644b81ec 8014648: Exclude testing and infrastructure packages from code coverage, round two Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/code_coverage.xml ! src/jdk/nashorn/internal/runtime/options/Option.java ! src/jdk/nashorn/internal/runtime/options/Options.java - src/jdk/nashorn/internal/runtime/options/ValueOption.java ! test/script/basic/allgettersetters.js Changeset: 19e9cd9c7010 Author: attila Date: 2013-05-15 20:21 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/19e9cd9c7010 8014647: Allow class-based overrides to be initialized with a ScriptFunction Reviewed-by: hannesw, jlaskey, sundar ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java + test/script/basic/JDK-8014647.js + test/script/basic/JDK-8014647.js.EXPECTED Changeset: ac14a1fb0cab Author: sundar Date: 2013-05-16 14:52 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/ac14a1fb0cab 8009141: Avoid netscape.javascript.JSObject in nashorn code Reviewed-by: lagergren, hannesw + src/jdk/nashorn/api/scripting/JSObject.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java - src/netscape/javascript/JSObject.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 4c67a692ef97 Author: lagergren Date: 2013-05-16 13:44 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4c67a692ef97 8013919: Original exception no longer thrown away when a finally rethrows Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/FunctionNode.java + test/script/basic/JDK-8013919.js + test/script/basic/JDK-8013919.js.EXPECTED Changeset: 98798a6336de Author: hannesw Date: 2013-05-16 19:52 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/98798a6336de 8012359: Increase code coverage in Joni Reviewed-by: jlaskey, lagergren ! make/build.xml - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java + src/jdk/nashorn/internal/runtime/regexp/JdkRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ArrayCompiler.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java ! src/jdk/nashorn/internal/runtime/regexp/joni/BitSet.java ! src/jdk/nashorn/internal/runtime/regexp/joni/BitStatus.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodeMachine.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ByteCodePrinter.java - src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Compiler.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Config.java ! src/jdk/nashorn/internal/runtime/regexp/joni/EncodingHelper.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Lexer.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Matcher.java - src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java - src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Regex.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Region.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ScanEnvironment.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ScannerSupport.java ! src/jdk/nashorn/internal/runtime/regexp/joni/StackMachine.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Syntax.java - src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/CClassNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/StateNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java ! src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPCode.java - src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java ! src/jdk/nashorn/internal/runtime/regexp/joni/encoding/ObjPtr.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java ! src/jdk/nashorn/internal/runtime/regexp/joni/exception/ErrorMessages.java ! src/jdk/nashorn/internal/runtime/regexp/joni/exception/ValueException.java + test/src/jdk/nashorn/internal/runtime/regexp/JdkRegExpTest.java + test/src/jdk/nashorn/internal/runtime/regexp/joni/JoniTest.java Changeset: aa1b6e8c51a0 Author: jlaskey Date: 2013-05-17 14:30 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/aa1b6e8c51a0 8012694: Smoke test fail: Windows JDK-8008554.js - access denied ("java.io.FilePermission" "//C/aurora/sandbox/nashorn~source/test/script/basic/NASHORN-99.js" "read") Reviewed-by: jlaskey Contributed-by: konstantin.shefov at oracle.com Changeset: a92be4c0063b Author: jlaskey Date: 2013-05-17 16:12 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a92be4c0063b Merge - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java - src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java - src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java - src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java - src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: 1d5a8f1f416e Author: jlaskey Date: 2013-05-17 16:44 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1d5a8f1f416e 8014823: Reprise - Smoke test fail: Windows JDK-8008554.js - access denied ("java.io.FilePermission" "//C/aurora/sandbox/nashorn~source/test/script/basic/NASHORN-99.js" "read") Reviewed-by: jlaskey Contributed-by: konstantin.shefov at oracle.com ! test/script/basic/JDK-8008554.js Changeset: 92164a5742db Author: lagergren Date: 2013-05-20 16:38 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/92164a5742db 8006069: Range analysis first iteration, runtime specializations Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/RangeAnalyzer.java + src/jdk/nashorn/internal/codegen/types/Range.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/runtime/CompiledFunction.java ! src/jdk/nashorn/internal/runtime/FinalScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/ranges_disabled.js + test/script/basic/ranges_disabled.js.EXPECTED + test/script/basic/ranges_enabled.js + test/script/basic/ranges_enabled.js.EXPECTED + test/script/basic/ranges_payload.js Changeset: b558e19d5de5 Author: sundar Date: 2013-05-20 23:04 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b558e19d5de5 8014909: ant test compilation error with JoniTest.java Reviewed-by: jlaskey ! make/build.xml Changeset: 1fd18f40ab52 Author: attila Date: 2013-05-20 21:25 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1fd18f40ab52 8014797: rename Java.toJavaArray/toJavaScriptArray to Java.to/from, respectively. Reviewed-by: jlaskey, sundar ! docs/JavaScriptingProgrammersGuide.html ! docs/source/javaarray.js ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! test/script/basic/NASHORN-556.js ! test/script/basic/javaarrayconversion.js ! test/script/currently-failing/logcoverage.js ! test/script/trusted/NASHORN-638.js ! test/script/trusted/NASHORN-653.js Changeset: e955e64fd15d Author: lana Date: 2013-05-22 09:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e955e64fd15d Merge Changeset: 833a9a584b64 Author: attila Date: 2013-05-21 13:40 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/833a9a584b64 8014953: Have NativeJavaPackage throw a ClassNotFoundException when invoked Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + test/script/basic/JDK-8014953.js + test/script/basic/JDK-8014953.js.EXPECTED Changeset: 288ff54da2a5 Author: jlaskey Date: 2013-05-21 10:17 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/288ff54da2a5 8014827: readLine should accept a prompt as an argument Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java Changeset: 07cefc062032 Author: sundar Date: 2013-05-22 16:39 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/07cefc062032 8008947: ScriptEnvironment ctor should be public Reviewed-by: lagergren, attila ! .hgignore ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java Changeset: 66685c69bdb3 Author: sundar Date: 2013-05-22 19:33 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/66685c69bdb3 8014735: Typed Array, BYTES_PER_ELEMENT should be a class property Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java + test/script/basic/JDK-8014735.js + test/script/basic/JDK-8014735.js.EXPECTED ! test/script/basic/NASHORN-377.js Changeset: 8f7553df4503 Author: hannesw Date: 2013-05-22 16:43 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8f7553df4503 8010804: Review long and integer usage conventions Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/runtime/JSType.java + test/script/basic/JDK-8010804.js + test/script/basic/JDK-8010804.js.EXPECTED Changeset: 1c1453863ea8 Author: attila Date: 2013-05-23 12:01 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1c1453863ea8 8015267: Allow conversion of JS arrays to Java List/Deque Reviewed-by: lagergren, sundar ! make/build.xml ! src/jdk/nashorn/internal/objects/NativeJava.java + src/jdk/nashorn/internal/runtime/ListAdapter.java ! src/jdk/nashorn/internal/runtime/linker/InvokeByName.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8015267.js + test/script/basic/JDK-8015267.js.EXPECTED Changeset: f7eb4436410e Author: lagergren Date: 2013-05-23 13:10 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f7eb4436410e 8012083: Array literal constant folding issue Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java + test/script/basic/JDK-8012083.js + test/script/basic/JDK-8012083.js.EXPECTED Changeset: 704bc91a0c41 Author: attila Date: 2013-05-23 13:36 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/704bc91a0c41 8015278: Revert accidental changes to build.xml Reviewed-by: jlaskey, lagergren ! make/build.xml Changeset: 8af550dee961 Author: jlaskey Date: 2013-05-23 09:49 -0300 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8af550dee961 Merge Changeset: 6fc7b51e83d6 Author: lagergren Date: 2013-05-23 15:51 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/6fc7b51e83d6 8012522: Clean up lexical contexts - split out stack based functionality in CodeGenerator and generify NodeVisitors based on their LexicalContext type to avoid casts Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CodeGeneratorLexicalContext.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/RangeAnalyzer.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LexicalContextNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterGeneratorBase.java Changeset: fdfb4edd78d6 Author: hannesw Date: 2013-05-24 13:54 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/fdfb4edd78d6 8011630: JSON parsing performance issue Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java Changeset: 4d2eca4d4d66 Author: sundar Date: 2013-05-24 18:39 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4d2eca4d4d66 8015354: JSON.parse should not use [[Put]] but use [[DefineOwnProperty]] instead Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeInt16Array.java ! src/jdk/nashorn/internal/objects/NativeInt32Array.java ! src/jdk/nashorn/internal/objects/NativeInt8Array.java ! src/jdk/nashorn/internal/objects/NativeUint16Array.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/objects/NativeUint8Array.java ! src/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/Property.java + test/script/basic/JDK-8015354.js Changeset: 751cfefff5eb Author: sundar Date: 2013-05-24 23:27 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/751cfefff5eb 8015351: Nashorn shell does not start with Turkish locale Reviewed-by: jlaskey ! make/project.properties ! src/jdk/nashorn/internal/runtime/options/OptionTemplate.java Changeset: 0bf451c0678d Author: hannesw Date: 2013-05-27 12:26 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/0bf451c0678d 8015348: RegExp("[") results in StackOverflowError Reviewed-by: sundar, attila ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8015348.js + test/script/basic/JDK-8015348.js.EXPECTED Changeset: 1f57afd14cc1 Author: lagergren Date: 2013-05-27 13:11 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1f57afd14cc1 8014219: Make the run-octane harness more deterministic by not measuring elapsed time every iteration. Also got rid of most of the run logic in base.js and call benchmarks directly for the same purpose Reviewed-by: jlaskey, attila ! make/build-benchmark.xml ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! test/script/basic/compile-octane.js.EXPECTED ! test/script/basic/run-octane.js Changeset: 910fd2849c4c Author: lagergren Date: 2013-05-27 13:12 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/910fd2849c4c Merge Changeset: 343fd0450802 Author: sundar Date: 2013-05-27 20:41 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/343fd0450802 8015352: "i".toUpperCase() => currently returns "??", but should be "I" (with Turkish locale) Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/options/OptionTemplate.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/JDK-8015352.js Changeset: e6193dcfe36c Author: lagergren Date: 2013-05-27 17:57 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e6193dcfe36c 8015447: Octane harness fixes for rhino and entire test runs: ant octane, ant octane-v8, ant octane-rhino Reviewed-by: sundar, jlaskey ! make/build-benchmark.xml ! test/script/basic/run-octane.js Changeset: d56168970de1 Author: sundar Date: 2013-05-28 16:37 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d56168970de1 8015459: Octane test run fails on Turkish locale Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/objects/DateParser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/options/OptionTemplate.java Changeset: f472f7046ec9 Author: sundar Date: 2013-05-29 15:41 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f472f7046ec9 8005979: A lot of tests are named "runTest" in reports Reviewed-by: jlaskey ! make/project.properties Changeset: f69e76417211 Author: lagergren Date: 2013-05-29 14:08 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f69e76417211 8011023: Math round didn't conform to ECMAScript 5 spec Reviewed-by: jlaskey, attila ! src/jdk/nashorn/internal/objects/NativeMath.java + test/script/basic/JDK-8011023.js + test/script/basic/JDK-8011023.js.EXPECTED Changeset: a2e2797392b3 Author: sundar Date: 2013-05-29 21:27 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a2e2797392b3 8015349: "abc".lastIndexOf("a",-1) should evaluate to 0 and not -1 Reviewed-by: lagergren, attila, jlaskey ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/JDK-8015349.js + test/script/basic/JDK-8015349.js.EXPECTED Changeset: 4463e94d9b0d Author: lana Date: 2013-05-29 16:59 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4463e94d9b0d Merge - src/jdk/nashorn/internal/runtime/options/ValueOption.java - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java - src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java - src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java - src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java - src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: ddbf41575a2b Author: lana Date: 2013-06-03 23:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/ddbf41575a2b Merge - src/jdk/nashorn/internal/runtime/options/ValueOption.java - src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompiler.java - src/jdk/nashorn/internal/runtime/regexp/joni/AsmCompilerSupport.java - src/jdk/nashorn/internal/runtime/regexp/joni/CaptureTreeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/NameEntry.java - src/jdk/nashorn/internal/runtime/regexp/joni/NativeMachine.java - src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CTypeNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/ast/CallNode.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/AbstractBench.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchGreedyBacktrack.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchRailsRegs.java - src/jdk/nashorn/internal/runtime/regexp/joni/bench/BenchSeveralRegexps.java - src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/PosixBracket.java - src/jdk/nashorn/internal/runtime/regexp/joni/encoding/Ptr.java - src/netscape/javascript/JSObject.java Changeset: e857ab684db0 Author: cl Date: 2013-06-06 20:48 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e857ab684db0 Added tag jdk8-b93 for changeset ddbf41575a2b ! .hgtags From morris.meyer at oracle.com Fri Jun 7 03:54:58 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 7 Jun 2013 06:54:58 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B16317.9000700@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> Message-ID: <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> I needed to have the delayed()->nop() in there as ba() crashed for me. --mm On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: > Morris, > > Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? > > Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. > > Thanks, > Vladimir > > On 6/6/13 9:22 PM, Morris Meyer wrote: >> Folks, >> >> Could I get a review for this issue? The problem exists that we >> optimistically assign forward branch labels and re-patch later. When we >> emit a cbcond instruction - we check if the Label out of bounds. If it >> is already bound the check is fine - if not bound a zero offset is >> emitted and the label is patched later >> >> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >> __FILE__ and __LINE__ parameters to every assembler.bind() call and >> checked the return of every patched branch to find out the line and >> location of the offending bind. The bind distance from >> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >> __ allocate_object macro assembler call in LIRGenerator::new_instance >> which uses the short branch in MacroAssembler::eden_allocate() >> >> This change has been through JPRT. >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >> >> From david.r.chase at oracle.com Fri Jun 7 04:59:51 2013 From: david.r.chase at oracle.com (David Chase) Date: Fri, 7 Jun 2013 07:59:51 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> Message-ID: <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. David On 2013-06-07, at 6:54 AM, Morris Meyer wrote: > I needed to have the delayed()->nop() in there as ba() crashed for me. > > > --mm > > > On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: > >> Morris, >> >> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >> >> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >> >> Thanks, >> Vladimir >> >> On 6/6/13 9:22 PM, Morris Meyer wrote: >>> Folks, >>> >>> Could I get a review for this issue? The problem exists that we >>> optimistically assign forward branch labels and re-patch later. When we >>> emit a cbcond instruction - we check if the Label out of bounds. If it >>> is already bound the check is fine - if not bound a zero offset is >>> emitted and the label is patched later >>> >>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>> checked the return of every patched branch to find out the line and >>> location of the offending bind. The bind distance from >>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>> which uses the short branch in MacroAssembler::eden_allocate() >>> >>> This change has been through JPRT. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>> >>> From morris.meyer at oracle.com Fri Jun 7 06:24:01 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 07 Jun 2013 09:24:01 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> Message-ID: <51B1DEF1.9000205@oracle.com> I substituted instructions from the non-cbcond path of ba_short(): // Unconditional short branch void MacroAssembler::ba_short(Label& L) { if (use_cbcond(L)) { Assembler::cbcond(equal, icc, G0, G0, L); return; } br(always, false, pt, L); delayed()->nop(); } Should w file a follow-on issue to address ba_short)() and eden_allocate() in MacroAssembler - or should we change both and re-run the JPRT job? --mm On 6/7/13 7:59 AM, David Chase wrote: > Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. > > David > > On 2013-06-07, at 6:54 AM, Morris Meyer wrote: > >> I needed to have the delayed()->nop() in there as ba() crashed for me. >> >> >> --mm >> >> >> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >> >>> Morris, >>> >>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>> >>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>> >>> Thanks, >>> Vladimir >>> >>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>> Folks, >>>> >>>> Could I get a review for this issue? The problem exists that we >>>> optimistically assign forward branch labels and re-patch later. When we >>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>> is already bound the check is fine - if not bound a zero offset is >>>> emitted and the label is patched later >>>> >>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>> checked the return of every patched branch to find out the line and >>>> location of the offending bind. The bind distance from >>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>> which uses the short branch in MacroAssembler::eden_allocate() >>>> >>>> This change has been through JPRT. >>>> >>>> --morris >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>> >>>> From niclas.adlertz at oracle.com Fri Jun 7 06:42:01 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Fri, 7 Jun 2013 15:42:01 +0200 Subject: RFR(S) 8005956 : C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <51ACACB0.1080101@oracle.com> References: <2322FC40-6F52-4A8B-8852-9080E24D7CA4@oracle.com> <51A52ADE.6030201@oracle.com> <5C2BB99C-9C4D-452B-91E2-447A848AB7F5@oracle.com> <7F76B49F-7E4D-4705-B8D6-C87E917E4AD9@oracle.com> <51A61947.9000003@oracle.com> <1CDA14AF-CCDE-4849-9575-7DEF70285D84@oracle.com> <51A7A7D1.4040203@oracle.com> <51A918F9.7080002@oracle.com> <51A9610C.4090501@oracle.com> <888983B8-BF85-4719-8F86-72F28C2B2BE3@oracle.com> <51ACACB0.1080101@oracle.com> Message-ID: <21159DF4-49B6-4911-88F0-1234F9F7E54E@oracle.com> Thank you Vladimir. Kind Regards, Niclas Adlertz On 3 jun 2013, at 16:48, Vladimir Kozlov wrote: > Good. > > Vladimir > > On 6/3/13 5:19 AM, Niclas Adlertz wrote: >> Hi Vladimir, >> >> Thank you. >> Here is a new webrev based on the input: >> >> http://cr.openjdk.java.net/~adlertz/JDK-8005956/webrev02/ >> >> Kind Regards, >> Niclas Adlertz >> >> >> On 1 jun 2013, at 04:48, Vladimir Kozlov wrote: >> >>> On 5/31/13 2:41 PM, Vladimir Kozlov wrote: >>>> On 5/30/13 12:26 PM, Vladimir Kozlov wrote: >>>>> Thanks, Niclas >>>>> >>>>> On 5/30/13 8:29 AM, Niclas Adlertz wrote: >>>>>> Vladimir, >>>>>> thank you for your feedback. I've now added rematerialization support >>>>>> only for reaching definitions to phi nodes that doesn't contain any >>>>>> live range input. >>>>> >>>>> I think you can avoid loop in contains_no_live_range_input() based on >>>>> code in MachNode::rematerialize(). Edge in(0) is control edge so you >>>>> don't need to check it and you can return true if a node has only >>>>> control edge (req() < 2), and it will cover MachTemp and normal loadCon >>>>> nodes cases. >>>> >>>> Niclas, >>>> >>>> Sorry, I am taking back this comment. Having loop is more future proof >>>> and it is general code which could be used for any mach node and not >>>> only for rematerialized. May be it should be moved to MachNode class >>>> (skip 0 (control) edge): >>> >>> Input edge could be Phi, BoxLock and other ideal nodes which are not Mach nodes so in(i)->is_Mach() is not correct. >>> >>> Vladimir >>> >>>> >>>> bool MachNode::contains_no_live_range_input() { >>>> for (uint i = 1; i < req(); ++i) { >>>> if ((in(i) != NULL) && in(i)->is_Mach() && >>>> in_RegMask(i).is_NotEmpty()) { >>>> return false; >>>> } >>>> } >>>> return true; >>>> } >>>> >>>> Regards, >>>> Vladimir >>>> >>>>> An other case is nodes producing flag. I think we should add >>>>> assert(def->ideal_reg() != Op_RegFlags). Because such nodes should not >>>>> be inputs to Phi (to avoid be separated from user node since other nodes >>>>> in between could affect flags). >>>>> This leaves only case with req() == 2. So you don't need the loop. Also >>>>> in(1) can't be NULL or not Mach (add assert to make sure). So you need >>>>> only def->in_RegMask(1).is_NotEmpty() check. >>>>> Run CTW and other our tests after these changes. I could be mistaking in >>>>> some assumtions. >>>>> >>>>> Also make contains_no_live_range_input() static so it will be local. >>>>> >>>>>> I also changed one input parameter to split_Rematerialize, just to fix >>>>>> the parfait bug 8013830. >>>>>> The parameter is not used when rematerializing reaches to phi nodes, >>>>>> so passing NULL should be fine. >>>>> >>>>> Please, do it as separate fix for parfait bug (it is better for bugs >>>>> bookkeeping). Why you think it is not used? >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>>> >>>>>> http://cr.openjdk.java.net/~adlertz/JDK-8005956/webrev01/ >>>>>> >>>>>> Kind Regards, >>>>>> Niclas Adlertz >>>>>> >>>>>> >>>>>> On 29 maj 2013, at 17:05, Vladimir Kozlov >>>>>> wrote: >>>>>> >>>>>>> On 5/29/13 1:18 AM, Niclas Adlertz wrote: >>>>>>>> Vladimir, >>>>>>>> Thank you for the additional info! >>>>>>>> However, in this bug it's not a rematerialization of a loadConX >>>>>>>> (X=P,D,etc) node that is causing this to fail, but a >>>>>>>> rematerialization of a negD_reg_reg node (node 530, rematerialized >>>>>>>> to node 1716, with input 1619 >>>>>>>> (http://cr.openjdk.java.net/~adlertz/JDK-8005956/log.txt)). >>>>>>>> >>>>>>>> I suggest we remove this faulty optimization, as the performance >>>>>>>> tests show no significant regression. >>>>>>> >>>>>>> It is not faulty optimization for nodes which don't have inputs (like >>>>>>> constants not on sparc). As I said, it reduces LR and may reduce need >>>>>>> for spills. Also some applications may still regress even if few >>>>>>> benchmarks we use are not. >>>>>>> >>>>>>> Vladimir >>>>>>> >>>>>>>> >>>>>>>> Kind Regards, >>>>>>>> Niclas Adlertz >>>>>>>> >>>>>>>> >>>>>>>> On 29 maj 2013, at 00:38, Christian Thalinger >>>>>>>> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> On May 28, 2013, at 3:08 PM, Vladimir Kozlov >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Niclas, >>>>>>>>>> >>>>>>>>>> I attached mails in which we discussed the fix for 7004940. >>>>>>>>>> Removing rematerialization was one option. >>>>>>>>>> I think the original code, to do rematerialization, was added to >>>>>>>>>> reduce live range of constant values (ConP) which did not have any >>>>>>>>>> inputs (root is not mach node). It worked until Christian added >>>>>>>>>> constants load from table - as result constant become node with >>>>>>>>>> input edge (MachConstantBaseNode). So now we have to stretch >>>>>>>>>> either LR of ConstantBase node or LR of loadCon node. >>>>>>>>>> May be we should avoid rematerialization only for such nodes >>>>>>>>>> (loadConP, loadConD etc.)? >>>>>>>>> >>>>>>>>> Some background on MachConstantBaseNode: these nodes are pinned >>>>>>>>> into the first basic block of the method (IIRC). The reason for >>>>>>>>> this is we want to keep the RDPC instruction as close as possible >>>>>>>>> to the constant table base address so that the offset is small and >>>>>>>>> the constant load instruction can be a simple load. Otherwise we >>>>>>>>> need other instructions to calculate the constant table base address. >>>>>>>>> >>>>>>>>> This stretches the live range of the constant table base register >>>>>>>>> quite a bit but note that we only do this on SPARC. >>>>>>>>> >>>>>>>>> -- Chris >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Vladimir >>>>>>>>>> >>>>>>>>>> On 5/24/13 5:32 AM, Niclas Adlertz wrote: >>>>>>>>>>> Hi all. >>>>>>>>>>> >>>>>>>>>>> Problem: >>>>>>>>>>> Hitting the assert: assert(!def_outside->member(r)) failed: Use >>>>>>>>>>> of external LRG overlaps the same LRG defined in this block in >>>>>>>>>>> live.cpp >>>>>>>>>>> >>>>>>>>>>> Background info: >>>>>>>>>>> When a reaching definition for a phi node is rematerialized (due >>>>>>>>>>> to spilling) it's inserted in the end of the preceding block to >>>>>>>>>>> the phi. On rare occasions this will cause the re-calculation of >>>>>>>>>>> the liveness to fail. When phi nodes and their input are united >>>>>>>>>>> in the end of the Chaitin::Split() method they get the same live >>>>>>>>>>> range id. >>>>>>>>>>> >>>>>>>>>>> What happens in this case is that a reaching definition R for a >>>>>>>>>>> phi node P has been rematerialized and put in a preceding block >>>>>>>>>>> B. The input X to R will eventually get the same live range id as >>>>>>>>>>> an earlier instruction Y in B. Look at [0] for a more detailed >>>>>>>>>>> explanation. >>>>>>>>>>> >>>>>>>>>>> Solution: >>>>>>>>>>> Disable re-materialization of reaching definitions for phi nodes >>>>>>>>>>> when spilling. I've run refworkload with 12 iterations for >>>>>>>>>>> baseline and new version, several times. The results vary a bit, >>>>>>>>>>> not sure how much refworkload runs usually vary. Roland also >>>>>>>>>>> tried running refworkload on his x64 Linux to see if he could see >>>>>>>>>>> any major regression. Thank you for helping me with this Roland. >>>>>>>>>>> >>>>>>>>>>> Results from x64 Linux (local machine) [1], x64 Linux (sthdev04) >>>>>>>>>>> [2], sparcv9 Solaris (mrspock) [3], and Roland's x64 Linux [4]. >>>>>>>>>>> >>>>>>>>>>> WEBREV: http://cr.openjdk.java.net/~adlertz/JDK-8005956/webrev00/ >>>>>>>>>>> JBS: https://jbs.oracle.com/bugs/browse/JDK-8005956 >>>>>>>>>>> >>>>>>>>>>> A review would be much appreciated. >>>>>>>>>>> Thank you. >>>>>>>>>>> >>>>>>>>>>> Kind Regards, >>>>>>>>>>> Niclas Adlertz >>>>>>>>>>> >>>>>>>>>>> [0]: Output from the run (running test >>>>>>>>>>> https://jbs.oracle.com/bugs/secure/attachment/11386/PolynomialRoot.java) >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> http://cr.openjdk.java.net/~adlertz/JDK-8005956/log.txt >>>>>>>>>>> Look at phi node 526, it has input nodes 527 and 1619. Node 527 >>>>>>>>>>> has input node 528, which is the instruction prior to the reach >>>>>>>>>>> 1716 (which has been rematerialized for phi node 558) in block >>>>>>>>>>> 92. Node 1716 has input node 1619. >>>>>>>>>>> When the unite step (found in the end of reg_split.cpp) unites >>>>>>>>>>> the live range ids of phi nodes and their inputs, node 527 >>>>>>>>>>> (recursively via phi node 528) and node 1619 will get the same >>>>>>>>>>> live range id, resulting in the liveness to fail. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [1] Results from x64 Linux (local machine) 2 runs >>>>>>>>>>> >>>>>>>>>>> run 1: >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_base: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>>> jetstream 12 185.27 0.03 >>>>>>>>>>> Write 12 71.42 0.04 >>>>>>>>>>> Parse 12 67.92 0.03 >>>>>>>>>>> Read 12 17.25 0.10 >>>>>>>>>>> Copy 12 102.17 0.02 >>>>>>>>>>> scimark 12 1438.69 0.00 >>>>>>>>>>> LU 12 3213.92 0.01 >>>>>>>>>>> FFT 12 211.00 0.02 >>>>>>>>>>> Monte 12 827.71 0.01 >>>>>>>>>>> SOR 12 1365.90 0.00 >>>>>>>>>>> Sparse 12 1574.90 0.01 >>>>>>>>>>> specjbb2000 12 493245.44 0.00 >>>>>>>>>>> Last_Warehouse 12 493245.44 0.00 >>>>>>>>>>> First_Warehouse 12 118938.86 0.00 >>>>>>>>>>> specjbb2005 12 179117.61 0.00 >>>>>>>>>>> last 12 179117.61 0.00 >>>>>>>>>>> interval_average 12 10536.25 0.00 >>>>>>>>>>> peak 12 184040.52 0.01 >>>>>>>>>>> overall_average 12 164733.22 0.01 >>>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>>> peak_warehouse 12 4.25 0.11 >>>>>>>>>>> first 12 63494.80 0.00 >>>>>>>>>>> specjvm98 12 1020.02 0.01 >>>>>>>>>>> compress 12 817.54 0.00 >>>>>>>>>>> javac 12 598.70 0.01 >>>>>>>>>>> db 12 407.37 0.02 >>>>>>>>>>> jack 12 1299.66 0.03 >>>>>>>>>>> mtrt 12 2904.37 0.02 >>>>>>>>>>> jess 12 1089.06 0.02 >>>>>>>>>>> mpegaudio 12 1402.48 0.00 >>>>>>>>>>> volano25 12 183768.67 0.04 >>>>>>>>>>> time 12 4.36 0.04 >>>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 23543.18 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_new: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>>> Significant >>>>>>>>>>> jetstream 12 198.41 0.05 7.09 >>>>>>>>>>> 0.001 Yes >>>>>>>>>>> Write 12 69.92 0.03 2.10 >>>>>>>>>>> 0.154 * >>>>>>>>>>> Parse 12 66.00 0.03 2.82 >>>>>>>>>>> 0.031 * >>>>>>>>>>> Read 12 15.83 0.14 8.21 >>>>>>>>>>> 0.098 * >>>>>>>>>>> Copy 12 89.67 0.02 12.23 >>>>>>>>>>> 0.000 Yes >>>>>>>>>>> scimark 12 1443.71 0.00 0.35 >>>>>>>>>>> 0.009 Yes >>>>>>>>>>> LU 12 3236.61 0.00 0.71 >>>>>>>>>>> 0.012 * >>>>>>>>>>> FFT 12 211.73 0.02 0.34 >>>>>>>>>>> 0.628 * >>>>>>>>>>> Monte 12 824.74 0.01 -0.36 >>>>>>>>>>> 0.159 * >>>>>>>>>>> SOR 12 1365.70 0.00 -0.01 >>>>>>>>>>> 0.908 * >>>>>>>>>>> Sparse 12 1579.76 0.01 0.31 >>>>>>>>>>> 0.299 * >>>>>>>>>>> specjbb2000 12 494276.38 0.01 0.21 >>>>>>>>>>> 0.384 * >>>>>>>>>>> Last_Warehouse 12 494276.38 0.01 0.21 >>>>>>>>>>> 0.384 * >>>>>>>>>>> First_Warehouse 12 118847.53 0.00 -0.08 >>>>>>>>>>> 0.548 * >>>>>>>>>>> specjbb2005 12 179359.88 0.01 0.14 >>>>>>>>>>> 0.603 * >>>>>>>>>>> last 12 179359.87 0.01 0.14 >>>>>>>>>>> 0.603 * >>>>>>>>>>> interval_average 12 10550.67 0.01 0.14 >>>>>>>>>>> 0.599 * >>>>>>>>>>> peak 12 184332.03 0.01 0.16 >>>>>>>>>>> 0.693 * >>>>>>>>>>> overall_average 12 165145.86 0.01 0.25 >>>>>>>>>>> 0.393 * >>>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> peak_warehouse 12 4.00 0.00 5.88 >>>>>>>>>>> 0.082 * >>>>>>>>>>> first 12 63653.25 0.01 0.25 >>>>>>>>>>> 0.162 * >>>>>>>>>>> specjvm98 12 1026.25 0.00 0.61 >>>>>>>>>>> 0.003 Yes >>>>>>>>>>> compress 12 817.55 0.00 0.00 >>>>>>>>>>> 0.998 * >>>>>>>>>>> javac 12 602.40 0.02 0.62 >>>>>>>>>>> 0.317 * >>>>>>>>>>> db 12 406.46 0.01 -0.22 >>>>>>>>>>> 0.685 * >>>>>>>>>>> jack 12 1341.50 0.03 3.22 >>>>>>>>>>> 0.011 * >>>>>>>>>>> mtrt 12 2903.11 0.02 -0.04 >>>>>>>>>>> 0.951 * >>>>>>>>>>> jess 12 1099.14 0.01 0.93 >>>>>>>>>>> 0.087 * >>>>>>>>>>> mpegaudio 12 1400.09 0.00 -0.17 >>>>>>>>>>> 0.150 * >>>>>>>>>>> volano25 12 185056.42 0.04 0.70 >>>>>>>>>>> 0.660 * >>>>>>>>>>> time 12 4.33 0.04 0.68 >>>>>>>>>>> 0.666 * >>>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 23787.81 1.04 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> run 2: >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_base: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>>> jetstream 12 185.27 0.03 >>>>>>>>>>> Write 12 71.42 0.04 >>>>>>>>>>> Parse 12 67.92 0.03 >>>>>>>>>>> Read 12 17.25 0.10 >>>>>>>>>>> Copy 12 102.17 0.02 >>>>>>>>>>> scimark 12 1438.69 0.00 >>>>>>>>>>> LU 12 3213.92 0.01 >>>>>>>>>>> FFT 12 211.00 0.02 >>>>>>>>>>> Monte 12 827.71 0.01 >>>>>>>>>>> SOR 12 1365.90 0.00 >>>>>>>>>>> Sparse 12 1574.90 0.01 >>>>>>>>>>> specjbb2000 12 493245.44 0.00 >>>>>>>>>>> Last_Warehouse 12 493245.44 0.00 >>>>>>>>>>> First_Warehouse 12 118938.86 0.00 >>>>>>>>>>> specjbb2005 12 179117.61 0.00 >>>>>>>>>>> last 12 179117.61 0.00 >>>>>>>>>>> interval_average 12 10536.25 0.00 >>>>>>>>>>> peak 12 184040.52 0.01 >>>>>>>>>>> overall_average 12 164733.22 0.01 >>>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>>> peak_warehouse 12 4.25 0.11 >>>>>>>>>>> first 12 63494.80 0.00 >>>>>>>>>>> specjvm98 12 1020.02 0.01 >>>>>>>>>>> compress 12 817.54 0.00 >>>>>>>>>>> javac 12 598.70 0.01 >>>>>>>>>>> db 12 407.37 0.02 >>>>>>>>>>> jack 12 1299.66 0.03 >>>>>>>>>>> mtrt 12 2904.37 0.02 >>>>>>>>>>> jess 12 1089.06 0.02 >>>>>>>>>>> mpegaudio 12 1402.48 0.00 >>>>>>>>>>> volano25 12 183768.67 0.04 >>>>>>>>>>> time 12 4.36 0.04 >>>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 23543.18 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_new: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>>> Significant >>>>>>>>>>> jetstream 12 194.93 0.03 5.21 >>>>>>>>>>> 0.001 Yes >>>>>>>>>>> Write 12 71.58 0.03 -0.23 >>>>>>>>>>> 0.858 * >>>>>>>>>>> Parse 12 65.25 0.02 3.93 >>>>>>>>>>> 0.002 Yes >>>>>>>>>>> Read 12 16.75 0.13 2.90 >>>>>>>>>>> 0.534 * >>>>>>>>>>> Copy 12 89.50 0.02 12.40 >>>>>>>>>>> 0.000 Yes >>>>>>>>>>> scimark 12 1444.04 0.00 0.37 >>>>>>>>>>> 0.011 * >>>>>>>>>>> LU 12 3231.07 0.01 0.53 >>>>>>>>>>> 0.084 * >>>>>>>>>>> FFT 12 211.94 0.01 0.44 >>>>>>>>>>> 0.521 * >>>>>>>>>>> Monte 12 828.17 0.00 0.06 >>>>>>>>>>> 0.789 * >>>>>>>>>>> SOR 12 1367.63 0.00 0.13 >>>>>>>>>>> 0.266 * >>>>>>>>>>> Sparse 12 1581.42 0.01 0.41 >>>>>>>>>>> 0.134 * >>>>>>>>>>> specjbb2000 12 494674.94 0.00 0.29 >>>>>>>>>>> 0.077 * >>>>>>>>>>> Last_Warehouse 12 494674.93 0.00 0.29 >>>>>>>>>>> 0.077 * >>>>>>>>>>> First_Warehouse 12 118955.15 0.01 0.01 >>>>>>>>>>> 0.946 * >>>>>>>>>>> specjbb2005 12 179408.72 0.01 0.16 >>>>>>>>>>> 0.442 * >>>>>>>>>>> last 12 179408.72 0.01 0.16 >>>>>>>>>>> 0.442 * >>>>>>>>>>> interval_average 12 10553.50 0.01 0.16 >>>>>>>>>>> 0.439 * >>>>>>>>>>> peak 12 184116.40 0.01 0.04 >>>>>>>>>>> 0.903 * >>>>>>>>>>> overall_average 12 164999.73 0.00 0.16 >>>>>>>>>>> 0.466 * >>>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> peak_warehouse 12 4.08 0.07 3.92 >>>>>>>>>>> 0.296 * >>>>>>>>>>> first 12 63606.07 0.01 0.18 >>>>>>>>>>> 0.431 * >>>>>>>>>>> specjvm98 12 1019.34 0.01 -0.07 >>>>>>>>>>> 0.780 * >>>>>>>>>>> compress 12 817.54 0.00 -0.00 >>>>>>>>>>> 0.997 * >>>>>>>>>>> javac 12 601.06 0.02 0.39 >>>>>>>>>>> 0.529 * >>>>>>>>>>> db 12 405.60 0.01 -0.44 >>>>>>>>>>> 0.447 * >>>>>>>>>>> jack 12 1313.88 0.02 1.09 >>>>>>>>>>> 0.267 * >>>>>>>>>>> mtrt 12 2860.55 0.01 -1.51 >>>>>>>>>>> 0.016 * >>>>>>>>>>> jess 12 1093.54 0.00 0.41 >>>>>>>>>>> 0.386 * >>>>>>>>>>> mpegaudio 12 1396.44 0.01 -0.43 >>>>>>>>>>> 0.058 * >>>>>>>>>>> volano25 12 182607.08 0.03 -0.63 >>>>>>>>>>> 0.663 * >>>>>>>>>>> time 12 4.39 0.03 -0.61 >>>>>>>>>>> 0.670 * >>>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 23663.87 0.51 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [2] x64 Linux (sthdev04): >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_base: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>>> jetstream 12 266.06 0.05 >>>>>>>>>>> Write 12 90.00 0.02 >>>>>>>>>>> Parse 12 31.67 0.07 >>>>>>>>>>> Read 12 19.83 0.15 >>>>>>>>>>> Copy 12 35.92 0.05 >>>>>>>>>>> scimark 12 1792.69 0.00 >>>>>>>>>>> LU 12 4221.96 0.00 >>>>>>>>>>> FFT 12 396.07 0.01 >>>>>>>>>>> Monte 12 876.79 0.01 >>>>>>>>>>> SOR 12 1473.68 0.00 >>>>>>>>>>> Sparse 12 1994.96 0.01 >>>>>>>>>>> specjbb2000 12 795853.13 0.01 >>>>>>>>>>> Last_Warehouse 12 795853.13 0.01 >>>>>>>>>>> First_Warehouse 12 116126.64 0.01 >>>>>>>>>>> specjbb2005 12 657436.88 0.01 >>>>>>>>>>> last 12 657436.86 0.01 >>>>>>>>>>> interval_average 12 10114.42 0.01 >>>>>>>>>>> peak 12 735806.35 0.01 >>>>>>>>>>> overall_average 12 610453.78 0.01 >>>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>>> peak_warehouse 12 2.50 0.21 >>>>>>>>>>> first 12 56556.37 0.01 >>>>>>>>>>> specjvm98 12 1037.04 0.02 >>>>>>>>>>> compress 12 831.64 0.01 >>>>>>>>>>> javac 12 465.49 0.08 >>>>>>>>>>> db 12 515.11 0.01 >>>>>>>>>>> jack 12 1398.88 0.02 >>>>>>>>>>> mtrt 12 2614.33 0.11 >>>>>>>>>>> jess 12 1195.19 0.04 >>>>>>>>>>> mpegaudio 12 1491.24 0.01 >>>>>>>>>>> volano25 12 509262.66 0.04 >>>>>>>>>>> time 12 1.57 0.04 >>>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 46117.90 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_new: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>>> Significant >>>>>>>>>>> jetstream 12 271.15 0.04 1.91 >>>>>>>>>>> 0.294 * >>>>>>>>>>> Write 12 88.00 0.02 2.22 >>>>>>>>>>> 0.015 * >>>>>>>>>>> Parse 12 31.83 0.08 -0.53 >>>>>>>>>>> 0.869 * >>>>>>>>>>> Read 12 18.67 0.14 5.88 >>>>>>>>>>> 0.307 * >>>>>>>>>>> Copy 12 35.92 0.05 -0.00 >>>>>>>>>>> 1.000 * >>>>>>>>>>> scimark 12 1798.19 0.00 0.31 >>>>>>>>>>> 0.006 Yes >>>>>>>>>>> LU 12 4240.68 0.00 0.44 >>>>>>>>>>> 0.002 Yes >>>>>>>>>>> FFT 12 399.76 0.02 0.93 >>>>>>>>>>> 0.150 * >>>>>>>>>>> Monte 12 874.18 0.01 -0.30 >>>>>>>>>>> 0.242 * >>>>>>>>>>> SOR 12 1473.97 0.00 0.02 >>>>>>>>>>> 0.235 * >>>>>>>>>>> Sparse 12 2002.35 0.01 0.37 >>>>>>>>>>> 0.332 * >>>>>>>>>>> specjbb2000 12 787858.63 0.03 -1.00 >>>>>>>>>>> 0.290 * >>>>>>>>>>> Last_Warehouse 12 787858.59 0.03 -1.00 >>>>>>>>>>> 0.290 * >>>>>>>>>>> First_Warehouse 12 116645.31 0.02 0.45 >>>>>>>>>>> 0.572 * >>>>>>>>>>> specjbb2005 12 657887.44 0.01 0.07 >>>>>>>>>>> 0.820 * >>>>>>>>>>> last 12 657887.45 0.01 0.07 >>>>>>>>>>> 0.820 * >>>>>>>>>>> interval_average 12 10121.25 0.01 0.07 >>>>>>>>>>> 0.822 * >>>>>>>>>>> peak 12 737268.41 0.01 0.20 >>>>>>>>>>> 0.580 * >>>>>>>>>>> overall_average 12 612183.21 0.01 0.28 >>>>>>>>>>> 0.318 * >>>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> peak_warehouse 12 2.67 0.18 -6.67 >>>>>>>>>>> 0.430 * >>>>>>>>>>> first 12 56839.78 0.01 0.50 >>>>>>>>>>> 0.343 * >>>>>>>>>>> specjvm98 12 1045.08 0.02 0.78 >>>>>>>>>>> 0.333 * >>>>>>>>>>> compress 12 830.84 0.00 -0.10 >>>>>>>>>>> 0.671 * >>>>>>>>>>> javac 12 487.46 0.09 4.72 >>>>>>>>>>> 0.192 * >>>>>>>>>>> db 12 518.01 0.01 0.56 >>>>>>>>>>> 0.041 * >>>>>>>>>>> jack 12 1440.04 0.03 2.94 >>>>>>>>>>> 0.010 Yes >>>>>>>>>>> mtrt 12 2569.15 0.08 -1.73 >>>>>>>>>>> 0.656 * >>>>>>>>>>> jess 12 1188.40 0.04 -0.57 >>>>>>>>>>> 0.742 * >>>>>>>>>>> mpegaudio 12 1486.04 0.01 -0.35 >>>>>>>>>>> 0.184 * >>>>>>>>>>> volano25 12 505473.50 0.02 -0.74 >>>>>>>>>>> 0.600 * >>>>>>>>>>> time 12 1.58 0.02 -0.60 >>>>>>>>>>> 0.674 * >>>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 46149.13 0.07 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [3] Results from sparcv9 solaris (mrspock): >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_base: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>>> jetstream 12 36.03 0.01 >>>>>>>>>>> Copy 12 258.08 0.00 >>>>>>>>>>> Parse 12 337.08 0.00 >>>>>>>>>>> Read 12 126.67 0.04 >>>>>>>>>>> Write 12 538.83 0.00 >>>>>>>>>>> scimark 12 44.36 0.01 >>>>>>>>>>> Sparse 12 27.44 0.01 >>>>>>>>>>> LU 12 51.53 0.02 >>>>>>>>>>> SOR 12 80.13 0.01 >>>>>>>>>>> FFT 12 14.28 0.00 >>>>>>>>>>> Monte 12 48.44 0.00 >>>>>>>>>>> specjbb2000 12 80257.23 0.00 >>>>>>>>>>> First_Warehouse 12 10756.41 0.01 >>>>>>>>>>> Last_Warehouse 12 80257.24 0.00 >>>>>>>>>>> specjbb2005 12 274794.56 0.02 >>>>>>>>>>> peak 12 274794.56 0.02 >>>>>>>>>>> peak_warehouse 12 8.00 0.00 >>>>>>>>>>> last 12 274794.56 0.02 >>>>>>>>>>> interval_average 12 535.58 0.02 >>>>>>>>>>> first 12 5079.05 0.02 >>>>>>>>>>> overall_average 12 121172.61 0.07 >>>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>>> specjvm98 12 81.51 0.01 >>>>>>>>>>> javac 12 58.26 0.01 >>>>>>>>>>> db 12 54.68 0.03 >>>>>>>>>>> jess 12 88.80 0.00 >>>>>>>>>>> jack 12 41.98 0.01 >>>>>>>>>>> compress 12 87.66 0.00 >>>>>>>>>>> mtrt 12 228.86 0.01 >>>>>>>>>>> mpegaudio 12 100.37 0.00 >>>>>>>>>>> volano25 12 114566.00 0.15 >>>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>>> time 12 7.15 0.17 >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 6260.91 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> refworkload_new: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>>> Significant >>>>>>>>>>> jetstream 12 35.91 0.00 -0.35 >>>>>>>>>>> 0.264 * >>>>>>>>>>> Copy 12 257.00 0.00 0.42 >>>>>>>>>>> 0.007 Yes >>>>>>>>>>> Parse 12 347.33 0.01 -3.04 >>>>>>>>>>> 0.000 Yes >>>>>>>>>>> Read 12 125.75 0.00 0.72 >>>>>>>>>>> 0.528 * >>>>>>>>>>> Write 12 536.00 0.00 0.53 >>>>>>>>>>> 0.000 Yes >>>>>>>>>>> scimark 12 44.62 0.01 0.58 >>>>>>>>>>> 0.028 * >>>>>>>>>>> Sparse 12 27.48 0.00 0.16 >>>>>>>>>>> 0.400 * >>>>>>>>>>> LU 12 51.82 0.01 0.57 >>>>>>>>>>> 0.487 * >>>>>>>>>>> SOR 12 81.20 0.01 1.34 >>>>>>>>>>> 0.001 Yes >>>>>>>>>>> FFT 12 14.26 0.01 -0.10 >>>>>>>>>>> 0.617 * >>>>>>>>>>> Monte 12 48.34 0.00 -0.22 >>>>>>>>>>> 0.154 * >>>>>>>>>>> specjbb2000 12 80075.02 0.01 -0.23 >>>>>>>>>>> 0.213 * >>>>>>>>>>> First_Warehouse 12 10871.56 0.02 1.07 >>>>>>>>>>> 0.169 * >>>>>>>>>>> Last_Warehouse 12 80075.01 0.01 -0.23 >>>>>>>>>>> 0.213 * >>>>>>>>>>> specjbb2005 12 271688.31 0.03 -1.13 >>>>>>>>>>> 0.276 * >>>>>>>>>>> peak 12 271688.33 0.03 -1.13 >>>>>>>>>>> 0.276 * >>>>>>>>>>> peak_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> last 12 271688.33 0.03 -1.13 >>>>>>>>>>> 0.276 * >>>>>>>>>>> interval_average 12 529.75 0.03 -1.09 >>>>>>>>>>> 0.291 * >>>>>>>>>>> first 12 5135.88 0.02 1.12 >>>>>>>>>>> 0.128 * >>>>>>>>>>> overall_average 12 118168.54 0.05 -2.48 >>>>>>>>>>> 0.334 * >>>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> specjvm98 12 81.23 0.01 -0.34 >>>>>>>>>>> 0.221 * >>>>>>>>>>> javac 12 57.66 0.01 -1.02 >>>>>>>>>>> 0.021 * >>>>>>>>>>> db 12 53.89 0.04 -1.44 >>>>>>>>>>> 0.278 * >>>>>>>>>>> jess 12 89.33 0.01 0.60 >>>>>>>>>>> 0.009 Yes >>>>>>>>>>> jack 12 41.75 0.01 -0.56 >>>>>>>>>>> 0.091 * >>>>>>>>>>> compress 12 87.59 0.00 -0.07 >>>>>>>>>>> 0.545 * >>>>>>>>>>> mtrt 12 229.51 0.02 0.29 >>>>>>>>>>> 0.640 * >>>>>>>>>>> mpegaudio 12 100.24 0.00 -0.13 >>>>>>>>>>> 0.453 * >>>>>>>>>>> volano25 12 104635.84 0.21 -8.67 >>>>>>>>>>> 0.232 * >>>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> time 12 8.02 0.24 -12.16 >>>>>>>>>>> 0.208 * >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 6128.92 -2.11 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [4] Results from Roland's x64 Linux: >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> tbase: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev >>>>>>>>>>> jetstream 12 84.09 0.04 >>>>>>>>>>> Copy 12 952.42 0.05 >>>>>>>>>>> Parse 12 44.33 0.04 >>>>>>>>>>> Read 12 15.00 0.03 >>>>>>>>>>> Write 12 320.33 0.16 >>>>>>>>>>> scimark 12 457.72 0.00 >>>>>>>>>>> Sparse 12 279.24 0.00 >>>>>>>>>>> LU 12 702.48 0.00 >>>>>>>>>>> SOR 12 764.40 0.00 >>>>>>>>>>> FFT 12 32.23 0.00 >>>>>>>>>>> Monte 12 510.25 0.00 >>>>>>>>>>> specjbb2000 12 397041.59 0.01 >>>>>>>>>>> First_Warehouse 12 61010.62 0.01 >>>>>>>>>>> Last_Warehouse 12 397041.60 0.01 >>>>>>>>>>> specjbb2005 12 211800.03 0.01 >>>>>>>>>>> peak 12 229864.05 0.01 >>>>>>>>>>> peak_warehouse 12 4.00 0.00 >>>>>>>>>>> last 12 211800.03 0.01 >>>>>>>>>>> interval_average 12 12459.00 0.01 >>>>>>>>>>> first 12 36496.39 0.01 >>>>>>>>>>> overall_average 12 184620.84 0.01 >>>>>>>>>>> last_warehouse 12 8.00 0.00 >>>>>>>>>>> specjvm98 12 675.34 0.00 >>>>>>>>>>> javac 12 396.86 0.00 >>>>>>>>>>> db 12 463.10 0.00 >>>>>>>>>>> jess 12 671.13 0.01 >>>>>>>>>>> jack 12 544.39 0.01 >>>>>>>>>>> compress 12 597.28 0.00 >>>>>>>>>>> mtrt 12 1724.51 0.01 >>>>>>>>>>> mpegaudio 12 926.39 0.00 >>>>>>>>>>> volano25 12 161056.08 0.05 >>>>>>>>>>> connections 12 400.00 0.00 >>>>>>>>>>> time 12 4.98 0.04 >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 16931.56 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> tniclas: reference_server >>>>>>>>>>> Benchmark Samples Mean Stdev %Diff P >>>>>>>>>>> Significant >>>>>>>>>>> jetstream 12 88.03 0.02 4.68 >>>>>>>>>>> 0.003 Yes >>>>>>>>>>> Copy 12 866.75 0.07 8.99 >>>>>>>>>>> 0.001 Yes >>>>>>>>>>> Parse 12 42.83 0.01 3.38 >>>>>>>>>>> 0.012 * >>>>>>>>>>> Read 12 14.83 0.04 1.11 >>>>>>>>>>> 0.431 * >>>>>>>>>>> Write 12 303.67 0.02 5.20 >>>>>>>>>>> 0.291 * >>>>>>>>>>> scimark 12 457.89 0.00 0.04 >>>>>>>>>>> 0.116 * >>>>>>>>>>> Sparse 12 279.82 0.00 0.21 >>>>>>>>>>> 0.033 * >>>>>>>>>>> LU 12 702.76 0.00 0.04 >>>>>>>>>>> 0.122 * >>>>>>>>>>> SOR 12 764.59 0.00 0.02 >>>>>>>>>>> 0.636 * >>>>>>>>>>> FFT 12 32.28 0.00 0.15 >>>>>>>>>>> 0.098 * >>>>>>>>>>> Monte 12 509.99 0.00 -0.05 >>>>>>>>>>> 0.127 * >>>>>>>>>>> specjbb2000 12 398055.84 0.01 0.26 >>>>>>>>>>> 0.540 * >>>>>>>>>>> First_Warehouse 12 61447.70 0.01 0.72 >>>>>>>>>>> 0.005 Yes >>>>>>>>>>> Last_Warehouse 12 398055.85 0.01 0.26 >>>>>>>>>>> 0.540 * >>>>>>>>>>> specjbb2005 12 212037.69 0.01 0.11 >>>>>>>>>>> 0.657 * >>>>>>>>>>> peak 12 230138.69 0.01 0.12 >>>>>>>>>>> 0.773 * >>>>>>>>>>> peak_warehouse 12 4.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> last 12 212037.69 0.01 0.11 >>>>>>>>>>> 0.657 * >>>>>>>>>>> interval_average 12 12473.00 0.01 0.11 >>>>>>>>>>> 0.657 * >>>>>>>>>>> first 12 36631.47 0.01 0.37 >>>>>>>>>>> 0.174 * >>>>>>>>>>> overall_average 12 184966.28 0.01 0.19 >>>>>>>>>>> 0.529 * >>>>>>>>>>> last_warehouse 12 8.00 0.00 -0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> specjvm98 12 673.85 0.00 -0.22 >>>>>>>>>>> 0.058 * >>>>>>>>>>> javac 12 397.12 0.01 0.07 >>>>>>>>>>> 0.786 * >>>>>>>>>>> db 12 463.87 0.00 0.17 >>>>>>>>>>> 0.262 * >>>>>>>>>>> jess 12 667.62 0.01 -0.52 >>>>>>>>>>> 0.213 * >>>>>>>>>>> jack 12 543.46 0.01 -0.17 >>>>>>>>>>> 0.656 * >>>>>>>>>>> compress 12 596.70 0.00 -0.10 >>>>>>>>>>> 0.306 * >>>>>>>>>>> mtrt 12 1704.44 0.01 -1.16 >>>>>>>>>>> 0.006 Yes >>>>>>>>>>> mpegaudio 12 928.21 0.00 0.20 >>>>>>>>>>> 0.135 * >>>>>>>>>>> volano25 12 162796.33 0.05 1.08 >>>>>>>>>>> 0.588 * >>>>>>>>>>> connections 12 400.00 0.00 0.00 >>>>>>>>>>> 0.000 * >>>>>>>>>>> time 12 4.93 0.05 1.03 >>>>>>>>>>> 0.592 * >>>>>>>>>>> >>>>>>>>>>> -------------------------------------------------------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Weighted Geomean 17052.36 0.71 >>>>>>>>>>> ============================================================================ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>> >> From vladimir.kozlov at oracle.com Fri Jun 7 07:06:09 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jun 2013 07:06:09 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> Message-ID: <51B1E8D1.3000602@oracle.com> Morris, Sorry, when I suggested ba() I did not say that it HAS delay slot. All branches on sparc has delay slot. Only new cbcond instruction used for short branches does not. So the fix is: - ba_short(slow_case); + ba(slow_case); + delayed()->nop(); The ba() method is macroassembler method which use br() to encode branch instruction: inline void MacroAssembler::ba( Label& L ) { br(always, false, pt, L); } So your fix is correct but we use macroassembler methods to simplify code. Thanks, Vladimir On 6/7/13 3:54 AM, Morris Meyer wrote: > I needed to have the delayed()->nop() in there as ba() crashed for me. > > > --mm > > > On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: > >> Morris, >> >> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >> >> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >> >> Thanks, >> Vladimir >> >> On 6/6/13 9:22 PM, Morris Meyer wrote: >>> Folks, >>> >>> Could I get a review for this issue? The problem exists that we >>> optimistically assign forward branch labels and re-patch later. When we >>> emit a cbcond instruction - we check if the Label out of bounds. If it >>> is already bound the check is fine - if not bound a zero offset is >>> emitted and the label is patched later >>> >>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>> checked the return of every patched branch to find out the line and >>> location of the offending bind. The bind distance from >>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>> which uses the short branch in MacroAssembler::eden_allocate() >>> >>> This change has been through JPRT. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>> >>> From vladimir.kozlov at oracle.com Fri Jun 7 07:16:53 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jun 2013 07:16:53 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B1DEF1.9000205@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B1DEF1.9000205@oracle.com> Message-ID: <51B1EB55.4070806@oracle.com> What is eden_allocate() in MacroAssembler issue? Vladimir On 6/7/13 6:24 AM, Morris Meyer wrote: > I substituted instructions from the non-cbcond path of ba_short(): > > // Unconditional short branch > void MacroAssembler::ba_short(Label& L) { > if (use_cbcond(L)) { > Assembler::cbcond(equal, icc, G0, G0, L); > return; > } > br(always, false, pt, L); > delayed()->nop(); > } > > Should w file a follow-on issue to address ba_short)() and eden_allocate() in MacroAssembler - or should we change both > and re-run the JPRT job? > > --mm > > > On 6/7/13 7:59 AM, David Chase wrote: >> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job >> done without the delay-slot nop. >> >> David >> >> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >> >>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>> >>> >>> --mm >>> >>> >>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>> >>>> Morris, >>>> >>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>> >>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>> Folks, >>>>> >>>>> Could I get a review for this issue? The problem exists that we >>>>> optimistically assign forward branch labels and re-patch later. When we >>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>> is already bound the check is fine - if not bound a zero offset is >>>>> emitted and the label is patched later >>>>> >>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>> checked the return of every patched branch to find out the line and >>>>> location of the offending bind. The bind distance from >>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>> >>>>> This change has been through JPRT. >>>>> >>>>> --morris >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>> >>>>> > From morris.meyer at oracle.com Fri Jun 7 07:41:46 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 07 Jun 2013 10:41:46 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B1EB55.4070806@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B1DEF1.9000205@oracle.com> <51B1EB55.4070806@oracle.com> Message-ID: <51B1F12A.4070508@oracle.com> Sorry - eden_allocate() is where this change is located. void MacroAssembler::eden_allocate( Register obj, // result: pointer to object after successful allocation Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise int con_size_in_bytes, // object size in bytes if known at compile time Register t1, // temp register Register t2, // temp register Label& slow_case // continuation point if fast allocation fails ){ // make sure arguments make sense assert_different_registers(obj, var_size_in_bytes, t1, t2); assert(0 <= con_size_in_bytes && Assembler::is_simm13(con_size_in_bytes), "illegal object size"); assert((con_size_in_bytes & MinObjAlignmentInBytesMask) == 0, "object size is not multiple of alignment"); if (CMSIncrementalMode || !Universe::heap()->supports_inline_contig_alloc()) { // No allocation in the shared eden. ba(slow_case); delayed()->nop(); --mm On 6/7/13 10:16 AM, Vladimir Kozlov wrote: > What is eden_allocate() in MacroAssembler issue? > > Vladimir > > On 6/7/13 6:24 AM, Morris Meyer wrote: >> I substituted instructions from the non-cbcond path of ba_short(): >> >> // Unconditional short branch >> void MacroAssembler::ba_short(Label& L) { >> if (use_cbcond(L)) { >> Assembler::cbcond(equal, icc, G0, G0, L); >> return; >> } >> br(always, false, pt, L); >> delayed()->nop(); >> } >> >> Should w file a follow-on issue to address ba_short)() and >> eden_allocate() in MacroAssembler - or should we change both >> and re-run the JPRT job? >> >> --mm >> >> >> On 6/7/13 7:59 AM, David Chase wrote: >>> Huh. ba,a (annulled branch -- if I recall, the sense of the >>> annulled bit is reversed for ba) ought to get the job >>> done without the delay-slot nop. >>> >>> David >>> >>> On 2013-06-07, at 6:54 AM, Morris Meyer >>> wrote: >>> >>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>> >>>> >>>> --mm >>>> >>>> >>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov >>>> wrote: >>>> >>>>> Morris, >>>>> >>>>> Why you used br(always, false, pt, slow_case) instead of >>>>> ba(slow_case)? >>>>> >>>>> Which is the same but simpler and it was specially added to avoid >>>>> messing with parameters of br() instruction. >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>> Folks, >>>>>> >>>>>> Could I get a review for this issue? The problem exists that we >>>>>> optimistically assign forward branch labels and re-patch later. >>>>>> When we >>>>>> emit a cbcond instruction - we check if the Label out of bounds. >>>>>> If it >>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>> emitted and the label is patched later >>>>>> >>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes >>>>>> to add >>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>> checked the return of every patched branch to find out the line and >>>>>> location of the offending bind. The bind distance from >>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far >>>>>> from >>>>>> __ allocate_object macro assembler call in >>>>>> LIRGenerator::new_instance >>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>> >>>>>> This change has been through JPRT. >>>>>> >>>>>> --morris >>>>>> >>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>> >>>>>> >> From vladimir.kozlov at oracle.com Fri Jun 7 08:47:17 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jun 2013 08:47:17 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> Message-ID: <51B20085.5060403@oracle.com> David is right. We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. We need separate macroassembler instruction for such case. ba_with_nop()? Good starter task :) Thanks, Vladimir On 6/7/13 4:59 AM, David Chase wrote: > Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. > > David > > On 2013-06-07, at 6:54 AM, Morris Meyer wrote: > >> I needed to have the delayed()->nop() in there as ba() crashed for me. >> >> >> --mm >> >> >> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >> >>> Morris, >>> >>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>> >>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>> >>> Thanks, >>> Vladimir >>> >>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>> Folks, >>>> >>>> Could I get a review for this issue? The problem exists that we >>>> optimistically assign forward branch labels and re-patch later. When we >>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>> is already bound the check is fine - if not bound a zero offset is >>>> emitted and the label is patched later >>>> >>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>> checked the return of every patched branch to find out the line and >>>> location of the offending bind. The bind distance from >>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>> which uses the short branch in MacroAssembler::eden_allocate() >>>> >>>> This change has been through JPRT. >>>> >>>> --morris >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>> >>>> > From david.r.chase at oracle.com Fri Jun 7 08:56:13 2013 From: david.r.chase at oracle.com (David Chase) Date: Fri, 7 Jun 2013 08:56:13 -0700 (PDT) Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B20085.5060403@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> Message-ID: Wouldn't we want to call it ba_without_delay or something like that? David On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: > David is right. > > We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. > > We need separate macroassembler instruction for such case. > ba_with_nop()? > > Good starter task :) > > Thanks, > Vladimir > > On 6/7/13 4:59 AM, David Chase wrote: >> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >> >> David >> >> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >> >>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>> >>> >>> --mm >>> >>> >>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>> >>>> Morris, >>>> >>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>> >>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>> Folks, >>>>> >>>>> Could I get a review for this issue? The problem exists that we >>>>> optimistically assign forward branch labels and re-patch later. When we >>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>> is already bound the check is fine - if not bound a zero offset is >>>>> emitted and the label is patched later >>>>> >>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>> checked the return of every patched branch to find out the line and >>>>> location of the offending bind. The bind distance from >>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>> >>>>> This change has been through JPRT. >>>>> >>>>> --morris >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>> >>>>> >> From vladimir.kozlov at oracle.com Fri Jun 7 09:08:56 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jun 2013 09:08:56 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> Message-ID: <51B20598.5060303@oracle.com> On 6/7/13 8:56 AM, David Chase wrote: > Wouldn't we want to call it ba_without_delay or something like that? It could be misleading since it could be interpreted as without delay slot. Our case is nop in delay slot which we should not execute. We can use neutral name ba_long() as opposite to ba_short(). Vladimir > > David > > On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: > >> David is right. >> >> We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. >> >> We need separate macroassembler instruction for such case. >> ba_with_nop()? >> >> Good starter task :) >> >> Thanks, >> Vladimir >> >> On 6/7/13 4:59 AM, David Chase wrote: >>> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >>> >>> David >>> >>> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >>> >>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>> >>>> >>>> --mm >>>> >>>> >>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>>> >>>>> Morris, >>>>> >>>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>>> >>>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>> Folks, >>>>>> >>>>>> Could I get a review for this issue? The problem exists that we >>>>>> optimistically assign forward branch labels and re-patch later. When we >>>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>> emitted and the label is patched later >>>>>> >>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>> checked the return of every patched branch to find out the line and >>>>>> location of the offending bind. The bind distance from >>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>> >>>>>> This change has been through JPRT. >>>>>> >>>>>> --morris >>>>>> >>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>> >>>>>> >>> > From david.r.chase at oracle.com Fri Jun 7 09:15:23 2013 From: david.r.chase at oracle.com (David Chase) Date: Fri, 7 Jun 2013 12:15:23 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B20598.5060303@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> <51B20598.5060303@oracle.com> Message-ID: I think I'm confused. If it's a ba,a (or the newer BPA,a,pt), there's no need for a NOP, since it is never executed. We can save 4 whole bytes of code space/instruction cache. David On 2013-06-07, at 12:08 PM, Vladimir Kozlov wrote: > On 6/7/13 8:56 AM, David Chase wrote: >> Wouldn't we want to call it ba_without_delay or something like that? > > It could be misleading since it could be interpreted as without delay slot. Our case is nop in delay slot which we should not execute. > We can use neutral name ba_long() as opposite to ba_short(). > > Vladimir > >> >> David >> >> On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: >> >>> David is right. >>> >>> We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. >>> >>> We need separate macroassembler instruction for such case. >>> ba_with_nop()? >>> >>> Good starter task :) >>> >>> Thanks, >>> Vladimir >>> >>> On 6/7/13 4:59 AM, David Chase wrote: >>>> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >>>> >>>> David >>>> >>>> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >>>> >>>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>>> >>>>> >>>>> --mm >>>>> >>>>> >>>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>>>> >>>>>> Morris, >>>>>> >>>>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>>>> >>>>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> >>>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>>> Folks, >>>>>>> >>>>>>> Could I get a review for this issue? The problem exists that we >>>>>>> optimistically assign forward branch labels and re-patch later. When we >>>>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>>> emitted and the label is patched later >>>>>>> >>>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>>> checked the return of every patched branch to find out the line and >>>>>>> location of the offending bind. The bind distance from >>>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>>> >>>>>>> This change has been through JPRT. >>>>>>> >>>>>>> --morris >>>>>>> >>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>>> >>>>>>> >>>> >> From vladimir.kozlov at oracle.com Fri Jun 7 09:22:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jun 2013 09:22:16 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> <51B20598.5060303@oracle.com> Message-ID: <51B208B8.2060900@oracle.com> On 6/7/13 9:15 AM, David Chase wrote: > I think I'm confused. If it's a ba,a (or the newer BPA,a,pt), there's no need for a NOP, since it is never executed. > We can save 4 whole bytes of code space/instruction cache. ALL SPARC branch instructions, except new cbcond, HAVE delay slot instruction. Period! You only can control execution of delayed instruction with annulled bit. That is why on T4 cbcond was added. Traces showed that most instructions in delay slot are nops. Vladimir > > David > > On 2013-06-07, at 12:08 PM, Vladimir Kozlov wrote: > >> On 6/7/13 8:56 AM, David Chase wrote: >>> Wouldn't we want to call it ba_without_delay or something like that? >> >> It could be misleading since it could be interpreted as without delay slot. Our case is nop in delay slot which we should not execute. >> We can use neutral name ba_long() as opposite to ba_short(). >> >> Vladimir >> >>> >>> David >>> >>> On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: >>> >>>> David is right. >>>> >>>> We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. >>>> >>>> We need separate macroassembler instruction for such case. >>>> ba_with_nop()? >>>> >>>> Good starter task :) >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 6/7/13 4:59 AM, David Chase wrote: >>>>> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >>>>> >>>>> David >>>>> >>>>> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >>>>> >>>>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>>>> >>>>>> >>>>>> --mm >>>>>> >>>>>> >>>>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>>>>> >>>>>>> Morris, >>>>>>> >>>>>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>>>>> >>>>>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>>>> Folks, >>>>>>>> >>>>>>>> Could I get a review for this issue? The problem exists that we >>>>>>>> optimistically assign forward branch labels and re-patch later. When we >>>>>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>>>> emitted and the label is patched later >>>>>>>> >>>>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>>>> checked the return of every patched branch to find out the line and >>>>>>>> location of the offending bind. The bind distance from >>>>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>>>> >>>>>>>> This change has been through JPRT. >>>>>>>> >>>>>>>> --morris >>>>>>>> >>>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>>>> >>>>>>>> >>>>> >>> > From david.r.chase at oracle.com Fri Jun 7 10:11:40 2013 From: david.r.chase at oracle.com (David Chase) Date: Fri, 7 Jun 2013 13:11:40 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B208B8.2060900@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> <51B20598.5060303@oracle.com> <51B208B8.2060900@oracle.com> Message-ID: My v9 manual might be a little dated, but according to it, annulling the delay slot instruction for an always-taken branch guarantees that the instruction following the branch will not be executed as a consequence of executing the branch (except for ba,a .+4). There's no need to put a nop there. This was certainly, absolutely true on V8 -- I did spend several years working on a code generator for that architecture, though it was 20 years ago. David On 2013-06-07, at 12:22 PM, Vladimir Kozlov wrote: > On 6/7/13 9:15 AM, David Chase wrote: >> I think I'm confused. If it's a ba,a (or the newer BPA,a,pt), there's no need for a NOP, since it is never executed. >> We can save 4 whole bytes of code space/instruction cache. > > ALL SPARC branch instructions, except new cbcond, HAVE delay slot instruction. Period! You only can control execution of delayed instruction with annulled bit. > That is why on T4 cbcond was added. Traces showed that most instructions in delay slot are nops. > > Vladimir > >> >> David >> >> On 2013-06-07, at 12:08 PM, Vladimir Kozlov wrote: >> >>> On 6/7/13 8:56 AM, David Chase wrote: >>>> Wouldn't we want to call it ba_without_delay or something like that? >>> >>> It could be misleading since it could be interpreted as without delay slot. Our case is nop in delay slot which we should not execute. >>> We can use neutral name ba_long() as opposite to ba_short(). >>> >>> Vladimir >>> >>>> >>>> David >>>> >>>> On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: >>>> >>>>> David is right. >>>>> >>>>> We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. >>>>> >>>>> We need separate macroassembler instruction for such case. >>>>> ba_with_nop()? >>>>> >>>>> Good starter task :) >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 6/7/13 4:59 AM, David Chase wrote: >>>>>> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >>>>>> >>>>>> David >>>>>> >>>>>> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >>>>>> >>>>>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>>>>> >>>>>>> >>>>>>> --mm >>>>>>> >>>>>>> >>>>>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>>>>>> >>>>>>>> Morris, >>>>>>>> >>>>>>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>>>>>> >>>>>>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Vladimir >>>>>>>> >>>>>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>>>>> Folks, >>>>>>>>> >>>>>>>>> Could I get a review for this issue? The problem exists that we >>>>>>>>> optimistically assign forward branch labels and re-patch later. When we >>>>>>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>>>>> emitted and the label is patched later >>>>>>>>> >>>>>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>>>>> checked the return of every patched branch to find out the line and >>>>>>>>> location of the offending bind. The bind distance from >>>>>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>>>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>>>>> >>>>>>>>> This change has been through JPRT. >>>>>>>>> >>>>>>>>> --morris >>>>>>>>> >>>>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>>>>> >>>>>>>>> >>>>>> >>>> >> From vladimir.kozlov at oracle.com Fri Jun 7 10:29:44 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 07 Jun 2013 10:29:44 -0700 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> <51B20598.5060303@oracle.com> <51B208B8.2060900@oracle.com> Message-ID: <51B21888.80107@oracle.com> On 6/7/13 10:11 AM, David Chase wrote: > My v9 manual might be a little dated, but according to it, annulling the delay slot instruction for an always-taken branch guarantees that the instruction following the branch will not be executed as a consequence of executing the branch (except for ba,a .+4). There's no need to put a nop there. This was certainly, absolutely true on V8 -- I did spend several years working on a code generator for that architecture, though it was 20 years ago. "Not executed" does not mean we can remove delay slot (4 bytes after branch). Put it this way - all sparc branch instructions are 8 bytes long (except cbcond). From "Control-Transfer Instructions" in manual: "Most control transfers are of the delayed variety. The instruction following a delayed control-transfer instruction is said to be in the delay slot of the control-transfer instruction." The difference between v8 and v9 is in fetching of annulled instruction in delay slot, you still have to have something in delay slot even on v9 (could be 0): "The SPARC V8 architecture specified that the delay instruction was always fetched, even if annulled, and that an annulled instruction could not cause any traps. The SPARC V9 architecture does not require the delay instruction to be fetched if it is annulled." And it does not matter what you put in delay slot when it is not executed. We decided to put nop because until now we did supported v8. Vladimir > > David > > On 2013-06-07, at 12:22 PM, Vladimir Kozlov wrote: > >> On 6/7/13 9:15 AM, David Chase wrote: >>> I think I'm confused. If it's a ba,a (or the newer BPA,a,pt), there's no need for a NOP, since it is never executed. >>> We can save 4 whole bytes of code space/instruction cache. >> >> ALL SPARC branch instructions, except new cbcond, HAVE delay slot instruction. Period! You only can control execution of delayed instruction with annulled bit. >> That is why on T4 cbcond was added. Traces showed that most instructions in delay slot are nops. >> >> Vladimir >> >>> >>> David >>> >>> On 2013-06-07, at 12:08 PM, Vladimir Kozlov wrote: >>> >>>> On 6/7/13 8:56 AM, David Chase wrote: >>>>> Wouldn't we want to call it ba_without_delay or something like that? >>>> >>>> It could be misleading since it could be interpreted as without delay slot. Our case is nop in delay slot which we should not execute. >>>> We can use neutral name ba_long() as opposite to ba_short(). >>>> >>>> Vladimir >>>> >>>>> >>>>> David >>>>> >>>>> On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: >>>>> >>>>>> David is right. >>>>>> >>>>>> We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. >>>>>> >>>>>> We need separate macroassembler instruction for such case. >>>>>> ba_with_nop()? >>>>>> >>>>>> Good starter task :) >>>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> >>>>>> On 6/7/13 4:59 AM, David Chase wrote: >>>>>>> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >>>>>>> >>>>>>> David >>>>>>> >>>>>>> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >>>>>>> >>>>>>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>>>>>> >>>>>>>> >>>>>>>> --mm >>>>>>>> >>>>>>>> >>>>>>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>>>>>>> >>>>>>>>> Morris, >>>>>>>>> >>>>>>>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>>>>>>> >>>>>>>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Vladimir >>>>>>>>> >>>>>>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>>>>>> Folks, >>>>>>>>>> >>>>>>>>>> Could I get a review for this issue? The problem exists that we >>>>>>>>>> optimistically assign forward branch labels and re-patch later. When we >>>>>>>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>>>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>>>>>> emitted and the label is patched later >>>>>>>>>> >>>>>>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>>>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>>>>>> checked the return of every patched branch to find out the line and >>>>>>>>>> location of the offending bind. The bind distance from >>>>>>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>>>>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>>>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>>>>>> >>>>>>>>>> This change has been through JPRT. >>>>>>>>>> >>>>>>>>>> --morris >>>>>>>>>> >>>>>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>>>>>> >>>>>>>>>> >>>>>>> >>>>> >>> > From david.r.chase at oracle.com Fri Jun 7 11:15:57 2013 From: david.r.chase at oracle.com (David Chase) Date: Fri, 7 Jun 2013 14:15:57 -0400 Subject: RFR(XS): 8015437: SPARC cbcond offset value out of range In-Reply-To: <51B21888.80107@oracle.com> References: <51B16021.9090501@oracle.com> <51B16317.9000700@oracle.com> <8D0E9182-A74B-4383-8D4E-7508A36F3409@oracle.com> <7FA99C70-8FB2-48DD-96E9-AACFF7FBBD10@oracle.com> <51B20085.5060403@oracle.com> <51B20598.5060303@oracle.com> <51B208B8.2060900@oracle.com> <51B21888.80107@oracle.com> Message-ID: I think the official hack, from the good-old-days, was perhaps to stick a nop onto the very end of the code segment. It was common to have whatever basic block came next in the sequence appearing immediately after a ba,a. On 2013-06-07, at 1:29 PM, Vladimir Kozlov wrote: > On 6/7/13 10:11 AM, David Chase wrote: >> My v9 manual might be a little dated, but according to it, annulling the delay slot instruction for an always-taken branch guarantees that the instruction following the branch will not be executed as a consequence of executing the branch (except for ba,a .+4). There's no need to put a nop there. This was certainly, absolutely true on V8 -- I did spend several years working on a code generator for that architecture, though it was 20 years ago. > > "Not executed" does not mean we can remove delay slot (4 bytes after branch). Put it this way - all sparc branch instructions are 8 bytes long (except cbcond). From "Control-Transfer Instructions" in manual: > > "Most control transfers are of the delayed variety. The instruction following a delayed control-transfer instruction is said to be in the delay slot of the control-transfer instruction." > > The difference between v8 and v9 is in fetching of annulled instruction in delay slot, you still have to have something in delay slot even on v9 (could be 0): > > "The SPARC V8 architecture specified that the delay instruction was always fetched, even if annulled, and that an annulled instruction could not cause any traps. The SPARC V9 architecture does not require the delay instruction to be fetched if it is annulled." > > And it does not matter what you put in delay slot when it is not executed. We decided to put nop because until now we did supported v8. > > Vladimir > >> >> David >> >> On 2013-06-07, at 12:22 PM, Vladimir Kozlov wrote: >> >>> On 6/7/13 9:15 AM, David Chase wrote: >>>> I think I'm confused. If it's a ba,a (or the newer BPA,a,pt), there's no need for a NOP, since it is never executed. >>>> We can save 4 whole bytes of code space/instruction cache. >>> >>> ALL SPARC branch instructions, except new cbcond, HAVE delay slot instruction. Period! You only can control execution of delayed instruction with annulled bit. >>> That is why on T4 cbcond was added. Traces showed that most instructions in delay slot are nops. >>> >>> Vladimir >>> >>>> >>>> David >>>> >>>> On 2013-06-07, at 12:08 PM, Vladimir Kozlov wrote: >>>> >>>>> On 6/7/13 8:56 AM, David Chase wrote: >>>>>> Wouldn't we want to call it ba_without_delay or something like that? >>>>> >>>>> It could be misleading since it could be interpreted as without delay slot. Our case is nop in delay slot which we should not execute. >>>>> We can use neutral name ba_long() as opposite to ba_short(). >>>>> >>>>> Vladimir >>>>> >>>>>> >>>>>> David >>>>>> >>>>>> On 2013-06-07, at 11:47 AM, Vladimir Kozlov wrote: >>>>>> >>>>>>> David is right. >>>>>>> >>>>>>> We have a lot of places in sparc code where we are sloppy with annulled bit for direct branch and nop() in delay slot. I count about 10 cases which br() instruction and 15 with ba() which is not really bad. >>>>>>> >>>>>>> We need separate macroassembler instruction for such case. >>>>>>> ba_with_nop()? >>>>>>> >>>>>>> Good starter task :) >>>>>>> >>>>>>> Thanks, >>>>>>> Vladimir >>>>>>> >>>>>>> On 6/7/13 4:59 AM, David Chase wrote: >>>>>>>> Huh. ba,a (annulled branch -- if I recall, the sense of the annulled bit is reversed for ba) ought to get the job done without the delay-slot nop. >>>>>>>> >>>>>>>> David >>>>>>>> >>>>>>>> On 2013-06-07, at 6:54 AM, Morris Meyer wrote: >>>>>>>> >>>>>>>>> I needed to have the delayed()->nop() in there as ba() crashed for me. >>>>>>>>> >>>>>>>>> >>>>>>>>> --mm >>>>>>>>> >>>>>>>>> >>>>>>>>> On Jun 7, 2013, at 12:35 AM, Vladimir Kozlov wrote: >>>>>>>>> >>>>>>>>>> Morris, >>>>>>>>>> >>>>>>>>>> Why you used br(always, false, pt, slow_case) instead of ba(slow_case)? >>>>>>>>>> >>>>>>>>>> Which is the same but simpler and it was specially added to avoid messing with parameters of br() instruction. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Vladimir >>>>>>>>>> >>>>>>>>>> On 6/6/13 9:22 PM, Morris Meyer wrote: >>>>>>>>>>> Folks, >>>>>>>>>>> >>>>>>>>>>> Could I get a review for this issue? The problem exists that we >>>>>>>>>>> optimistically assign forward branch labels and re-patch later. When we >>>>>>>>>>> emit a cbcond instruction - we check if the Label out of bounds. If it >>>>>>>>>>> is already bound the check is fine - if not bound a zero offset is >>>>>>>>>>> emitted and the label is patched later >>>>>>>>>>> >>>>>>>>>>> With Vladimir Kozlov's urgings I put about 4,000 lines of changes to add >>>>>>>>>>> __FILE__ and __LINE__ parameters to every assembler.bind() call and >>>>>>>>>>> checked the return of every patched branch to find out the line and >>>>>>>>>>> location of the offending bind. The bind distance from >>>>>>>>>>> NewInstanceStub::emit_code() in c1_CodeStubs_sparc.cpp was to far from >>>>>>>>>>> __ allocate_object macro assembler call in LIRGenerator::new_instance >>>>>>>>>>> which uses the short branch in MacroAssembler::eden_allocate() >>>>>>>>>>> >>>>>>>>>>> This change has been through JPRT. >>>>>>>>>>> >>>>>>>>>>> --morris >>>>>>>>>>> >>>>>>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/JDK-8015437.01 >>>>>>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-8015437 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>> >>>>>> >>>> >> From morris.meyer at oracle.com Fri Jun 7 14:02:39 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Fri, 07 Jun 2013 21:02:39 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8015437: SPARC cbcond branch offset out of 10-bit range Message-ID: <20130607210244.D6C96480B2@hg.openjdk.java.net> Changeset: 8d52e305a777 Author: morris Date: 2013-06-07 07:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8d52e305a777 8015437: SPARC cbcond branch offset out of 10-bit range Summary: Forced SPARC MacroAssembler eden_alloate to use long branch to slow case Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/macroAssembler_sparc.cpp From morris.meyer at oracle.com Fri Jun 7 14:11:12 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 07 Jun 2013 17:11:12 -0400 Subject: RFR(L): 8008407: remove SPARC V8 support In-Reply-To: <51AA437F.5070900@oracle.com> References: <51A8FF08.7010801@oracle.com> <83D9F566-339D-48CE-AB75-D5139DE29C46@oracle.com> <51AA437F.5070900@oracle.com> Message-ID: <51B24C70.1020206@oracle.com> I have addressed the mult and get_pc() and argument.cpp issues from the review and have successfully pushed those through JPRT. Removing v9_only() seems to crash on JPRT and will be left for another day, along with the remaining few V8 instructions. Thanks, --mm WEBREV - http://cr.openjdk.java.net/~morris/8008407.03 On 6/1/13 2:54 PM, Morris Meyer wrote: > I removed these things accordingly - and got failure on JPRT. > > I left the v9_dep changes in as a marker to the future instructions > that need to be removed. > > --mm > > > JPRT - > http://prt-web.us.oracle.com//archive/2013/06/2013-06-01-172500.mameyer.8008407//JobStatus.txt > > WEBREV - http://cr.openjdk.java.net/~morris/8008407.02 > > On 5/31/13 5:57 PM, Christian Thalinger wrote: >> src/cpu/sparc/vm/assembler_sparc.hpp: >> >> Can you also remove these: >> >> v9_only, v9_dep, and (if possible) v8_no_cc. >> >> src/cpu/sparc/vm/macroAssembler_sparc.cpp: >> >> Also remove these (now useless) wrappers: >> >> void MacroAssembler::mult(Register s1, Register s2, Register d) { >> void MacroAssembler::mult(Register s1, int simm13a, Register d) { >> >> src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp: >> >> Could you also get rid of get_pc like in my changes for 8007415: >> >> 1) src/cpu/sparc/vm/macroAssembler_sparc.cpp: >> >> - inc(L4, get_pc(L4) + 2 * BytesPerInstWord); // skip getpc() code + >> inc + st_ptr to point L4 at call >> + rdpc(L4); >> + inc(L4, 3 * BytesPerInstWord); // skip rdpc + inc + st_ptr to >> point L4 at call >> >> 2) src/cpu/sparc/vm/sparc.ad: >> >> - __ get_pc(L2); >> + __ rdpc(L2); >> >> src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp: >> >> Since _Atomic_move_long_v8 is not used anymore you can removed it from: >> >> src/os_cpu/solaris_sparc/vm/solaris_sparc.il >> >> -- Chris >> >> On May 31, 2013, at 12:50 PM, Morris Meyer >> wrote: >> >>> Could I get a review for this issue? >>> >>> This patch is based on work originally by Christian Thalinger with >>> several chunks of V8 removal from me. There are a few V8 >>> instructions left - LDD, STD, CASA and a few others. Follow on bugs >>> will be assigned to rework each specific instruction. >>> >>> These changes have been tested with the vm regression suite and JPRT. >>> >>> Thanks in advance. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008407.01 >>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008407 >>> >>> > From azeem.jiva at oracle.com Fri Jun 7 14:32:15 2013 From: azeem.jiva at oracle.com (Azeem Jiva) Date: Fri, 7 Jun 2013 14:32:15 -0700 Subject: RFR(L): 8008407: remove SPARC V8 support In-Reply-To: <51B24C70.1020206@oracle.com> References: <51A8FF08.7010801@oracle.com> <83D9F566-339D-48CE-AB75-D5139DE29C46@oracle.com> <51AA437F.5070900@oracle.com> <51B24C70.1020206@oracle.com> Message-ID: <32F8EF8E-E95D-4D9A-B420-28873B76A8CD@oracle.com> Both assembler_solaris_sparc.cpp and assembler_linux_sparc.cpp are empty files (well with comments) can they go away? -- Azeem Jiva @javawithjiva On Jun 7, 2013, at 2:11 PM, Morris Meyer wrote: > I have addressed the mult and get_pc() and argument.cpp issues from the review and have successfully pushed those through JPRT. Removing v9_only() seems to crash on JPRT and will be left for another day, along with the remaining few V8 instructions. > > Thanks, > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008407.03 > > On 6/1/13 2:54 PM, Morris Meyer wrote: >> I removed these things accordingly - and got failure on JPRT. >> >> I left the v9_dep changes in as a marker to the future instructions that need to be removed. >> >> --mm >> >> >> JPRT - http://prt-web.us.oracle.com//archive/2013/06/2013-06-01-172500.mameyer.8008407//JobStatus.txt >> >> WEBREV - http://cr.openjdk.java.net/~morris/8008407.02 >> >> On 5/31/13 5:57 PM, Christian Thalinger wrote: >>> src/cpu/sparc/vm/assembler_sparc.hpp: >>> >>> Can you also remove these: >>> >>> v9_only, v9_dep, and (if possible) v8_no_cc. >>> >>> src/cpu/sparc/vm/macroAssembler_sparc.cpp: >>> >>> Also remove these (now useless) wrappers: >>> >>> void MacroAssembler::mult(Register s1, Register s2, Register d) { >>> void MacroAssembler::mult(Register s1, int simm13a, Register d) { >>> >>> src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp: >>> >>> Could you also get rid of get_pc like in my changes for 8007415: >>> >>> 1) src/cpu/sparc/vm/macroAssembler_sparc.cpp: >>> >>> - inc(L4, get_pc(L4) + 2 * BytesPerInstWord); // skip getpc() code + inc + st_ptr to point L4 at call >>> + rdpc(L4); >>> + inc(L4, 3 * BytesPerInstWord); // skip rdpc + inc + st_ptr to point L4 at call >>> >>> 2) src/cpu/sparc/vm/sparc.ad: >>> >>> - __ get_pc(L2); >>> + __ rdpc(L2); >>> >>> src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp: >>> >>> Since _Atomic_move_long_v8 is not used anymore you can removed it from: >>> >>> src/os_cpu/solaris_sparc/vm/solaris_sparc.il >>> >>> -- Chris >>> >>> On May 31, 2013, at 12:50 PM, Morris Meyer wrote: >>> >>>> Could I get a review for this issue? >>>> >>>> This patch is based on work originally by Christian Thalinger with several chunks of V8 removal from me. There are a few V8 instructions left - LDD, STD, CASA and a few others. Follow on bugs will be assigned to rework each specific instruction. >>>> >>>> These changes have been tested with the vm regression suite and JPRT. >>>> >>>> Thanks in advance. >>>> >>>> --morris >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/8008407.01 >>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008407 >>>> >>>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130607/9c6ca07f/attachment.html From vladimir.kozlov at oracle.com Fri Jun 7 16:05:47 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 07 Jun 2013 23:05:47 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 25 new changesets Message-ID: <20130607230637.C8CBF480B6@hg.openjdk.java.net> Changeset: 5534bd30c151 Author: jcoomes Date: 2013-05-30 13:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5534bd30c151 6725714: par compact - add a table to speed up bitmap searches Reviewed-by: jmasa, tschatzl ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp Changeset: 47bdfb3d010f Author: stefank Date: 2013-05-30 10:58 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/47bdfb3d010f 8015486: PSScavenge::is_obj_in_young is unnecessarily slow with UseCompressedOops Summary: Compare compressed oops to a compressed young gen boundary instead of uncompressing the oops before doing the young gen boundary check. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.hpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.inline.hpp Changeset: c20186fa611b Author: jwilhelm Date: 2013-06-01 10:00 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c20186fa611b Merge Changeset: e72f7eecc96d Author: tschatzl Date: 2013-05-28 09:32 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e72f7eecc96d 8013895: G1: G1SummarizeRSetStats output on Linux needs improvemen Summary: Fixed the output of G1SummarizeRSetStats: too small datatype for the number of concurrently processed cards, added concurrent remembered set thread time retrieval for Linux and Windows (BSD uses os::elapsedTime() now), and other cleanup. The information presented during VM operation is now relative to the previous output, not always cumulative if G1SummarizeRSetStatsPeriod > 0. At VM exit, the code prints a cumulative summary. Reviewed-by: johnc, jwilhelm ! make/excludeSrc.make ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp + src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp + src/share/vm/gc_implementation/g1/g1RemSetSummary.hpp + test/gc/g1/TestSummarizeRSetStats.java Changeset: 3a4805ad0005 Author: johnc Date: 2013-06-04 10:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3a4805ad0005 8015244: G1: Verification after a full GC is incorrectly placed. Summary: In a full GC, move the verification after the GC to after RSet rebuilding. Verify RSet entries during a full GC under control of a flag. Reviewed-by: tschatzl, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: 87c64c0438fb Author: tamao Date: 2013-06-03 14:37 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/87c64c0438fb 6976350: G1: deal with fragmentation while copying objects during GC Summary: Create G1ParGCAllocBufferContainer to contain two buffers instead of previously using one buffer, in order to hold the first priority buffer longer. Thus, when some large objects hits the value of free space left in the first priority buffer it has an alternative to fit in the second priority buffer while the first priority buffer is given more chances to try allocating smaller objects. Overall, it will improve heap space efficiency. Reviewed-by: johnc, jmasa, brutisso Contributed-by: tamao ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/shared/parGCAllocBuffer.hpp Changeset: 2f7a31318b84 Author: johnc Date: 2013-06-04 14:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2f7a31318b84 Merge Changeset: a1ebd310d5c1 Author: iklam Date: 2013-05-28 16:36 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a1ebd310d5c1 8014912: Restore PrintSharedSpaces functionality after NPG Summary: Added dumping of object sizes in CDS archive, sorted by MetaspaceObj::Type Reviewed-by: coleenp, acorn ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodCounters.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/symbol.cpp ! src/share/vm/utilities/array.hpp Changeset: fe00365c8f31 Author: sspitsyn Date: 2013-05-30 11:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fe00365c8f31 8015436: compiler/ciReplay/TestSA.sh fails with assert() index is out of bounds Summary: The InstanceKlass _initial_method_idnum value must be adjusted if overpass methods are added. Reviewed-by: twisti, kvn Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/classfile/defaultMethods.cpp + test/compiler/8015436/Test8015436.java Changeset: a589c78a8811 Author: rbackman Date: 2013-05-31 13:02 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a589c78a8811 8014709: Constructor.getAnnotatedReturnType() returns empty AnnotatedType Reviewed-by: stefank, rbackman Contributed-by: Joel Borggren-Franck ! src/share/vm/runtime/reflection.cpp ! test/runtime/8007320/ConstMethodTest.java Changeset: efe8b7d64424 Author: ctornqvi Date: 2013-05-31 20:24 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/efe8b7d64424 6726963: multi_allocate() call does not CHECK_NULL and causes crash in fastdebug bits Summary: Using CHECK_NULL when calling multi_allocate() from the corresponding reflection code; added test for this condition Reviewed-by: dholmes, minqi Contributed-by: Mikhailo Seledtsov ! src/share/vm/runtime/reflection.cpp + test/runtime/memory/MultiAllocateNullCheck.java Changeset: 532c55335fb6 Author: dcubed Date: 2013-06-01 09:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/532c55335fb6 Merge Changeset: 4552a7633a07 Author: hseigel Date: 2013-06-03 10:00 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4552a7633a07 8015385: Remove RelaxAccessControlCheck for JDK 8 bytecodes Summary: Check bytecode versions along with RelaxAccessControlCheck version Reviewed-by: dholmes, acorn ! src/share/vm/classfile/verifier.hpp ! src/share/vm/runtime/reflection.cpp Changeset: e7d29a019a3c Author: sspitsyn Date: 2013-06-03 14:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e7d29a019a3c 8014052: JSR292: assert(end_offset == next_offset) failed: matched ending Summary: A call to the finalize_operands_merge() must be unconditional Reviewed-by: kvn, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 2f004f9dc9e1 Author: sspitsyn Date: 2013-06-04 01:06 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2f004f9dc9e1 8015803: Test8015436.java fails 'can not access a member of class Test8015436 with modifiers "public static"' Summary: Newly added test has an issue: the main class must be public Reviewed-by: kvn, jbachorik, coleenp Contributed-by: serguei.spitsyn at oracle.com ! test/compiler/8015436/Test8015436.java Changeset: 04551f4dbdb9 Author: nloodin Date: 2013-06-05 09:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/04551f4dbdb9 Merge Changeset: 62e7bac9524f Author: dcubed Date: 2013-06-04 19:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/62e7bac9524f 8010257: remove unused thread-local variables _ScratchA and _ScratchB Summary: Remove dead code. Reviewed-by: twisti, coleenp ! src/share/vm/runtime/thread.hpp Changeset: 6bf8b8bb7c19 Author: hseigel Date: 2013-06-05 14:12 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6bf8b8bb7c19 8009302: Mac OS X: JVM crash on infinite recursion on Appkit Thread Summary: Use SA_ONSTACK flag to ensure signal gets delivered properly. Reviewed-by: dholmes, coleenp Contributed-by: gerard.ziemski at oracle.com ! src/os/bsd/vm/os_bsd.cpp Changeset: f8c8cace25ad Author: dcubed Date: 2013-06-06 05:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f8c8cace25ad Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: ef1818846c22 Author: kvn Date: 2013-06-06 11:02 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ef1818846c22 Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 61dcf187a198 Author: katleman Date: 2013-06-06 09:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/61dcf187a198 Added tag jdk8-b93 for changeset 573d86d412cd ! .hgtags Changeset: 3c78a14da19d Author: amurillo Date: 2013-06-07 09:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3c78a14da19d Merge ! .hgtags Changeset: 1beed1f6f9ed Author: amurillo Date: 2013-06-07 09:25 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1beed1f6f9ed Added tag hs25-b36 for changeset 3c78a14da19d ! .hgtags Changeset: d0add7016434 Author: amurillo Date: 2013-06-07 09:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d0add7016434 8016078: new hotspot build - hs25-b37 Reviewed-by: jcoomes ! make/hotspot_version Changeset: ea60d1de6735 Author: kvn Date: 2013-06-07 11:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ea60d1de6735 Merge From morris.meyer at oracle.com Fri Jun 7 22:18:22 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Sat, 08 Jun 2013 05:18:22 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008407: remove SPARC V8 support Message-ID: <20130608051826.6528F480C2@hg.openjdk.java.net> Changeset: 46c544b8fbfc Author: morris Date: 2013-06-07 16:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/46c544b8fbfc 8008407: remove SPARC V8 support Summary: Removed most of the SPARC V8 instructions Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_MacroAssembler_sparc.cpp ! src/cpu/sparc/vm/c2_init_sparc.cpp ! src/cpu/sparc/vm/disassembler_sparc.hpp ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/sparc/vm/nativeInst_sparc.cpp ! src/cpu/sparc/vm/nativeInst_sparc.hpp ! src/cpu/sparc/vm/register_sparc.hpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.cpp ! src/cpu/sparc/vm/stubRoutines_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp - src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp - src/os_cpu/solaris_sparc/vm/assembler_solaris_sparc.cpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/solaris_sparc.il ! src/share/vm/runtime/arguments.cpp From david.r.chase at oracle.com Sat Jun 8 16:56:26 2013 From: david.r.chase at oracle.com (David Chase) Date: Sat, 8 Jun 2013 19:56:26 -0400 Subject: RFR (S) : 8014959 : assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit Message-ID: webrev: http://cr.openjdk.java.net/~drchase/8014959/webrev.00/ bug: SQE MethodHandle + breakpoint + step torture test has four outcomes: 1) success; 2) failure, timeout.; 3) failure, does not reach target breakpoint; 4) crash, too many nodes Failures 2 & 3 are a result of the torture being a little too thorough; the target methodHandle is wrapped in a random number N of various MH transformations, where N varies from 0 to 999. However, the number of steps required to complete is about 22-25 times the wrapping level, and only 9000 steps are allowed (only enough for about 360-410 deep). So it is recommended that the test be random in a smaller range that runs to nearly 9000 steps (i.e., 250-350). fix: two-part; see also INTJDK-7604173 filed against the test. This fix hardens the compiler against running out of nodes (failure #4); several missing bailout checks were added, the fudgefactor was doubled, and the node limit was increased to leave about the same number of available nodes net of tripled fudgefactor (which occurs in some tests). testing: 1) jtreg test/compiler + test/closed on Mac laptop 2) JPRT on compiler 3) 200 runs of tweaked version of SQE test in attempt to provoke crash (with failures ignored): 100 from 900-999, 100 from 400 to 900. David From david.r.chase at oracle.com Sun Jun 9 15:44:29 2013 From: david.r.chase at oracle.com (David Chase) Date: Sun, 9 Jun 2013 18:44:29 -0400 Subject: ping? Message-ID: <5C627C6A-2062-4C8B-B72D-35C84A2B74C7@oracle.com> Checking to see if mail works. Two earlier messages did not show up. From niclas.adlertz at oracle.com Mon Jun 10 01:12:05 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Mon, 10 Jun 2013 10:12:05 +0200 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Message-ID: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> Hi all, In bug 8005956 (https://jbs.oracle.com/bugs/browse/JDK-8005956) this assert triggered when trying to rematerialize reaches at phi nodes. This time it's failing because of rematerialization at uses (reg_split.cpp: 931). These are the only two places that rematerialization is handled during splitting. Doing the same fix as for JDK-8005956, i.e. removing rematerialization for nodes with live range input, gave too much performance regression. Instead, this fix invalidates rematerialization of the node type that is causing the problem negD node. WEBREV: http://cr.openjdk.java.net/~adlertz/JDK-8016157/webrev00/ JBS: https://jbs.oracle.com/bugs/browse/JDK-8016157 Kind Regards, Niclas Adlertz From david.r.chase at oracle.com Sat Jun 8 21:43:42 2013 From: david.r.chase at oracle.com (David Chase) Date: Sun, 9 Jun 2013 00:43:42 -0400 Subject: RFR (S) : 8014959 : assert(Compile::live less than (uint)MaxNodeLimit) failed: Live Node limit exceeded limit Message-ID: <2A3A8279-ABFF-4A21-9431-7763E409D34C@oracle.com> Resending, wonder if the angles in the previous subject had caused problems. And if so, they might cause problems for other automated posts that key off the bug report title. webrev: http://cr.openjdk.java.net/~drchase/8014959/webrev.00/ bug: SQE MethodHandle + breakpoint + step torture test has four outcomes: 1) success; 2) failure, timeout.; 3) failure, does not reach target breakpoint; 4) crash, too many nodes Failures 2 & 3 are a result of the torture being a little too thorough; the target methodHandle is wrapped in a random number N of various MH transformations, where N varies from 0 to 999. However, the number of steps required to complete is about 22-25 times the wrapping level, and only 9000 steps are allowed (only enough for about 360-410 deep). So it is recommended that the test be random in a smaller range that runs to nearly 9000 steps (i.e., 250-350). fix: two-part; see also INTJDK-7604173 filed against the test. This fix hardens the compiler against running out of nodes (failure #4); several missing bailout checks were added, the fudgefactor was doubled, and the node limit was increased to leave about the same number of available nodes net of tripled fudgefactor (which occurs in some tests). testing: 1) jtreg test/compiler + test/closed on Mac laptop 2) JPRT on compiler 3) 200 runs of tweaked version of SQE test in attempt to provoke crash (with failures ignored): 100 from 900-999, 100 from 400 to 900. David From vladimir.kozlov at oracle.com Mon Jun 10 09:42:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 10 Jun 2013 09:42:04 -0700 Subject: RFR (S) : 8014959 : assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit In-Reply-To: References: Message-ID: <51B601DC.5090105@oracle.com> David, In what place you hit "out of nodes" failure if you don't increase NodeLimitFudgeFactor? I think we can still hit "out of nodes" during insert_copies() because 6000 may be not enough for huge method with a lot of blocks. Could you do the check on each iteration in blocks loop?: src/share/vm/opto/chaitin.cpp Mon Jun 10 09:35:47 2013 -0700 @@ -435,6 +435,9 @@ // Insert un-coalesced copies. Visit all Phis. Where inputs to a Phi do // not match the Phi itself, insert a copy. coalesce.insert_copies(_matcher); + if (C->failing()) { + return; + } } // After aggressive coalesce, attempt a first cut at coloring. diff -r 573d86d412cd src/share/vm/opto/coalesce.cpp --- a/src/share/vm/opto/coalesce.cpp Thu May 30 10:57:57 2013 -0700 +++ b/src/share/vm/opto/coalesce.cpp Mon Jun 10 09:35:47 2013 -0700 @@ -240,6 +240,8 @@ _unique = C->unique(); for( uint i=0; i<_phc._cfg._num_blocks; i++ ) { + C->check_node_count(NodeLimitFudgeFactor, "out of nodes when insert copies"); + if (C->failing()) return; Block *b = _phc._cfg._blocks[i]; uint cnt = b->num_preds(); // Number of inputs to the Phi Thanks, Vladimir On 6/8/13 4:56 PM, David Chase wrote: > > webrev: http://cr.openjdk.java.net/~drchase/8014959/webrev.00/ > > bug: > SQE MethodHandle + breakpoint + step torture test has four outcomes: > 1) success; > 2) failure, timeout.; > 3) failure, does not reach target breakpoint; > 4) crash, too many nodes > > Failures 2 & 3 are a result of the torture being a little too thorough; the target methodHandle is wrapped in a random number N of various MH transformations, where N varies from 0 to 999. However, the number of steps required to complete is about 22-25 times the wrapping level, and only 9000 steps are allowed (only enough for about 360-410 deep). So it is recommended that the test be random in a smaller range that runs to nearly 9000 steps (i.e., 250-350). > > fix: two-part; see also INTJDK-7604173 filed against the test. > This fix hardens the compiler against running out of nodes (failure #4); several missing bailout checks were added, the fudgefactor was doubled, and the node limit was increased to leave about the same number of available nodes net of tripled fudgefactor (which occurs in some tests). > > testing: > 1) jtreg test/compiler + test/closed on Mac laptop > 2) JPRT on compiler > 3) 200 runs of tweaked version of SQE test in attempt to provoke crash (with failures ignored): 100 from 900-999, 100 from 400 to 900. > > David > From vladimir.kozlov at oracle.com Mon Jun 10 09:50:53 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 10 Jun 2013 09:50:53 -0700 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> References: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> Message-ID: <51B603ED.4070207@oracle.com> Good. It looks like a 'band-aid' but I think it is fine for now until Niclas clean up the mess in this code. Note, the fix is general since we observed the failure on SPARC and x86. Thanks, Vladimir On 6/10/13 1:12 AM, Niclas Adlertz wrote: > Hi all, > > In bug 8005956 (https://jbs.oracle.com/bugs/browse/JDK-8005956) this assert triggered when trying to rematerialize reaches at phi nodes. This time it's failing because of rematerialization at uses (reg_split.cpp: 931). These are the only two places that rematerialization is handled during splitting. > > Doing the same fix as for JDK-8005956, i.e. removing rematerialization for nodes with live range input, gave too much performance regression. Instead, this fix invalidates rematerialization of the node type that is causing the problem negD node. > > WEBREV: http://cr.openjdk.java.net/~adlertz/JDK-8016157/webrev00/ > JBS: https://jbs.oracle.com/bugs/browse/JDK-8016157 > > Kind Regards, > Niclas Adlertz > > From roland.westrelin at oracle.com Mon Jun 10 11:46:33 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 10 Jun 2013 20:46:33 +0200 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <51B603ED.4070207@oracle.com> References: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> <51B603ED.4070207@oracle.com> Message-ID: <53CBE287-BE58-4281-A152-D01FD7B96086@oracle.com> A comment why this: 538 539 if (is_ideal_negD()) { 540 return false; 541 } is here would be nice. Also why is it better to filter out NegDNodes in the adlc rather than in MachNode::rematerialize()? Roland. From vladimir.kozlov at oracle.com Mon Jun 10 13:30:20 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 10 Jun 2013 13:30:20 -0700 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <53CBE287-BE58-4281-A152-D01FD7B96086@oracle.com> References: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> <51B603ED.4070207@oracle.com> <53CBE287-BE58-4281-A152-D01FD7B96086@oracle.com> Message-ID: <51B6375C.4060709@oracle.com> On 6/10/13 11:46 AM, Roland Westrelin wrote: > A comment why this: > > 538 > 539 if (is_ideal_negD()) { > 540 return false; > 541 } > > is here would be nice. > > Also why is it better to filter out NegDNodes in the adlc rather than in MachNode::rematerialize()? It was my suggestion. Why mark a node as rematerializable if we never rematerialize it? Vladimir > > Roland. > From christian.thalinger at oracle.com Mon Jun 10 16:28:00 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 10 Jun 2013 16:28:00 -0700 Subject: RFR (XS): 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods Message-ID: <5B88D9D7-0AAD-447D-8879-18376D4705AA@oracle.com> http://cr.openjdk.java.net/~twisti/8003268 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods Reviewed-by: SharedRuntime::generate_native_wrapper calculates c_arg as: int c_arg = total_c_args - total_in_args; which is then used for save_args/restore_args to save all already loaded arguments when calling out to the runtime. For JNI critical methods we add one additional argument to total_c_args for each array passed which means that c_arg is not zero and we skip the first argument(s) when saving them across runtime calls. There are two runtime calls in a native wrapper: SharedRuntime::dtrace_method_entry and SharedRuntime::rc_trace_method_entry The former is guarded by a SkipIfEqual and normally not executed. The latter is guarded by TraceRedefineClasses which is the reason why we crash. Using dtrace should also crash but I never tried. src/cpu/x86/vm/sharedRuntime_x86_64.cpp From vladimir.kozlov at oracle.com Mon Jun 10 17:38:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 10 Jun 2013 17:38:04 -0700 Subject: RFR (XS): 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods In-Reply-To: <5B88D9D7-0AAD-447D-8879-18376D4705AA@oracle.com> References: <5B88D9D7-0AAD-447D-8879-18376D4705AA@oracle.com> Message-ID: <51B6716C.7040908@oracle.com> Looks good. I thought sparc is also affected but we save full frame there. Vladimir On 6/10/13 4:28 PM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/8003268 > > 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods > Reviewed-by: > > SharedRuntime::generate_native_wrapper calculates c_arg as: > > int c_arg = total_c_args - total_in_args; > > which is then used for save_args/restore_args to save all already loaded arguments when calling out to the runtime. For JNI critical methods we add one additional argument to total_c_args for each array passed which means that c_arg is not zero and we skip the first argument(s) when saving them across runtime calls. > > There are two runtime calls in a native wrapper: SharedRuntime::dtrace_method_entry and SharedRuntime::rc_trace_method_entry > > The former is guarded by a SkipIfEqual and normally not executed. The latter is guarded by TraceRedefineClasses which is the reason why we crash. Using dtrace should also crash but I never tried. > > src/cpu/x86/vm/sharedRuntime_x86_64.cpp > From christian.thalinger at oracle.com Mon Jun 10 18:12:42 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 10 Jun 2013 18:12:42 -0700 Subject: RFR (XS): 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods In-Reply-To: <51B6716C.7040908@oracle.com> References: <5B88D9D7-0AAD-447D-8879-18376D4705AA@oracle.com> <51B6716C.7040908@oracle.com> Message-ID: On Jun 10, 2013, at 5:38 PM, Vladimir Kozlov wrote: > Looks good. I thought sparc is also affected but we save full frame there. Right. The other platforms look good (although I'm not 100% sure about PPC). I have to ask someone to look into this. -- Chris > > Vladimir > > On 6/10/13 4:28 PM, Christian Thalinger wrote: >> http://cr.openjdk.java.net/~twisti/8003268 >> >> 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods >> Reviewed-by: >> >> SharedRuntime::generate_native_wrapper calculates c_arg as: >> >> int c_arg = total_c_args - total_in_args; >> >> which is then used for save_args/restore_args to save all already loaded arguments when calling out to the runtime. For JNI critical methods we add one additional argument to total_c_args for each array passed which means that c_arg is not zero and we skip the first argument(s) when saving them across runtime calls. >> >> There are two runtime calls in a native wrapper: SharedRuntime::dtrace_method_entry and SharedRuntime::rc_trace_method_entry >> >> The former is guarded by a SkipIfEqual and normally not executed. The latter is guarded by TraceRedefineClasses which is the reason why we crash. Using dtrace should also crash but I never tried. >> >> src/cpu/x86/vm/sharedRuntime_x86_64.cpp >> From roland.westrelin at oracle.com Tue Jun 11 01:12:09 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 11 Jun 2013 10:12:09 +0200 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <51B6375C.4060709@oracle.com> References: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> <51B603ED.4070207@oracle.com> <53CBE287-BE58-4281-A152-D01FD7B96086@oracle.com> <51B6375C.4060709@oracle.com> Message-ID: >> Also why is it better to filter out NegDNodes in the adlc rather than in MachNode::rematerialize()? > > It was my suggestion. Why mark a node as rematerializable if we never rematerialize it? Ok. Thanks, Vladimir. Roland. From david.r.chase at oracle.com Tue Jun 11 10:35:48 2013 From: david.r.chase at oracle.com (David Chase) Date: Tue, 11 Jun 2013 10:35:48 -0700 (PDT) Subject: RFR (S) : 8014959 : assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit In-Reply-To: <51B601DC.5090105@oracle.com> References: <51B601DC.5090105@oracle.com> Message-ID: <9B8F69AD-6893-4B2B-91AA-6B0C50DE261D@oracle.com> On 2013-06-10, at 12:42 PM, Vladimir Kozlov wrote: > David, > > In what place you hit "out of nodes" failure if you don't increase NodeLimitFudgeFactor? I don't recall exactly where -- but there was one different, in one of my hundred-iteration test runs. I didn't see much harm in doubling the padding, given the difficulty of reproducing the error, and not knowing how many more I might find if I just upped the test count to 1000, or perhaps 10000. > I think we can still hit "out of nodes" during insert_copies() because 6000 may be not enough for huge method with a lot of blocks. Could you do the check on each iteration in blocks loop?: I did that, and retested. http://cr.openjdk.java.net/~drchase/8014959/webrev.01/ David From david.r.chase at oracle.com Tue Jun 11 10:52:09 2013 From: david.r.chase at oracle.com (David Chase) Date: Tue, 11 Jun 2013 13:52:09 -0400 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink Message-ID: This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. David From vladimir.kozlov at oracle.com Tue Jun 11 10:57:24 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jun 2013 10:57:24 -0700 Subject: RFR (S) : 8014959 : assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit In-Reply-To: <9B8F69AD-6893-4B2B-91AA-6B0C50DE261D@oracle.com> References: <51B601DC.5090105@oracle.com> <9B8F69AD-6893-4B2B-91AA-6B0C50DE261D@oracle.com> Message-ID: <51B76504.8070605@oracle.com> On 6/11/13 10:35 AM, David Chase wrote: > > On 2013-06-10, at 12:42 PM, Vladimir Kozlov wrote: > >> David, >> >> In what place you hit "out of nodes" failure if you don't increase NodeLimitFudgeFactor? > > I don't recall exactly where -- but there was one different, in one of my hundred-iteration test runs. > I didn't see much harm in doubling the padding, given the difficulty of reproducing the error, and not knowing how many more I might find if I just upped the test count to 1000, or perhaps 10000. Okay. >> I think we can still hit "out of nodes" during insert_copies() because 6000 may be not enough for huge method with a lot of blocks. Could you do the check on each iteration in blocks loop?: > > I did that, and retested. > > http://cr.openjdk.java.net/~drchase/8014959/webrev.01/ Why you kept the check before insert_copies() call? The check inside insert_copies() should be enough since it is done on loop entry. Note, "Fix block's liveout data" loop does not add new nodes. Vladimir > > David > From vladimir.kozlov at oracle.com Tue Jun 11 11:00:51 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jun 2013 11:00:51 -0700 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: References: Message-ID: <51B765D3.1050107@oracle.com> Looks good. Thanks, Vladimir On 6/11/13 10:52 AM, David Chase wrote: > This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . > I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. > > There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. > > http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ > > Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. > > David > From christian.thalinger at oracle.com Tue Jun 11 11:23:14 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 11 Jun 2013 11:23:14 -0700 (PDT) Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: References: Message-ID: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> Looks good. For testing, the only real user of this method is SecurityManager.checkMemberAccess where the access type is not public. Thanks for pushing that cleanup. -- Chris On Jun 11, 2013, at 10:52 AM, David Chase wrote: > This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . > I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. > > There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. > > http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ > > Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. > > David > From morris.meyer at oracle.com Tue Jun 11 11:40:08 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 11 Jun 2013 14:40:08 -0400 Subject: RFR(XS): 8016187: assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range Message-ID: <51B76F08.6090001@oracle.com> Folks, Could I get a review of this hsx24 backport change? Its the same change as 8015437, which was pushed in last Friday. Thanks much. --morris WEBREV - http://cr.openjdk.java.net/~morris/JDK-8016187.01/ JBS - https://jbs.oracle.com/bugs/browse/JDK-8016187 From vladimir.kozlov at oracle.com Tue Jun 11 11:51:29 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jun 2013 11:51:29 -0700 Subject: RFR(XS): 8016187: assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range In-Reply-To: <51B76F08.6090001@oracle.com> References: <51B76F08.6090001@oracle.com> Message-ID: <51B771B1.3030800@oracle.com> Looks good. Thanks, Vladimir On 6/11/13 11:40 AM, Morris Meyer wrote: > Folks, > > Could I get a review of this hsx24 backport change? Its the same change > as 8015437, which was pushed in last Friday. > > Thanks much. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/JDK-8016187.01/ > JBS - https://jbs.oracle.com/bugs/browse/JDK-8016187 From david.r.chase at oracle.com Tue Jun 11 12:05:53 2013 From: david.r.chase at oracle.com (David Chase) Date: Tue, 11 Jun 2013 15:05:53 -0400 Subject: RFR (S) : 8014959 : assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit In-Reply-To: <51B7721E.3010003@oracle.com> References: <51B601DC.5090105@oracle.com> <9B8F69AD-6893-4B2B-91AA-6B0C50DE261D@oracle.com> <51B76504.8070605@oracle.com> <5EBE859C-0DA4-497E-8650-BD88A43510FA@oracle.com> <51B7721E.3010003@oracle.com> Message-ID: On 2013-06-11, at 2:53 PM, Vladimir Kozlov wrote: >>> Why you kept the check before insert_copies() call? >> >> oversight. >> Does it need retesting, or just a new webrev? > > Just new webrev. Done (and it compiles and runs). http://cr.openjdk.java.net/~drchase/8014959/webrev.02/ David From vladimir.kozlov at oracle.com Tue Jun 11 12:15:27 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jun 2013 12:15:27 -0700 Subject: RFR (S) : 8014959 : assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit In-Reply-To: References: <51B601DC.5090105@oracle.com> <9B8F69AD-6893-4B2B-91AA-6B0C50DE261D@oracle.com> <51B76504.8070605@oracle.com> <5EBE859C-0DA4-497E-8650-BD88A43510FA@oracle.com> <51B7721E.3010003@oracle.com> Message-ID: <51B7774F.4020903@oracle.com> This is good. Please, prepare patch for push. Thanks, Vladimir On 6/11/13 12:05 PM, David Chase wrote: > > On 2013-06-11, at 2:53 PM, Vladimir Kozlov wrote: > >>>> Why you kept the check before insert_copies() call? >>> >>> oversight. >>> Does it need retesting, or just a new webrev? >> >> Just new webrev. > > Done (and it compiles and runs). > > http://cr.openjdk.java.net/~drchase/8014959/webrev.02/ > > David > From david.r.chase at oracle.com Tue Jun 11 13:21:37 2013 From: david.r.chase at oracle.com (David Chase) Date: Tue, 11 Jun 2013 16:21:37 -0400 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> References: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> Message-ID: <8D4C7E9F-1CD8-48F0-BAE3-A10EFDECB0D5@oracle.com> On 2013-06-11, at 2:23 PM, Christian Thalinger wrote: > Looks good. For testing, the only real user of this method is SecurityManager.checkMemberAccess where the access type is not public. Off in jdk land, I did (jtreg) all of closed/java/lang/reflect java/lang/reflect closed/javax/management java/security closed/java/security plus a couple of others that included uses of getField. > Thanks for pushing that cleanup. > > -- Chris > > On Jun 11, 2013, at 10:52 AM, David Chase wrote: > >> This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . >> I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. >> >> There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. >> >> http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ >> >> Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. >> >> David >> > From niclas.adlertz at oracle.com Tue Jun 11 14:37:54 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Tue, 11 Jun 2013 23:37:54 +0200 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: References: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> <51B603ED.4070207@oracle.com> <53CBE287-BE58-4281-A152-D01FD7B96086@oracle.com> <51B6375C.4060709@oracle.com> Message-ID: <4C945FE3-695B-4706-8DD4-B5E8DF27F2A1@oracle.com> Vladimir, yes I agree. Roland, thanks. http://cr.openjdk.java.net/~adlertz/JDK-8016157/webrev01/ Kind Regards, Niclas Adlertz On 11 jun 2013, at 10:12, Roland Westrelin wrote: >>> Also why is it better to filter out NegDNodes in the adlc rather than in MachNode::rematerialize()? >> >> It was my suggestion. Why mark a node as rematerializable if we never rematerialize it? > > Ok. Thanks, Vladimir. > > Roland. From vladimir.kozlov at oracle.com Tue Jun 11 15:19:21 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 11 Jun 2013 15:19:21 -0700 Subject: RFR(S) 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block In-Reply-To: <4C945FE3-695B-4706-8DD4-B5E8DF27F2A1@oracle.com> References: <37419E6B-C431-4C22-AB6A-576E3B9B0A71@oracle.com> <51B603ED.4070207@oracle.com> <53CBE287-BE58-4281-A152-D01FD7B96086@oracle.com> <51B6375C.4060709@oracle.com> <4C945FE3-695B-4706-8DD4-B5E8DF27F2A1@oracle.com> Message-ID: <51B7A269.1080100@oracle.com> Good :) Vladimir On 6/11/13 2:37 PM, Niclas Adlertz wrote: > Vladimir, yes I agree. > Roland, thanks. > > http://cr.openjdk.java.net/~adlertz/JDK-8016157/webrev01/ > > Kind Regards, > Niclas Adlertz > > > On 11 jun 2013, at 10:12, Roland Westrelin wrote: > >>>> Also why is it better to filter out NegDNodes in the adlc rather than in MachNode::rematerialize()? >>> >>> It was my suggestion. Why mark a node as rematerializable if we never rematerialize it? >> >> Ok. Thanks, Vladimir. >> >> Roland. > From christian.thalinger at oracle.com Tue Jun 11 16:36:10 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Tue, 11 Jun 2013 23:36:10 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods Message-ID: <20130611233614.C327348156@hg.openjdk.java.net> Changeset: e7f5651d459c Author: twisti Date: 2013-06-11 11:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e7f5651d459c 8003268: SharedRuntime::generate_native_wrapper doesn't save all registers across runtime tracing calls for JNI critical native methods Reviewed-by: kvn ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp From vladimir.kozlov at oracle.com Tue Jun 11 20:15:58 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 12 Jun 2013 03:15:58 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130612031602.D75CC48164@hg.openjdk.java.net> Changeset: 693e4d04fd09 Author: drchase Date: 2013-06-11 16:34 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/693e4d04fd09 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit Summary: Insert extra checks and bailouts for too many nodes Reviewed-by: kvn ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/matcher.cpp Changeset: bc8956037049 Author: kvn Date: 2013-06-11 16:40 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/bc8956037049 Merge From david.r.chase at oracle.com Thu Jun 13 11:44:15 2013 From: david.r.chase at oracle.com (David Chase) Date: Thu, 13 Jun 2013 14:44:15 -0400 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: <8D4C7E9F-1CD8-48F0-BAE3-A10EFDECB0D5@oracle.com> References: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> <8D4C7E9F-1CD8-48F0-BAE3-A10EFDECB0D5@oracle.com> Message-ID: <59DA609C-AE4F-4C43-B5AA-793356BE68A2@oracle.com> So where do we stand on this? Do I need to prepare a patch and forward it to Vladimir K? If so, is it a dual contributed by (twisti & drchase)? David On 2013-06-11, at 4:21 PM, David Chase wrote: > On 2013-06-11, at 2:23 PM, Christian Thalinger wrote: > >> Looks good. For testing, the only real user of this method is SecurityManager.checkMemberAccess where the access type is not public. > > Off in jdk land, I did (jtreg) all of > > closed/java/lang/reflect > java/lang/reflect > closed/javax/management > java/security > closed/java/security > > plus a couple of others that included uses of getField. > >> Thanks for pushing that cleanup. >> >> -- Chris >> >> On Jun 11, 2013, at 10:52 AM, David Chase wrote: >> >>> This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . >>> I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. >>> >>> There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. >>> >>> http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ >>> >>> Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. >>> >>> David >>> >> > From christian.thalinger at oracle.com Thu Jun 13 12:12:08 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 13 Jun 2013 12:12:08 -0700 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: <59DA609C-AE4F-4C43-B5AA-793356BE68A2@oracle.com> References: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> <8D4C7E9F-1CD8-48F0-BAE3-A10EFDECB0D5@oracle.com> <59DA609C-AE4F-4C43-B5AA-793356BE68A2@oracle.com> Message-ID: <0A5A0DFC-93B9-46E9-AD97-CD4537737BC5@oracle.com> On Jun 13, 2013, at 11:44 AM, David Chase wrote: > So where do we stand on this? Do I need to prepare a patch and forward it to Vladimir K? Right. You can also send me the exported changeset. > If so, is it a dual contributed by (twisti & drchase)? Maybe have me as contributor and you as author. -- Chris > > David > > On 2013-06-11, at 4:21 PM, David Chase wrote: >> On 2013-06-11, at 2:23 PM, Christian Thalinger wrote: >> >>> Looks good. For testing, the only real user of this method is SecurityManager.checkMemberAccess where the access type is not public. >> >> Off in jdk land, I did (jtreg) all of >> >> closed/java/lang/reflect >> java/lang/reflect >> closed/javax/management >> java/security >> closed/java/security >> >> plus a couple of others that included uses of getField. >> >>> Thanks for pushing that cleanup. >>> >>> -- Chris >>> >>> On Jun 11, 2013, at 10:52 AM, David Chase wrote: >>> >>>> This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . >>>> I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. >>>> >>>> There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. >>>> >>>> http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ >>>> >>>> Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. >>>> >>>> David >>>> >>> >> > From david.r.chase at oracle.com Thu Jun 13 12:13:25 2013 From: david.r.chase at oracle.com (David Chase) Date: Thu, 13 Jun 2013 15:13:25 -0400 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: <0A5A0DFC-93B9-46E9-AD97-CD4537737BC5@oracle.com> References: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> <8D4C7E9F-1CD8-48F0-BAE3-A10EFDECB0D5@oracle.com> <59DA609C-AE4F-4C43-B5AA-793356BE68A2@oracle.com> <0A5A0DFC-93B9-46E9-AD97-CD4537737BC5@oracle.com> Message-ID: Is author automatic with the changeset coming from me, or do I add that as an explicit field because it has you as contributor? On 2013-06-13, at 3:12 PM, Christian Thalinger wrote: > > On Jun 13, 2013, at 11:44 AM, David Chase wrote: > >> So where do we stand on this? Do I need to prepare a patch and forward it to Vladimir K? > > Right. You can also send me the exported changeset. > >> If so, is it a dual contributed by (twisti & drchase)? > > Maybe have me as contributor and you as author. > > -- Chris > >> >> David >> >> On 2013-06-11, at 4:21 PM, David Chase wrote: >>> On 2013-06-11, at 2:23 PM, Christian Thalinger wrote: >>> >>>> Looks good. For testing, the only real user of this method is SecurityManager.checkMemberAccess where the access type is not public. >>> >>> Off in jdk land, I did (jtreg) all of >>> >>> closed/java/lang/reflect >>> java/lang/reflect >>> closed/javax/management >>> java/security >>> closed/java/security >>> >>> plus a couple of others that included uses of getField. >>> >>>> Thanks for pushing that cleanup. >>>> >>>> -- Chris >>>> >>>> On Jun 11, 2013, at 10:52 AM, David Chase wrote: >>>> >>>>> This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . >>>>> I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. >>>>> >>>>> There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. >>>>> >>>>> http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ >>>>> >>>>> Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. >>>>> >>>>> David >>>>> >>>> >>> >> > From vladimir.kozlov at oracle.com Thu Jun 13 12:29:38 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 13 Jun 2013 12:29:38 -0700 Subject: RFR(M) : 8010124 : JVM_GetClassContext: use GrowableArray instead of KlassLink In-Reply-To: References: <4BE3F7EA-1A8E-4566-84A3-EC4FCAC1FEF8@oracle.com> <8D4C7E9F-1CD8-48F0-BAE3-A10EFDECB0D5@oracle.com> <59DA609C-AE4F-4C43-B5AA-793356BE68A2@oracle.com> <0A5A0DFC-93B9-46E9-AD97-CD4537737BC5@oracle.com> Message-ID: <51BA1DA2.103@oracle.com> On 6/13/13 12:13 PM, David Chase wrote: > Is author automatic with the changeset coming from me, or do I add that as an explicit field because it has you as contributor? When you execute 'hg commit' you become author automatically. You can change it with 'hg commit -u '. Contributed-by field is used only for external (outside Oracle) contributions. regards, Vladimir > > On 2013-06-13, at 3:12 PM, Christian Thalinger wrote: > >> >> On Jun 13, 2013, at 11:44 AM, David Chase wrote: >> >>> So where do we stand on this? Do I need to prepare a patch and forward it to Vladimir K? >> >> Right. You can also send me the exported changeset. >> >>> If so, is it a dual contributed by (twisti & drchase)? >> >> Maybe have me as contributor and you as author. >> >> -- Chris >> >>> >>> David >>> >>> On 2013-06-11, at 4:21 PM, David Chase wrote: >>>> On 2013-06-11, at 2:23 PM, Christian Thalinger wrote: >>>> >>>>> Looks good. For testing, the only real user of this method is SecurityManager.checkMemberAccess where the access type is not public. >>>> >>>> Off in jdk land, I did (jtreg) all of >>>> >>>> closed/java/lang/reflect >>>> java/lang/reflect >>>> closed/javax/management >>>> java/security >>>> closed/java/security >>>> >>>> plus a couple of others that included uses of getField. >>>> >>>>> Thanks for pushing that cleanup. >>>>> >>>>> -- Chris >>>>> >>>>> On Jun 11, 2013, at 10:52 AM, David Chase wrote: >>>>> >>>>>> This is an update and application of a leftover patch from Christian Thalinger's bug 7198429 . >>>>>> I believe it is intended to accumulate call stacks slightly more quickly; it is not a correctness bug. >>>>>> >>>>>> There were some minor differences and some parts had already been applied, so it required a hand-apply and line-by-line inspection. >>>>>> >>>>>> http://cr.openjdk.java.net/~drchase/8010124/webrev.00/ >>>>>> >>>>>> Testing: jtreg locally, JPRT, also hand-tested some applets that attempt to do Bad Things, and they failed. >>>>>> >>>>>> David >>>>>> >>>>> >>>> >>> >> > From john.cuthbertson at oracle.com Thu Jun 13 15:30:59 2013 From: john.cuthbertson at oracle.com (John Cuthbertson) Date: Thu, 13 Jun 2013 15:30:59 -0700 Subject: RFR(M/L): 7145569: G1: optimize nmethods scanning Message-ID: <51BA4823.7000509@oracle.com> Hi Everyone, Can I have a few volunteers look over the changes for this CR - ideally I would like at least one person from the compiler team and one from the GC team. Summary: For some workloads with G1, the scanning of the Code cache cache can take quite a long time. In fact there have been cases where the scanning of the code cache is the dominator of the pause and the other worker threads sit an spin in the termination code while the worker that claimed the code cache scanning task chugs along. Part of the reason is that the list of nmethods with scavengable oops is a single root task. Another part, specifically affecting G1, is that the presence of an nmethod in the list depends on the definition of is_scavengable. For the other collectors, when the oops in an nmethod are promoted to the old generation that nmethod ceases to be scavengable and is pruned from the scavengable list. For G1, because we can collect "old" data during a mixed evacuation pause we can't prune the scavengable nmethod list. The changes are my attempt at a solution outlined by Igor Veresov. I have added a list of nmethods to each HeapRegion. That list is populated by nmethods that contain roots that point into that heap region. The lists are populated when an nmethod is created (or in the case of C1 when it is patched). During an evacuation pause we skip scanning the entire code cache and instead scan the oops in each nmethod attached to a region when we scan that regions RSet. Near the end of the pause we have migrate the nmethods attached to regions in the collection to regions in to-space. During an initial mark pause, we walk the nmethods attached to all heap regions (other than those in the collection set - they're marked when their nmethod lists are scanned). During a full GC we empty the nmethod list attached to each region and then rebuild it - similar to what happens to the RSets. To verify the integrity of these nmethod lists I've extended the heap verification. When scanning the code cache we check that an nmethod is attached to heap regions that it points into. When verifying the heap regions we ensure that the nmethods attached to a region contain at least one pointer into that region. This additional verification can add some time so I recently put it under control of a diagnostic flag (testing was performed with it enabled). As part of these changes I moved some code around (specifically the verification code) in g1CollectedHeap.[ch]pp and heapRegion.[ch]pp. The purely clean up changes can be found at: http://cr.openjdk.java.net/~johnc/7145569/webrev.0.code-movement/ The webrev containing just the functionality can be found at: http://cr.openjdk.java.net/~johnc/7145569/webrev.1.optimize-nmethod-scanning/ The whole shebang can be found at: http://cr.openjdk.java.net/~johnc/7145569/webrev.all Testing: GC test suite with C1, C2, and Tiered on x64 and sparc (Xmixed and Xcomp) - with and without verification (including the extra verification); a few jprt runs Kitchensink (4 hour runs) with C1, C2, Tiered on x64 (Xmixed and Xcomp) - with and without verification (including the extra verification). Future enhancements: * Currently I'm using a growable array for the nmethod lists but in the long term I want to move to a more suitable data structure. Perhaps a specialized version of Stack. * Currently I migrate nmethods from regions in the collection set to regions in to-space in a separate phase. Ideally this should be done when we're finished scanning a region's RSet. When we do this, migration will be performed in parallel and two threads could be pushing to a to-space regions nmethod list at the same time - we will need an "atomic" push operation. When the compilers push an nmethod, the do it while holding the CodeCache_lock so such an operation is, currently, unnecessary. Thanks, JohnC From vladimir.kozlov at oracle.com Thu Jun 13 17:07:19 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 14 Jun 2013 00:07:19 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010124: JVM_GetClassContext: use GrowableArray instead of KlassLink Message-ID: <20130614000723.2FF36481E8@hg.openjdk.java.net> Changeset: c52abc8a0b08 Author: drchase Date: 2013-06-13 15:39 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c52abc8a0b08 8010124: JVM_GetClassContext: use GrowableArray instead of KlassLink Summary: replace linked data structure with array (performance) Reviewed-by: kvn Contributed-by: christian.thalinger at oracle.com, david.r.chase at oracle.com ! src/share/vm/prims/jvm.cpp From vladimir.kozlov at oracle.com Thu Jun 13 18:55:59 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Fri, 14 Jun 2013 01:55:59 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Message-ID: <20130614015603.0E57C481F0@hg.openjdk.java.net> Changeset: 7fa25f5575c9 Author: adlertz Date: 2013-06-14 01:19 +0200 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7fa25f5575c9 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block Summary: Disable rematerialization for negD node Reviewed-by: kvn, roland ! src/share/vm/adlc/formssel.cpp ! src/share/vm/adlc/formssel.hpp From porcariadagata at gmail.com Thu Jun 13 17:38:56 2013 From: porcariadagata at gmail.com (Guilherme Espada) Date: Fri, 14 Jun 2013 01:38:56 +0100 Subject: Bug relating to the JIT and the JNI Message-ID: <51BA6620.4090606@gmail.com> I've found a bug relating to the JIT and the JNI, but I am unsure on where to post it. The official way (http://bugreport.sun.com/bugreport/) did not work for me. From christian.thalinger at oracle.com Thu Jun 13 21:11:37 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 13 Jun 2013 21:11:37 -0700 Subject: Bug relating to the JIT and the JNI In-Reply-To: <51BA6620.4090606@gmail.com> References: <51BA6620.4090606@gmail.com> Message-ID: On Jun 13, 2013, at 5:38 PM, Guilherme Espada wrote: > I've found a bug relating to the JIT and the JNI, but I am unsure on > where to post it. > > The official way (http://bugreport.sun.com/bugreport/) did not work for me. You can post it here if it doesn't involve sensitive or confidential data. We can then decide where the bug belongs. -- Chris From sand.m.stone at gmail.com Thu Jun 13 23:13:29 2013 From: sand.m.stone at gmail.com (Sand Stone) Date: Thu, 13 Jun 2013 23:13:29 -0700 Subject: Any writeup on JDK8 SIMD support? Message-ID: Hi, compiler folks. It looks like there is better SIMD instruction support at the code gen. For a Java programmer, any guidance and code example on how to be JIT friendlier? The best article on the Web so far is this one: http://developers.opengamma.com/articles/DGEMV.pdf BTW, any plan to support Haswell AVX integer instructions? Regards. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130613/bb13655b/attachment.html From porcariadagata at gmail.com Thu Jun 13 23:27:57 2013 From: porcariadagata at gmail.com (Guilherme Espada) Date: Fri, 14 Jun 2013 07:27:57 +0100 Subject: The JIT fails to account for native threads when optimizing. In-Reply-To: References: <51BA6620.4090606@gmail.com> Message-ID: <51BAB7ED.8020400@gmail.com> The JIT optimizes away a code block because it thinks a value cannot be changed. But the JIT fails to account for native threads. Here is some sample code that demonstrates the issue (This example uses the JNativeHook (https://code.google.com/p/jnativehook/) library): import org.jnativehook.GlobalScreen; import org.jnativehook.NativeHookException; import org.jnativehook.keyboard.NativeKeyEvent; import org.jnativehook.keyboard.NativeKeyListener; public class BugTest { public static void main(String[] args) { try { new BugTest().maiin(); } catch (NativeHookException e) { throw new RuntimeException(e); } } class Hook implements NativeKeyListener { @Override public void nativeKeyPressed(NativeKeyEvent nativeKeyEvent) { dirty=true; System.out.println("Dirty was set: " + dirty); } @Override public void nativeKeyReleased(NativeKeyEvent nativeKeyEvent) { } @Override public void nativeKeyTyped(NativeKeyEvent nativeKeyEvent) { } } private boolean dirty; private void maiin() throws NativeHookException{ GlobalScreen.registerNativeHook(); GlobalScreen.getInstance().addNativeKeyListener(new Hook()); while (true) { if(dirty){ System.out.println("GUIpsp"); } } } } Expected: The program should output "GUIpsp" continuously after pressing any key. Actual: The program outputs nothing. This was tested on the following systems: Linux Satellite-Pro-L500 3.2.0-45-generic #70-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux Windows 7 x64 With the following java -version java version "1.7.0_21" OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.12.04.1) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) java version "1.7.0_21" Java(TM) SE Runtime Environment (build 1.7.0_21-b11) Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode) As a workaround, adding any activity in the while block prevents the JIT from optimizing away the block. For example: while (true) { System.out.toString(); if(dirty){ System.out.println("GUIpsp"); } } Disabling the JIT with -Xint fixes this issue. From forax at univ-mlv.fr Fri Jun 14 00:28:08 2013 From: forax at univ-mlv.fr (Remi Forax) Date: Fri, 14 Jun 2013 09:28:08 +0200 Subject: The JIT fails to account for native threads when optimizing. In-Reply-To: <51BAB7ED.8020400@gmail.com> References: <51BA6620.4090606@gmail.com> <51BAB7ED.8020400@gmail.com> Message-ID: <51BAC608.20304@univ-mlv.fr> On 06/14/2013 08:27 AM, Guilherme Espada wrote: > The JIT optimizes away a code block because it thinks a value cannot be > changed. But the JIT fails to account for native threads. > > Here is some sample code that demonstrates the issue (This example uses > the JNativeHook (https://code.google.com/p/jnativehook/) library): > > import org.jnativehook.GlobalScreen; > import org.jnativehook.NativeHookException; > import org.jnativehook.keyboard.NativeKeyEvent; > import org.jnativehook.keyboard.NativeKeyListener; > > public class BugTest { > > public static void main(String[] args) { > try { > new BugTest().maiin(); > } catch (NativeHookException e) { > throw new RuntimeException(e); > } > } > class Hook implements NativeKeyListener { > @Override > public void nativeKeyPressed(NativeKeyEvent nativeKeyEvent) { > dirty=true; > System.out.println("Dirty was set: " + dirty); > } > @Override > public void nativeKeyReleased(NativeKeyEvent nativeKeyEvent) { > } > @Override > public void nativeKeyTyped(NativeKeyEvent nativeKeyEvent) { > } > } > > private boolean dirty; > > private void maiin() throws NativeHookException{ > GlobalScreen.registerNativeHook(); > GlobalScreen.getInstance().addNativeKeyListener(new Hook()); > while (true) { > if(dirty){ > System.out.println("GUIpsp"); > } > } > } > } > > Expected: > The program should output "GUIpsp" continuously after pressing any key. > > Actual: > The program outputs nothing. > > > This was tested on the following systems: > > Linux Satellite-Pro-L500 3.2.0-45-generic #70-Ubuntu SMP x86_64 x86_64 > x86_64 GNU/Linux > > Windows 7 x64 > > With the following java -version > > java version "1.7.0_21" > OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.12.04.1) > OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) > > java version "1.7.0_21" > Java(TM) SE Runtime Environment (build 1.7.0_21-b11) > Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode) > > > As a workaround, adding any activity in the while block prevents the JIT > from optimizing away the block. For example: > > while (true) { > System.out.toString(); > if(dirty){ > System.out.println("GUIpsp"); > } > } > > Disabling the JIT with -Xint fixes this issue. It has nothing to do with the fact that the thread is native or not, you will see the same issue with a Java thread. see section 17 of the JLS, http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html Practically, the way to solve the issue, is to declare dirty as volatile. R?mi From thomas.schatzl at oracle.com Fri Jun 14 03:15:51 2013 From: thomas.schatzl at oracle.com (Thomas Schatzl) Date: Fri, 14 Jun 2013 12:15:51 +0200 Subject: RFR(M/L): 7145569: G1: optimize nmethods scanning In-Reply-To: <51BA4823.7000509@oracle.com> References: <51BA4823.7000509@oracle.com> Message-ID: <1371204951.2690.5.camel@cirrus> Hi John, I had some initial look at the code, first comments (mostly about typos, comments) below: On Thu, 2013-06-13 at 15:30 -0700, John Cuthbertson wrote: > Hi Everyone, > > Can I have a few volunteers look over the changes for this CR - ideally > I would like at least one person from the compiler team and one from the > GC team. - the patch does not seem to apply to latest hotspot-gc repository here, getting a few failed hunks. - I cannot really comment on the completeness of compiler changes. g1_globals.hpp: - I am not a particular fan of the "If true, ..." prefix for globals descriptions, it seems redundant. But this is really imo. nmethod.cpp: - Universe::heap()->register_nmethod(this); seems to be always paired with CodeCache::add_scavenge_root_nmethod(this). Maybe it is useful to put the nmethod registration in that method. heapRegion.hpp - push_strong_code_root vs. add_strong_code_root - comment for migrate_strong_code_roots(): "... they *ppoint* into" - comment for strong_code_roots_do(): "Applied" -> "Apply" or "Applies"? - comment for verify_strong_code_roots(): "... include at *lease*..."; The method does not return the number of failures as the failures parameter is a bool. g1RemSet.hpp - worker_i should be an uint; there has been a pre-hs24 (7121618) issue that changed worker_i variables across all collectors from int to uint. Recently the use of "int" has crept in into g1 code again. If it causes trouble (because int is used in g1), leave it - there is a new CR (8016302) to fix that at once. - comment for oops_into_collection_set_do(): " .. this param will be *ingored*" heapRegion.cpp: - In HeapRegion::hr_clear(), it may be interesting to not only clear the code root list, but deallocate it. Depending on the size of this list (do you have numbers?) this may lead to excessive memory use of free regions' HeapRegions. I.e. there have been too many issues recently about G1 taking too much space by default :) In the same direction, maybe the default size of 10 could be lowered. Eg. with 60k+ region heaps, this will add 4M+ to the heap at startup. Then again, this could be done in another cr when fixing the general issue. - about use of another data structure for the per-region strong roots list: I agree, but depending on the typical size of these arrays. - at the end of the file there is this change that (forward?) declares the "template class GrowableArray;". As it's visible only in that cpp file, and afterwards there is no code, it seems superfluous. - in remove_strong_code_root() the code tries to remove multiple entries of a given nmethod. How is it possible to get multiple duplicate entries, assuming that push_strong_code_root() already does not push an nmethod if it is already in the list? g1CollectedHeap.cpp: - in the line "G1VerifyCodeRootBlobClosure blobsCl(&codeRootsCl, /*do_marking=*/ false);" I think common style is to do the comment with spaces around and no equals sign, e.g. /* do_marking */, and after the actual parameter. - line 3884, the text for the assert has wrong indentation (compared to the assert above) - in the comment in line 4990, maybe explicitly mention that this is about regions in the collection set once. E.g. "... that point into a region *in the collection set* are scanned when we scan ...". Not absolutely necessary I think. - after trying to fix mentioned patch import errors, I get warnings/errors when compiling this file. It seems that in RegisterNMethodOopClosure/UnregisterNMethodOopClosure ::do_oop_work() a decode_heap_oop_not_null() is missing. I.e. change template void do_oop_work(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { HeapRegion* hr = _g1h->heap_region_containing(heap_oop); to template void do_oop_work(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);