From aleksey.shipilev at oracle.com Fri Mar 1 01:32:10 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Fri, 01 Mar 2013 13:32:10 +0400 Subject: RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers In-Reply-To: <512FC20C.30407@oracle.com> References: <512DD36E.1030702@oracle.com> <512F1164.9090805@oracle.com> <512F6B31.50908@oracle.com> <512FC20C.30407@oracle.com> Message-ID: <5130759A.70509@oracle.com> Thanks! Here's the updated webrev: http://cr.openjdk.java.net/~shade/8009120/webrev.02/ Testing: - release/fastdebug builds on my laptop: concurrency tests are failing with -XX:+StressLCM, as expected - hotspot-comp JPRT is running now; I'll report on success/failure Comments below: On 03/01/2013 12:46 AM, Vladimir Kozlov wrote: > First, about your fuzzing code. fuzz_accept() will always return 'true' > for count == 1, after that probability of 'true' will decrease with each > count's increment. So you will always select first candidate which is > not random. Why you don't want a uniform distribution? Also why you want > only one candidate to be selected (if I understand code correctly)? There is a confusion about the contract for this method. phase.hpp before, and compile.cpp now has the example of how this method is used. Both LCM and GCM are not storing the list of candidates, which we then can magically use to choose from uniformly. Instead, they update the best candidate as they munch through the candidate list, and we even don't know in advance how much candidates there'll be. In this scheme, you need to adjust the randomicity, or else you will end up biasing the selection towards the latter candidates. Quick back-envelope calculation shows that for the list of n candidates the equal probability for the candidate to persist as "best" can be achieved by replacing it with "next" k-th candidate with the probability of 1/k. It can be easily shown that by the end of the run, the probability for all candidates are converged to 1/n, thus giving the uniform distribution among all the candidates. > Could you change "fuzzing", "fuzz" to "stressing", "stress" in flags > names and comments. It will be in the line with other stress flags/code > we have already. Although I think "fuzz" declares the intent more clearly, I changed everything to "stress". > I also think fuzz_accept() could be different name, may be > fuzz_selected(cand) or something? "randomized_select" it is now. > define flags as 'develop' (not 'notproduct') so they will be accessible > (but not modifiable) in product code. Yes, cool. > bool fuzz_candidate = FuzzGCM && fuzz_selected(++fuzz_candidate_cnt); > > if (LCA_freq < least_freq || // Better Frequency > + fuzz_candidate || > ( !in_latency && // No block containing latency Nope, that defeats the purpose. I want the latency-based policy to be disabled at all when stressing is enabled. Otherwise both LCM and GCM will converge to lowest latency, and stressing will have the nil effect. Hence I left it as is, with develop flag cleanup. > Phase class is bad place for fuzz_accept() method. We usually put such > methods into Compile class if you want to use this method in other > places in C2. I was wondering where to put it. It is in the Compile now. > Why you need C2_PHASE_ in C2_PHASE_FUZZ_DOMAIN name? Do we have other > FUZZ_DOMAIN? You don't need to worry about that if you move method body > and FUZZ_DOMAIN definition into .cpp file. Fixed. > Also why not choose 2^n value so that '%' could be simple masking. Improved. -Aleksey. From morris.meyer at oracle.com Fri Mar 1 13:15:50 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 01 Mar 2013 16:15:50 -0500 Subject: RFR (XS): 8008327: [parfait] Unitialized variable in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m Message-ID: <51311A86.9040008@oracle.com> Folks, Could I get a review of this Parfait issue? This has been through JPRT. Thanks much. --mm WEBREV - http://cr.openjdk.java.net/~morris/8008327/ BUG - https://jbs.oracle.com/bugs/browse/JDK-8008327 From alejandro.murillo at oracle.com Fri Mar 1 13:54:51 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 01 Mar 2013 21:54:51 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 25 new changesets Message-ID: <20130301215541.BB1EB477C7@hg.openjdk.java.net> Changeset: 5d395eb2626f Author: katleman Date: 2013-02-28 10:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5d395eb2626f Added tag jdk8-b79 for changeset 6691814929b6 ! .hgtags Changeset: 1b0dc9f87e75 Author: mgerdin Date: 2013-02-19 18:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1b0dc9f87e75 8006753: fix failed for JDK-8002415 White box testing API for HotSpot Summary: Modify WhiteBoxAPI to use interface classes from test/testlibrary instead, add ClassFileInstaller to resolve the boot class path issue Reviewed-by: ctornqvi, dsamersoff, coleenp, kvn ! make/Makefile ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/vm.make - make/bsd/makefiles/wb.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/vm.make - make/linux/makefiles/wb.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/vm.make - make/solaris/makefiles/wb.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/fastdebug.make ! make/windows/makefiles/product.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java ! src/share/vm/runtime/arguments.cpp ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/runtime/NMT/AllocTestType.java ! test/runtime/NMT/PrintNMTStatistics.java ! test/runtime/NMT/SummarySanityCheck.java ! test/sanity/WBApi.java ! test/serviceability/ParserTest.java + test/testlibrary/ClassFileInstaller.java + test/testlibrary/whitebox/sun/hotspot/WhiteBox.java + test/testlibrary/whitebox/sun/hotspot/parser/DiagnosticCommand.java Changeset: 4c1d8002ffb1 Author: hseigel Date: 2013-02-20 07:16 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4c1d8002ffb1 8004495: [parfait] False positive Buffer overflow in hotspot/src/os/linux/vm/os_linux.cpp Summary: Delete the questionable source code because it is for no-longer supported versions of Linux. Reviewed-by: mikael, coleenp ! src/os/linux/vm/os_linux.cpp Changeset: b861c8af2510 Author: hseigel Date: 2013-02-20 07:42 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b861c8af2510 Merge - make/bsd/makefiles/wb.make - make/linux/makefiles/wb.make - make/solaris/makefiles/wb.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java Changeset: b6d5b3e50379 Author: dcubed Date: 2013-02-20 19:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b6d5b3e50379 6799919: Recursive calls to report_vm_out_of_memory are handled incorrectly Summary: report_vm_out_of_memory() should allow VMError.report_and_die() to handle multiple out of native memory errors. Reviewed-by: dcubed, dholmes, coleenp, acorn Contributed-by: ron.durbin at oracle.com ! src/share/vm/utilities/debug.cpp Changeset: fc64254f5579 Author: zgu Date: 2013-02-21 07:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fc64254f5579 8008071: Crashed in promote_malloc_records() with Kitchensink after 19 days Summary: Added NULL pointer check for arena size record Reviewed-by: sspitsyn, dholmes ! src/share/vm/services/memSnapshot.cpp Changeset: 5ed317b25e23 Author: sla Date: 2013-02-22 10:03 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5ed317b25e23 7165259: Remove BugSpot Reviewed-by: coleenp, mgronlun ! agent/make/Makefile - agent/make/bugspot.bat ! agent/make/marks_notes.html ! agent/src/os/win32/windbg/sawindbg.cpp - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/ThreadListPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/ObjectTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CStringAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PMap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java ! agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java ! agent/src/share/classes/sun/jvm/hotspot/ui/SAPanel.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/soql/sa.js - agent/src/share/native/jvmdi/sa.cpp - agent/src/share/native/jvmdi/sa.dsp - agent/src/share/native/jvmdi/sa.dsw - agent/src/share/native/jvmdi/sa.hpp ! make/sa.files Changeset: f16e75e0cf11 Author: coleenp Date: 2013-02-22 08:36 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f16e75e0cf11 8000797: NPG: is_pseudo_string_at() doesn't work Summary: Zero Symbol* for constant pool strings to indicate pseudo_strings (objects that aren't strings). Clean up JVM_CONSTANT_Object and unused flags. Reviewed-by: sspitsyn, jrose ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/ClassConstants.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/ConstantTag.java ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/generateOopMap.cpp ! src/share/vm/utilities/constantTag.cpp ! src/share/vm/utilities/constantTag.hpp Changeset: 94478a033036 Author: sspitsyn Date: 2013-02-22 10:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/94478a033036 Merge - agent/make/bugspot.bat - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/ThreadListPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/ObjectTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CStringAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java - agent/src/share/native/jvmdi/sa.cpp - agent/src/share/native/jvmdi/sa.dsp - agent/src/share/native/jvmdi/sa.dsw - agent/src/share/native/jvmdi/sa.hpp - make/bsd/makefiles/wb.make - make/linux/makefiles/wb.make - make/solaris/makefiles/wb.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java ! src/share/vm/runtime/arguments.cpp Changeset: ec2eddfed950 Author: rbackman Date: 2013-02-26 14:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ec2eddfed950 8008340: [sampling] assert(upper->pc_offset() >= pc_offset) failed: sanity Reviewed-by: kvn, sla ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp Changeset: 77f9b6d0126e Author: sspitsyn Date: 2013-02-27 12:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/77f9b6d0126e Merge - agent/make/bugspot.bat - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/ThreadListPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/ObjectTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CStringAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java - agent/src/share/native/jvmdi/sa.cpp - agent/src/share/native/jvmdi/sa.dsp - agent/src/share/native/jvmdi/sa.dsw - agent/src/share/native/jvmdi/sa.hpp - make/bsd/makefiles/wb.make - make/linux/makefiles/wb.make - make/solaris/makefiles/wb.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java Changeset: 0598674c0056 Author: jwilhelm Date: 2013-02-21 11:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0598674c0056 8008314: Unimplemented() Atomic::load breaks the applications Summary: jlong atomics isn't fully implemented om all 32-bit platforms so we try to avoid it. In this case the atomic add wasn't needed. Reviewed-by: dholmes, dlong ! src/share/vm/runtime/atomic.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp Changeset: 96c885895d22 Author: johnc Date: 2013-02-22 11:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/96c885895d22 8007221: G1: concurrent phase durations do not state the time units ("secs") Summary: Add timer units to concurrent marking phases where the units were missing. Reviewed-by: jmasa, ysr ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Changeset: 9a8ee5301f33 Author: brutisso Date: 2013-02-26 11:52 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9a8ee5301f33 Merge Changeset: f1fb03a251e9 Author: poonam Date: 2013-02-21 23:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f1fb03a251e9 8008546: Wrong G1ConfidencePercent results in GUARANTEE(VARIANCE() > -1.0) FAILED Reviewed-by: brutisso, johnc Contributed-by: vladimir.kempik at oracle.com ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: fd32b88a87e9 Author: poonam Date: 2013-02-23 17:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fd32b88a87e9 Merge Changeset: 9289a00709b5 Author: poonam Date: 2013-02-26 08:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9289a00709b5 Merge Changeset: b685ca4f4fb9 Author: ehelin Date: 2013-02-20 16:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b685ca4f4fb9 8008536: Add HotSpot support for printing class loader statistics for JMap Reviewed-by: sla, brutisso + agent/src/share/classes/sun/jvm/hotspot/tools/ClassLoaderStats.java ! agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java - agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Changeset: 3d3379aab292 Author: ehelin Date: 2013-02-26 22:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3d3379aab292 Merge - agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Changeset: 9a094d29af19 Author: ehelin Date: 2013-02-06 07:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9a094d29af19 8004924: NPG: jmap -heap output should contain ClassMetaspaceSize value Reviewed-by: stefank, mgerdin ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java + test/gc/metaspace/ClassMetaspaceSizeInJmapHeap.java Changeset: b5e03c8ead49 Author: brutisso Date: 2013-02-28 09:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b5e03c8ead49 Merge - agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java Changeset: 338da89b2592 Author: vlivanov Date: 2013-02-28 15:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/338da89b2592 Merge Changeset: df5396524152 Author: amurillo Date: 2013-03-01 04:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/df5396524152 Merge - agent/make/bugspot.bat - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/JavaLineNumberInfo.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/Main.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PCFinder.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/PackageScanner.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/RegisterPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTraceEntry.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/StackTracePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/ThreadListPanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/VariablePanel.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/AddressTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/DoubleTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/EnumTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FieldTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/FloatTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/LongTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/bugspot/tree/ObjectTreeNodeAdapter.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/BreakpointEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CIntegerAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/CStringAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/Event.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ExceptionEvent.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/JNIHandleAccessor.java - agent/src/share/classes/sun/jvm/hotspot/livejvm/ServiceabilityAgentJVMDIModule.java - agent/src/share/classes/sun/jvm/hotspot/tools/PermStat.java - agent/src/share/native/jvmdi/sa.cpp - agent/src/share/native/jvmdi/sa.dsp - agent/src/share/native/jvmdi/sa.dsw - agent/src/share/native/jvmdi/sa.hpp - make/bsd/makefiles/wb.make - make/linux/makefiles/wb.make - make/solaris/makefiles/wb.make - make/windows/makefiles/wb.make - src/share/tools/whitebox/sun/hotspot/WhiteBox.java - src/share/tools/whitebox/sun/hotspot/parser/DiagnosticCommand.java Changeset: 4a198b201f3c Author: amurillo Date: 2013-03-01 04:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4a198b201f3c Added tag hs25-b21 for changeset df5396524152 ! .hgtags Changeset: 7f482030ff64 Author: amurillo Date: 2013-03-01 04:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7f482030ff64 8009226: new hotspot build - hs25-b22 Reviewed-by: jcoomes ! make/hotspot_version From vladimir.kozlov at oracle.com Fri Mar 1 14:06:02 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 01 Mar 2013 14:06:02 -0800 Subject: RFR (XS): 8008327: [parfait] Unitialized variable in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m In-Reply-To: <51311A86.9040008@oracle.com> References: <51311A86.9040008@oracle.com> Message-ID: <5131264A.80707@oracle.com> Looks good. Vladimir On 3/1/13 1:15 PM, Morris Meyer wrote: > Folks, > > Could I get a review of this Parfait issue? This has been through JPRT. > > Thanks much. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008327/ > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008327 From morris.meyer at oracle.com Fri Mar 1 14:08:54 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 01 Mar 2013 17:08:54 -0500 Subject: RFR (XS) 8008559 [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value Message-ID: <513126F6.4000407@oracle.com> Could I get a quick review for this parfait issue? This has been through JPRT. Thanks much. --mm WEBREV - http://cr.openjdk.java.net/~morris/8008559 BUG - https://jbs.oracle.com/bugs/browse/JDK-8008559 From john.r.rose at oracle.com Fri Mar 1 14:48:56 2013 From: john.r.rose at oracle.com (John Rose) Date: Fri, 1 Mar 2013 14:48:56 -0800 Subject: RFR (XS) 8008559 [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value In-Reply-To: <513126F6.4000407@oracle.com> References: <513126F6.4000407@oracle.com> Message-ID: <221C2812-20B3-4205-BBC8-E324BF688707@oracle.com> Reviewed. ? John On Mar 1, 2013, at 2:08 PM, Morris Meyer wrote: > Could I get a quick review for this parfait issue? This has been through JPRT. > > Thanks much. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008559 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008559 From vladimir.kozlov at oracle.com Fri Mar 1 15:04:08 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 01 Mar 2013 15:04:08 -0800 Subject: RFR (XS) 8008559 [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value In-Reply-To: <513126F6.4000407@oracle.com> References: <513126F6.4000407@oracle.com> Message-ID: <513133E8.5050105@oracle.com> I agree with David that all methods in this file should have: #else Unimplemented(); return 0; #endif Parfait Thanks, Vladimir On 3/1/13 2:08 PM, Morris Meyer wrote: > Could I get a quick review for this parfait issue? This has been > through JPRT. > > Thanks much. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008559 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008559 From aleksey.shipilev at oracle.com Sat Mar 2 06:51:01 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Sat, 02 Mar 2013 18:51:01 +0400 Subject: RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers In-Reply-To: <5130759A.70509@oracle.com> References: <512DD36E.1030702@oracle.com> <512F1164.9090805@oracle.com> <512F6B31.50908@oracle.com> <512FC20C.30407@oracle.com> <5130759A.70509@oracle.com> Message-ID: <513211D5.4070306@oracle.com> On 03/01/2013 01:32 PM, Aleksey Shipilev wrote: > Here's the updated webrev: > http://cr.openjdk.java.net/~shade/8009120/webrev.02/ > > Testing: > - release/fastdebug builds on my laptop: concurrency tests are failing > with -XX:+StressLCM, as expected > - hotspot-comp JPRT is running now; I'll report on success/failure Seems OK, only one unrelated environment failure. -Aleksey. From goetz.lindenmaier at sap.com Mon Mar 4 08:34:52 2013 From: goetz.lindenmaier at sap.com (Lindenmaier, Goetz) Date: Mon, 4 Mar 2013 16:34:52 +0000 Subject: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] Message-ID: <4295855A5C1DE049A61835A1887419CC0CFA7D32@DEWDFEMB12A.global.corp.sap> Hi Chris, I would like to take up this issue again. I'm about to put our changes on the jdk8 branch, and it would be convenient to have a final solution for this. Should I prepare a webrev with a different solution adding a new file for this? What should go into that file? Best regards, Goetz. -----Original Message----- From: goetz.lindenmaier at sap.com Sent: Dienstag, 18. Dezember 2012 10:42 To: 'Christian Thalinger' Subject: RE: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] Hi Chris, What would you put into that file? The offset, or the class CompiledStaticCall? You could also put it into nativeInst_ to avoid adding another file. But basically I think the offset is the best solution, because it's very small and straight forward, and the offset is set where the code is generated that defines the offset. Only the #ifndef COMPILER2 is ugly, but here I think the solution is to guard the whole class CompiledStaticCall with #ifdef COMPILER2. But I'm happy with any placement of the code. Best regards, Goetz. -----Original Message----- From: Christian Thalinger [mailto:christian.thalinger at oracle.com] Sent: Montag, 17. Dezember 2012 21:34 To: Lindenmaier, Goetz Cc: 'hotspot-compiler-dev at openjdk.java.net' Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] On Nov 29, 2012, at 2:10 PM, "Lindenmaier, Goetz" wrote: > Hi Chris, > > Loading the constant takes 5 instructions, the other way only three, > in the code only one, if the constant pool base is in a register. > The 5 instructions are hard to patch atomically. The constant pool > is just a 64 bit store. > >> Sorry for being so persistent on this :-) > That's ok, I already found several places in our VM where it was easy to > change our code to get along without the shared changes we did in > first place. But I can't redesign everything, and I can not risk to break > anything in our product. > > If you feel like doing so, you can have a look at > http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/600ce596eea9 > which contains our bytecode interpreter profiling implementation. > If you think this is currently of use in the main branch, I would lift it to HS25 > (the permgen changes might cause trouble) and contribute it to hsx. Sorry for the long delay. Thinking about this problem again it seems that the correct solution would be to have a compiledIC_.cpp file. The CompiledIC instruction layout is platform dependent; it just happens to be the same for all architectures we have right now (well, except PPC) because we made it to be the same. Actually on SPARC we could also use a load from the constant table which would be simpler. Having a platform dependent file for this code feels right. What do you think? -- Chris > > Best regards, > Goetz. > > -----Original Message----- > From: Christian Thalinger [mailto:christian.thalinger at oracle.com] > Sent: Thursday, November 29, 2012 7:53 PM > To: Lindenmaier, Goetz > Cc: hotspot-compiler-dev at openjdk.java.net > Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] > > > On Nov 29, 2012, at 12:27 AM, "Lindenmaier, Goetz" wrote: > >> Hi Chris, >> >>> Why can't you point the relocation to the method load instruction? It doesn't seem right to do that in shared code. >> Because the relocation is used >> 1.) to find the beginning of the stub to patch the call to go there >> 2.) to find the load to patch the IC. > > Got it. > >> >> Just have a look at CompiledStaticCall::set_to_interpreted(), >> the variable 'stub' is used twice. > > Sorry for being so persistent on this :-) What is the reason you have to load the constant from the constant table? On other architectures we materialize the constant. > > -- Chris > >> >> Best regards, >> Goetz. >> >> -----Original Message----- >> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >> Sent: Donnerstag, 29. November 2012 01:35 >> To: Lindenmaier, Goetz >> Cc: hotspot-compiler-dev at openjdk.java.net >> Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >> >> >> On Nov 27, 2012, at 4:24 AM, "Lindenmaier, Goetz" wrote: >> >>> Hi Chris, >>> >>>> Why do you need all these shared code changes when you have this in emit_java_to_interp_stub? >>> Shared code (class CompiledStaticCall) wants to patch the inline cache >>> in the stub which is emitted in platform code. >>> So the platform code should specify how the shared code can find the inline cache >>> in the stub, which it does through the constant I introduced. >>> >>>> Do you need two relocations? I'm confused. >>> No, three ;) >>> The relocation you mention is used to find the stub given the call. >>> The other relocations are needed to find the inline cache / call target >>> once the stub is found (see CompiledStaticCall::set_to_interpreted()). >>> It's just the same on x86_64: >>> >>> // static stub relocation stores the instruction address of the call >>> __ relocate(static_stub_Relocation::spec(mark), RELOC_IMM64); >>> // static stub relocation also tags the methodOop in the code-stream. >>> __ movoop(rbx, (jobject) NULL); // method is zapped till fixup time >>> // This is recognized as unresolved by relocs/nativeinst/ic code >>> __ jump(RuntimeAddress(__ pc())); >>> >>> On PPC, we have to load the base of the constant table after generating the >>> static_stub_relocation and before emitting the ppc equivalent for moveoop(). This offset is >>> exactly what we store in the CompiledStaticCall::comp_to_int_load_offset constant. >> >> Why can't you point the relocation to the method load instruction? It doesn't seem right to do that in shared code. >> >> -- Chris >> >>> >>> Best regards, >>> Goetz. >>> >>> >>> >>> -----Original Message----- >>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>> Sent: Dienstag, 27. November 2012 01:53 >>> To: Lindenmaier, Goetz >>> Cc: hotspot-compiler-dev at openjdk.java.net >>> Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >>> >>> >>> On Nov 22, 2012, at 8:51 AM, "Lindenmaier, Goetz" wrote: >>> >>>> Hi Chris, >>>> >>>> We put it into the ad file because it describes an offset into the stub that is >>>> generated from the ad file by emit_java_to_interp(CodeBuffer& cbuf), >>>> used by ir node CallStaticJavaDirect. Maybe I should not call it stub, but it's >>>> generated into the stubs section of the code buffer. >>>> If that stub generator is moved out of the ad file to shared compiler code, one should >>>> move the field with it, but for the current implementation I think that's fine. >>>> >>>> Does C1 generate the same stub? Or is the CompiledStaticCall a C2 feature? >>>> If so, one could protect the whole thing by #ifdef COMPILER2. >>> >>> Why do you need all these shared code changes when you have this in emit_java_to_interp_stub? >>> >>> // Create a static stub relocation which relates this stub >>> // with the call instruction at insts_call_instruction_offset in the >>> // instructions code-section. >>> __ relocate(static_stub_Relocation::spec(__ code()->insts()->start() + insts_relocation_offset)); >>> >>> Do you need two relocations? I'm confused. >>> >>> -- Chris >>> >>>> >>>> Thanks for all the bugids! >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Mittwoch, 21. November 2012 19:53 >>>> To: Lindenmaier, Goetz >>>> Cc: hotspot-compiler-dev at openjdk.java.net >>>> Subject: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >>>> >>>> >>>> On Nov 21, 2012, at 12:15 AM, "Lindenmaier, Goetz" wrote: >>>> >>>>> Hi Chris, >>>>> >>>>> yes, there is no C1 on ppc. >>>>> We do tiered compilation with a stripped C2. >>>> >>>> Right. But some other architecture (or in the future) might need this for C1 as well. We should find a better place for the value than the ad file. The obvious place would be compiledIC_.hpp but we don't have that file, yet. >>>> >>>> I filed: >>>> >>>> 8003853: specify offset of IC load in java_to_interp stub >>>> >>>> -- Chris >>>> >>>>> >>>>> Best regards, >>>>> Goetz >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Dienstag, 20. November 2012 22:19 >>>>> To: Lindenmaier, Goetz >>>>> Cc: hotspot-compiler-dev at openjdk.java.net >>>>> Subject: Re: RFR (S): Specify offset of IC load in java_to_interp stub. >>>>> >>>>> >>>>> On Nov 20, 2012, at 3:08 AM, "Lindenmaier, Goetz" wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> The class CompiledStaticCall must know the location of the IC load in the java_to_interp stub >>>>>> to update the IC with NativeMovConstReg. The current implementation assumes that >>>>>> the load is always the first instruction in the stub. This is an artificial restriction. E.g., >>>>>> it might be useful to load the constant pool address (MachConstantBase) before the >>>>>> IC load (as we do on PPC). >>>>>> >>>>>> This change adds a constant specifying an offset from the beginning of the stub to >>>>>> the IC load. The offset is platform specific and 0 on sparc and x86. >>>>>> >>>>>> You can find the change here: >>>>>> http://cr.openjdk.java.net/~goetz/webrevs/webrev-IC_offset/ >>>>> >>>>> That should be fixed indeed. >>>>> >>>>> +#ifndef COMPILER2 >>>>> +const int CompiledStaticCall::comp_to_int_load_offset = 0; >>>>> >>>>> There is no C1 for PPC (sorry, I didn't check)? >>>>> >>>>> -- Chris >>>>> >>>>>> >>>>>> or in our ppc port: >>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/c6f9c897ea33 >>>>>> >>>>>> Thank you and best regards, >>>>>> Goetz >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > From morris.meyer at oracle.com Mon Mar 4 08:56:17 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Mon, 04 Mar 2013 16:56:17 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008327: [parfait] Unitialized variable in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m Message-ID: <20130304165623.249F647813@hg.openjdk.java.net> Changeset: 40b7c6b800ab Author: morris Date: 2013-03-01 14:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/40b7c6b800ab 8008327: [parfait] Unitialized variable in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m Summary: Fix unitialized variable and return value. Reviewed-by: kvn ! agent/src/os/bsd/MacosxDebuggerLocal.m From morris.meyer at oracle.com Mon Mar 4 12:13:24 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Mon, 04 Mar 2013 15:13:24 -0500 Subject: RFR (XS) 8008559 [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value In-Reply-To: <513133E8.5050105@oracle.com> References: <513126F6.4000407@oracle.com> <513133E8.5050105@oracle.com> Message-ID: <51350064.9000106@oracle.com> Fixed - updated in place at http://cr.openjdk.java.net/~morris/8008559 Thanks, --mm On 3/1/13 6:04 PM, Vladimir Kozlov wrote: > I agree with David that all methods in this file should have: > > #else > Unimplemented(); > return 0; > #endif > > Parfait > > Thanks, > Vladimir > > On 3/1/13 2:08 PM, Morris Meyer wrote: >> Could I get a quick review for this parfait issue? This has been >> through JPRT. >> >> Thanks much. >> >> --mm >> >> WEBREV - http://cr.openjdk.java.net/~morris/8008559 >> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008559 From vladimir.kozlov at oracle.com Mon Mar 4 13:06:20 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 04 Mar 2013 13:06:20 -0800 Subject: RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers In-Reply-To: <5130759A.70509@oracle.com> References: <512DD36E.1030702@oracle.com> <512F1164.9090805@oracle.com> <512F6B31.50908@oracle.com> <512FC20C.30407@oracle.com> <5130759A.70509@oracle.com> Message-ID: <51350CCC.9090803@oracle.com> On 3/1/13 1:32 AM, Aleksey Shipilev wrote: > Thanks! > > Here's the updated webrev: > http://cr.openjdk.java.net/~shade/8009120/webrev.02/ > > Testing: > - release/fastdebug builds on my laptop: concurrency tests are failing > with -XX:+StressLCM, as expected > - hotspot-comp JPRT is running now; I'll report on success/failure > > Comments below: > > On 03/01/2013 12:46 AM, Vladimir Kozlov wrote: >> First, about your fuzzing code. fuzz_accept() will always return 'true' >> for count == 1, after that probability of 'true' will decrease with each >> count's increment. So you will always select first candidate which is >> not random. Why you don't want a uniform distribution? Also why you want >> only one candidate to be selected (if I understand code correctly)? > > There is a confusion about the contract for this method. phase.hpp > before, and compile.cpp now has the example of how this method is used. > Both LCM and GCM are not storing the list of candidates, which we then > can magically use to choose from uniformly. > > Instead, they update the best candidate as they munch through the > candidate list, and we even don't know in advance how much candidates > there'll be. In this scheme, you need to adjust the randomicity, or else > you will end up biasing the selection towards the latter candidates. > > Quick back-envelope calculation shows that for the list of n candidates > the equal probability for the candidate to persist as "best" can be > achieved by replacing it with "next" k-th candidate with the probability > of 1/k. It can be easily shown that by the end of the run, the > probability for all candidates are converged to 1/n, thus giving the > uniform distribution among all the candidates. I see your point now. I would suggest to put this explanation (last paragraph) into randomized_select() comment. > >> Could you change "fuzzing", "fuzz" to "stressing", "stress" in flags >> names and comments. It will be in the line with other stress flags/code >> we have already. > > Although I think "fuzz" declares the intent more clearly, I changed > everything to "stress". > >> I also think fuzz_accept() could be different name, may be >> fuzz_selected(cand) or something? > > "randomized_select" it is now. Thanks. Add assert(count > 0, "only positive") into randomized_select(). > >> define flags as 'develop' (not 'notproduct') so they will be accessible >> (but not modifiable) in product code. > > Yes, cool. > >> bool fuzz_candidate = FuzzGCM && fuzz_selected(++fuzz_candidate_cnt); >> >> if (LCA_freq < least_freq || // Better Frequency >> + fuzz_candidate || >> ( !in_latency && // No block containing latency > > Nope, that defeats the purpose. I want the latency-based policy to be > disabled at all when stressing is enabled. Otherwise both LCM and GCM > will converge to lowest latency, and stressing will have the nil effect. > Hence I left it as is, with develop flag cleanup. Thank you for clarification. Could you remove spaces in the condition in lcm.cpp? We are cleaning up code style: 508 if (choice < n_choice || 509 (choice == n_choice && 510 ((StressLCM && Compile::randomized_select(cand_cnt)) || 511 (!StressLCM && 512 (latency < n_latency || 513 (latency == n_latency && 514 (score < n_score))))))) { Ask Vladimir Ivanov to be your sponsor. Thanks, Vladimir > >> Phase class is bad place for fuzz_accept() method. We usually put such >> methods into Compile class if you want to use this method in other >> places in C2. > > I was wondering where to put it. It is in the Compile now. > >> Why you need C2_PHASE_ in C2_PHASE_FUZZ_DOMAIN name? Do we have other >> FUZZ_DOMAIN? You don't need to worry about that if you move method body >> and FUZZ_DOMAIN definition into .cpp file. > > Fixed. > >> Also why not choose 2^n value so that '%' could be simple masking. > > Improved. > > -Aleksey. > From vladimir.kozlov at oracle.com Mon Mar 4 13:07:16 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 04 Mar 2013 13:07:16 -0800 Subject: RFR (XS) 8008559 [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value In-Reply-To: <51350064.9000106@oracle.com> References: <513126F6.4000407@oracle.com> <513133E8.5050105@oracle.com> <51350064.9000106@oracle.com> Message-ID: <51350D04.2040400@oracle.com> Looks good. Thanks, Vladimir On 3/4/13 12:13 PM, Morris Meyer wrote: > Fixed - updated in place at http://cr.openjdk.java.net/~morris/8008559 > > Thanks, > > --mm > > On 3/1/13 6:04 PM, Vladimir Kozlov wrote: >> I agree with David that all methods in this file should have: >> >> #else >> Unimplemented(); >> return 0; >> #endif >> >> Parfait >> >> Thanks, >> Vladimir >> >> On 3/1/13 2:08 PM, Morris Meyer wrote: >>> Could I get a quick review for this parfait issue? This has been >>> through JPRT. >>> >>> Thanks much. >>> >>> --mm >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008559 >>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008559 > From morris.meyer at oracle.com Mon Mar 4 18:22:04 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Tue, 05 Mar 2013 02:22:04 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008559: [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value Message-ID: <20130305022206.848054782A@hg.openjdk.java.net> Changeset: bf06968a8a00 Author: morris Date: 2013-03-04 13:15 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/bf06968a8a00 8008559: [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value Summary: safety checks for non-Apple thread time functions Reviewed-by: kvn ! src/os/bsd/vm/os_bsd.cpp From aleksey.shipilev at oracle.com Tue Mar 5 03:49:53 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Tue, 05 Mar 2013 15:49:53 +0400 Subject: RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers In-Reply-To: <51350CCC.9090803@oracle.com> References: <512DD36E.1030702@oracle.com> <512F1164.9090805@oracle.com> <512F6B31.50908@oracle.com> <512FC20C.30407@oracle.com> <5130759A.70509@oracle.com> <51350CCC.9090803@oracle.com> Message-ID: <5135DBE1.4050603@oracle.com> On 03/05/2013 01:06 AM, Vladimir Kozlov wrote: > Ask Vladimir Ivanov to be your sponsor. Thanks for the review! All the stylistic things are fixed here: http://cr.openjdk.java.net/~shade/8009120/webrev.03/ Testing: - java-concurrency-torture:DekkerTest fails with -XX:+StressLCM on my Linux/x86_64 laptop with hotspot-comp/fastdebug - hotspot-comp JPRT is fine -Aleksey. From morris.meyer at oracle.com Tue Mar 5 08:02:52 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Tue, 05 Mar 2013 16:02:52 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008574: [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp Message-ID: <20130305160257.4492C47848@hg.openjdk.java.net> Changeset: c40fbf634c90 Author: morris Date: 2013-03-05 04:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c40fbf634c90 8008574: [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp Summary: fix null pointer Reviewed-by: kvn ! src/share/vm/runtime/frame.cpp From roland.westrelin at oracle.com Tue Mar 5 08:43:05 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 5 Mar 2013 17:43:05 +0100 Subject: RFR(XS) 8009460: C2compiler crash in machnode::in_regmask(unsigned int) Message-ID: <163A23EC-A346-4C5F-B6F9-14E70CC92820@oracle.com> http://cr.openjdk.java.net/~roland/8009460/webrev.00/ In PhaseMacroExpand::expand_allocate_common(): 1- The Allocate -> MemBarStoreStore link is not broken if the graph has been transformed and the pattern matching that AllocateNode::storestore() uses cannot locate the MemBarStoreStore from the Allocate node. 2- fast_oop_rawmem is added as a precedence edge in one of the cases where a new MemBarStoreStore is created but it's not needed Allocate -> MemBarStoreStore link is now broken during the final reshape pass from the MemBarStoreStore nodes. Roland. From vladimir.kozlov at oracle.com Tue Mar 5 08:50:47 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 08:50:47 -0800 Subject: RFR (S): CR 8009120: Fuzz instruction scheduling in Hotspot compilers In-Reply-To: <5135DBE1.4050603@oracle.com> References: <512DD36E.1030702@oracle.com> <512F1164.9090805@oracle.com> <512F6B31.50908@oracle.com> <512FC20C.30407@oracle.com> <5130759A.70509@oracle.com> <51350CCC.9090803@oracle.com> <5135DBE1.4050603@oracle.com> Message-ID: <51362267.3020305@oracle.com> Looks good. Thanks, Vladimir On 3/5/13 3:49 AM, Aleksey Shipilev wrote: > On 03/05/2013 01:06 AM, Vladimir Kozlov wrote: >> Ask Vladimir Ivanov to be your sponsor. > > Thanks for the review! All the stylistic things are fixed here: > http://cr.openjdk.java.net/~shade/8009120/webrev.03/ > > Testing: > - java-concurrency-torture:DekkerTest fails with -XX:+StressLCM on my > Linux/x86_64 laptop with hotspot-comp/fastdebug > - hotspot-comp JPRT is fine > > -Aleksey. > From vladimir.kozlov at oracle.com Tue Mar 5 08:55:52 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 08:55:52 -0800 Subject: RFR(XS) 8009460: C2compiler crash in machnode::in_regmask(unsigned int) In-Reply-To: <163A23EC-A346-4C5F-B6F9-14E70CC92820@oracle.com> References: <163A23EC-A346-4C5F-B6F9-14E70CC92820@oracle.com> Message-ID: <51362398.1030905@oracle.com> Good. Thanks, Vladimir On 3/5/13 8:43 AM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8009460/webrev.00/ > > In PhaseMacroExpand::expand_allocate_common(): > 1- The Allocate -> MemBarStoreStore link is not broken if the graph has been transformed and the pattern matching that AllocateNode::storestore() uses cannot locate the MemBarStoreStore from the Allocate node. > 2- fast_oop_rawmem is added as a precedence edge in one of the cases where a new MemBarStoreStore is created but it's not needed > > Allocate -> MemBarStoreStore link is now broken during the final reshape pass from the MemBarStoreStore nodes. > > Roland. > From roland.westrelin at oracle.com Tue Mar 5 08:58:49 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 5 Mar 2013 17:58:49 +0100 Subject: RFR(XS) 8009460: C2compiler crash in machnode::in_regmask(unsigned int) In-Reply-To: <51362398.1030905@oracle.com> References: <163A23EC-A346-4C5F-B6F9-14E70CC92820@oracle.com> <51362398.1030905@oracle.com> Message-ID: <0EBC8EF1-BDDE-4754-9F89-283E8A5561D5@oracle.com> Thanks for the review, Vladimir. Roland. From vladimir.x.ivanov at oracle.com Tue Mar 5 11:55:31 2013 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Tue, 05 Mar 2013 19:55:31 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130305195537.3E94A4785D@hg.openjdk.java.net> Changeset: 571076d3c79d Author: shade Date: 2013-03-05 04:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/571076d3c79d 8009120: Fuzz instruction scheduling in HotSpot compilers Reviewed-by: kvn, vlivanov ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/lcm.cpp Changeset: 4f553e24b3b5 Author: vlivanov Date: 2013-03-05 08:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4f553e24b3b5 Merge From morris.meyer at oracle.com Tue Mar 5 12:37:14 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 05 Mar 2013 15:37:14 -0500 Subject: RFR(XS) 8008750 [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp Message-ID: <5136577A.9070507@oracle.com> Folks, Could I get a review for this parfait issue? This has been through JPRT. Thanks much, --mm WEBREV - http://cr.openjdk.java.net/~morris/8008750.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8008750 From vladimir.kozlov at oracle.com Tue Mar 5 12:51:50 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 12:51:50 -0800 Subject: RFR(XS) 8008750 [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp In-Reply-To: <5136577A.9070507@oracle.com> References: <5136577A.9070507@oracle.com> Message-ID: <51365AE6.2040301@oracle.com> Looks good. CC to runtime group. Vladimir On 3/5/13 12:37 PM, Morris Meyer wrote: > Folks, > > Could I get a review for this parfait issue? This has been through JPRT. > > Thanks much, > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008750.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008750 From morris.meyer at oracle.com Tue Mar 5 14:22:32 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 05 Mar 2013 17:22:32 -0500 Subject: RFR(XS) 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp Message-ID: <51367028.7050705@oracle.com> Folks, Could I get a review for this parfait issue? This has been through JPRT. Thanks much, --mm WEBREV - http://cr.openjdk.java.net/~morris/8008811.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8008811 From vladimir.kozlov at oracle.com Tue Mar 5 15:07:44 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 15:07:44 -0800 Subject: RFR(XS) 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp In-Reply-To: <51367028.7050705@oracle.com> References: <51367028.7050705@oracle.com> Message-ID: <51367AC0.1030900@oracle.com> In loopnode.hpp reverse check to != NULL so that real code will be first. In loopnode.cpp check dp != NULL because dp->as_Proj() is reference through dp. as_Proj() is cast. bolphi check should be before replace_node() call. I don't understand why you need next check: if (reg == NULL) return NULL; insert_region_before_proj() returns "reg = new (C)RegionNode(2)" so it can't be NULL. Thanks, Vladimir On 3/5/13 2:22 PM, Morris Meyer wrote: > Folks, > > Could I get a review for this parfait issue? This has been through JPRT. > > Thanks much, > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008811.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008811 From vladimir.kozlov at oracle.com Tue Mar 5 15:16:19 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 15:16:19 -0800 Subject: RFR(XS) 8008750 [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp In-Reply-To: <51367420.8060008@oracle.com> References: <5136577A.9070507@oracle.com> <51365AE6.2040301@oracle.com> <51366898.7060805@oracle.com> <51366EE2.8060101@oracle.com> <51367420.8060008@oracle.com> Message-ID: <51367CC3.7050508@oracle.com> On 3/5/13 2:39 PM, Coleen Phillimore wrote: > > Oh, I see. Can you still use assert rather then ShouldNotReachHere()? > The former will vanish in product but the latter is added in product. Yes, I think we can remove "else { ShouldNotReachHere();" in header file instanceKlass.hpp and add assert. Method set_host_klass() has the assert already, we need to add assert to set_implementor(). Also in instanceKlass.cpp, Morris, could you reverse check InstanceKlass::clean_implementors_list()? Thanks, Vladimir > > Coleen > > On 03/05/2013 05:17 PM, Vladimir Kozlov wrote: >> We want to fix cases where Parfait gives "false" positives. That is >> why we need real != NULL check, assert does not help. >> >> Vladimir >> >> On 3/5/13 1:50 PM, Coleen Phillimore wrote: >>> I can't see the parfait link in the bug. >>> >>> What does this change do but check for null in the cases where host >>> class and adr_implementers can't be null? >>> >>> In instanceKlass.hpp ShouldNotReachHere() is enabled in product so these >>> should be >>> assert(host != NULL, "not null"); >>> *adr = host; >>> >>> I don't understand the motivation for this change and would rather not >>> enable these ShouldNotReachHere() in product mode, ie use asserts >>> instead. >>> >>> Coleen >>> >>> On 03/05/2013 03:51 PM, Vladimir Kozlov wrote: >>>> Looks good. CC to runtime group. >>>> >>>> Vladimir >>>> >>>> On 3/5/13 12:37 PM, Morris Meyer wrote: >>>>> Folks, >>>>> >>>>> Could I get a review for this parfait issue? This has been through >>>>> JPRT. >>>>> >>>>> Thanks much, >>>>> >>>>> --mm >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~morris/8008750.01 >>>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008750 >>> > From vladimir.kozlov at oracle.com Tue Mar 5 16:06:11 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 16:06:11 -0800 Subject: RFR (S): 8009472: Print additional information for 8004640 failure In-Reply-To: <511C5E92.5050400@oracle.com> References: <511C5E92.5050400@oracle.com> Message-ID: <51368873.6040007@oracle.com> http://cr.openjdk.java.net/~kvn/8009472/webrev/ I was not able to reproduce 8004640 problem but it still show up in Nightly testing (on win64 Vista). Added more output during failure to help debug the problem. And cleaned code style in surrounding code. Thanks, Vladimir From morris.meyer at oracle.com Tue Mar 5 16:46:17 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 05 Mar 2013 19:46:17 -0500 Subject: RFR(XS) 8008750 [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp In-Reply-To: <51367CC3.7050508@oracle.com> References: <5136577A.9070507@oracle.com> <51365AE6.2040301@oracle.com> <51366898.7060805@oracle.com> <51366EE2.8060101@oracle.com> <51367420.8060008@oracle.com> <51367CC3.7050508@oracle.com> Message-ID: <513691D9.8000105@oracle.com> Thanks for the review Coleen and Vladimir. Here's the updated webrev. --mm WEBREV - http://cr.openjdk.java.net/~morris/8008750.02 On 3/5/13 6:16 PM, Vladimir Kozlov wrote: > On 3/5/13 2:39 PM, Coleen Phillimore wrote: >> >> Oh, I see. Can you still use assert rather then ShouldNotReachHere()? >> The former will vanish in product but the latter is added in product. > > Yes, I think we can remove "else { ShouldNotReachHere();" in header > file instanceKlass.hpp and add assert. Method set_host_klass() has the > assert already, we need to add assert to set_implementor(). > > Also in instanceKlass.cpp, Morris, could you reverse check > InstanceKlass::clean_implementors_list()? > > Thanks, > Vladimir > >> >> Coleen >> >> On 03/05/2013 05:17 PM, Vladimir Kozlov wrote: >>> We want to fix cases where Parfait gives "false" positives. That is >>> why we need real != NULL check, assert does not help. >>> >>> Vladimir >>> >>> On 3/5/13 1:50 PM, Coleen Phillimore wrote: >>>> I can't see the parfait link in the bug. >>>> >>>> What does this change do but check for null in the cases where host >>>> class and adr_implementers can't be null? >>>> >>>> In instanceKlass.hpp ShouldNotReachHere() is enabled in product so >>>> these >>>> should be >>>> assert(host != NULL, "not null"); >>>> *adr = host; >>>> >>>> I don't understand the motivation for this change and would rather not >>>> enable these ShouldNotReachHere() in product mode, ie use asserts >>>> instead. >>>> >>>> Coleen >>>> >>>> On 03/05/2013 03:51 PM, Vladimir Kozlov wrote: >>>>> Looks good. CC to runtime group. >>>>> >>>>> Vladimir >>>>> >>>>> On 3/5/13 12:37 PM, Morris Meyer wrote: >>>>>> Folks, >>>>>> >>>>>> Could I get a review for this parfait issue? This has been through >>>>>> JPRT. >>>>>> >>>>>> Thanks much, >>>>>> >>>>>> --mm >>>>>> >>>>>> WEBREV - http://cr.openjdk.java.net/~morris/8008750.01 >>>>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008750 >>>> >> From vladimir.kozlov at oracle.com Tue Mar 5 17:08:48 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 05 Mar 2013 17:08:48 -0800 Subject: RFR(XS) 8008750 [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp In-Reply-To: <513691D9.8000105@oracle.com> References: <5136577A.9070507@oracle.com> <51365AE6.2040301@oracle.com> <51366898.7060805@oracle.com> <51366EE2.8060101@oracle.com> <51367420.8060008@oracle.com> <51367CC3.7050508@oracle.com> <513691D9.8000105@oracle.com> Message-ID: <51369720.5070908@oracle.com> Looks good. Vladimir On 3/5/13 4:46 PM, Morris Meyer wrote: > Thanks for the review Coleen and Vladimir. Here's the updated webrev. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008750.02 > > On 3/5/13 6:16 PM, Vladimir Kozlov wrote: >> On 3/5/13 2:39 PM, Coleen Phillimore wrote: >>> >>> Oh, I see. Can you still use assert rather then ShouldNotReachHere()? >>> The former will vanish in product but the latter is added in product. >> >> Yes, I think we can remove "else { ShouldNotReachHere();" in header >> file instanceKlass.hpp and add assert. Method set_host_klass() has the >> assert already, we need to add assert to set_implementor(). >> >> Also in instanceKlass.cpp, Morris, could you reverse check >> InstanceKlass::clean_implementors_list()? >> >> Thanks, >> Vladimir >> >>> >>> Coleen >>> >>> On 03/05/2013 05:17 PM, Vladimir Kozlov wrote: >>>> We want to fix cases where Parfait gives "false" positives. That is >>>> why we need real != NULL check, assert does not help. >>>> >>>> Vladimir >>>> >>>> On 3/5/13 1:50 PM, Coleen Phillimore wrote: >>>>> I can't see the parfait link in the bug. >>>>> >>>>> What does this change do but check for null in the cases where host >>>>> class and adr_implementers can't be null? >>>>> >>>>> In instanceKlass.hpp ShouldNotReachHere() is enabled in product so >>>>> these >>>>> should be >>>>> assert(host != NULL, "not null"); >>>>> *adr = host; >>>>> >>>>> I don't understand the motivation for this change and would rather not >>>>> enable these ShouldNotReachHere() in product mode, ie use asserts >>>>> instead. >>>>> >>>>> Coleen >>>>> >>>>> On 03/05/2013 03:51 PM, Vladimir Kozlov wrote: >>>>>> Looks good. CC to runtime group. >>>>>> >>>>>> Vladimir >>>>>> >>>>>> On 3/5/13 12:37 PM, Morris Meyer wrote: >>>>>>> Folks, >>>>>>> >>>>>>> Could I get a review for this parfait issue? This has been through >>>>>>> JPRT. >>>>>>> >>>>>>> Thanks much, >>>>>>> >>>>>>> --mm >>>>>>> >>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/8008750.01 >>>>>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008750 >>>>> >>> > From morris.meyer at oracle.com Wed Mar 6 01:08:19 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Wed, 06 Mar 2013 09:08:19 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008750: [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp Message-ID: <20130306090821.EE54247887@hg.openjdk.java.net> Changeset: 872b3feace55 Author: morris Date: 2013-03-05 18:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/872b3feace55 8008750: [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp Summary: fix null pointer Reviewed-by: kvn, coleenp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp From roland.westrelin at oracle.com Wed Mar 6 01:48:39 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Wed, 6 Mar 2013 10:48:39 +0100 Subject: RFR (S): 8009472: Print additional information for 8004640 failure In-Reply-To: <51368873.6040007@oracle.com> References: <511C5E92.5050400@oracle.com> <51368873.6040007@oracle.com> Message-ID: <8E7626AD-8670-4FF3-949E-F1011553E325@oracle.com> It looks good to me. Roland. From david.holmes at oracle.com Wed Mar 6 02:29:31 2013 From: david.holmes at oracle.com (David Holmes) Date: Wed, 06 Mar 2013 20:29:31 +1000 Subject: RFR(XS) 8008750 [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp In-Reply-To: <513691D9.8000105@oracle.com> References: <5136577A.9070507@oracle.com> <51365AE6.2040301@oracle.com> <51366898.7060805@oracle.com> <51366EE2.8060101@oracle.com> <51367420.8060008@oracle.com> <51367CC3.7050508@oracle.com> <513691D9.8000105@oracle.com> Message-ID: <51371A8B.9000501@oracle.com> If we can _prove_ these can never be null then we should be adding these to a whitelist for parfait so that it doesn't report them. We should not have to add redundant checks to satisfy noisy tools. David On 6/03/2013 10:46 AM, Morris Meyer wrote: > Thanks for the review Coleen and Vladimir. Here's the updated webrev. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008750.02 > > On 3/5/13 6:16 PM, Vladimir Kozlov wrote: >> On 3/5/13 2:39 PM, Coleen Phillimore wrote: >>> >>> Oh, I see. Can you still use assert rather then ShouldNotReachHere()? >>> The former will vanish in product but the latter is added in product. >> >> Yes, I think we can remove "else { ShouldNotReachHere();" in header >> file instanceKlass.hpp and add assert. Method set_host_klass() has the >> assert already, we need to add assert to set_implementor(). >> >> Also in instanceKlass.cpp, Morris, could you reverse check >> InstanceKlass::clean_implementors_list()? >> >> Thanks, >> Vladimir >> >>> >>> Coleen >>> >>> On 03/05/2013 05:17 PM, Vladimir Kozlov wrote: >>>> We want to fix cases where Parfait gives "false" positives. That is >>>> why we need real != NULL check, assert does not help. >>>> >>>> Vladimir >>>> >>>> On 3/5/13 1:50 PM, Coleen Phillimore wrote: >>>>> I can't see the parfait link in the bug. >>>>> >>>>> What does this change do but check for null in the cases where host >>>>> class and adr_implementers can't be null? >>>>> >>>>> In instanceKlass.hpp ShouldNotReachHere() is enabled in product so >>>>> these >>>>> should be >>>>> assert(host != NULL, "not null"); >>>>> *adr = host; >>>>> >>>>> I don't understand the motivation for this change and would rather not >>>>> enable these ShouldNotReachHere() in product mode, ie use asserts >>>>> instead. >>>>> >>>>> Coleen >>>>> >>>>> On 03/05/2013 03:51 PM, Vladimir Kozlov wrote: >>>>>> Looks good. CC to runtime group. >>>>>> >>>>>> Vladimir >>>>>> >>>>>> On 3/5/13 12:37 PM, Morris Meyer wrote: >>>>>>> Folks, >>>>>>> >>>>>>> Could I get a review for this parfait issue? This has been through >>>>>>> JPRT. >>>>>>> >>>>>>> Thanks much, >>>>>>> >>>>>>> --mm >>>>>>> >>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/8008750.01 >>>>>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008750 >>>>> >>> > From roland.westrelin at oracle.com Wed Mar 6 05:50:59 2013 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Wed, 06 Mar 2013 13:50:59 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8009460: C2compiler crash in machnode::in_regmask(unsigned int) Message-ID: <20130306135104.A004347897@hg.openjdk.java.net> Changeset: 8651f608fea4 Author: roland Date: 2013-03-06 10:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8651f608fea4 8009460: C2compiler crash in machnode::in_regmask(unsigned int) Summary: 7121140 may not correctly break the Allocate -> MemBarStoreStore link Reviewed-by: kvn ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/macro.cpp From vladimir.kozlov at oracle.com Wed Mar 6 08:48:56 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 06 Mar 2013 08:48:56 -0800 Subject: RFR (S): 8009472: Print additional information for 8004640 failure In-Reply-To: <8E7626AD-8670-4FF3-949E-F1011553E325@oracle.com> References: <511C5E92.5050400@oracle.com> <51368873.6040007@oracle.com> <8E7626AD-8670-4FF3-949E-F1011553E325@oracle.com> Message-ID: <51377378.4000600@oracle.com> Thank you, Roland Vladimir On 3/6/13 1:48 AM, Roland Westrelin wrote: > It looks good to me. > > Roland. > From vladimir.kozlov at oracle.com Wed Mar 6 17:05:24 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Thu, 07 Mar 2013 01:05:24 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8009472: Print additional information for 8004640 failure Message-ID: <20130307010527.4CD3247D01@hg.openjdk.java.net> Changeset: ff55877839bc Author: kvn Date: 2013-03-06 12:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ff55877839bc 8009472: Print additional information for 8004640 failure Summary: dump nodes and types in 8004640 case. Reviewed-by: roland ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/memnode.cpp From pavel.punegov at oracle.com Thu Mar 7 09:10:34 2013 From: pavel.punegov at oracle.com (Pavel Punegov) Date: Thu, 07 Mar 2013 21:10:34 +0400 Subject: Question about JDK-8007993 - TraceDependencies with enabled LogCompilation makes hotspot.log invalid In-Reply-To: <2118991.3Io70dK3sj@trisuli> References: <5138AE02.7060108@oracle.com> <5138C454.4090905@oracle.com> <2118991.3Io70dK3sj@trisuli> Message-ID: <2176362.6xtpktFAcH@trisuli> Hi Vladimir, could you please or someone take a look at this [*] and evaluate the problem? We have some compiler tests which depend on hotspot.log file, and they could fail the same way as in the bug. [*] https://jbs.oracle.com/bugs/browse/JDK-8007993 Thanks, Pavel On Thursday 07 March 2013 21:02:57 Pavel Punegov wrote: > The same caused failures described in this bug. There are no synchronization > in xmlStream and hence when multiple threads are writing to TTY hotspot.log > became invalid. > > In JDK-8007993 nmethod and Dependencies classes were writing concurrently > from different threads. > > So I think these are the same issues. Please add all information you have > and maybe we should rename bug to smth like "hotspot.log writing > synchronization issues". > > On Thursday 07 March 2013 20:46:12 Filipp Zhinkin wrote: > > On 03/07/2013 07:33 PM, Pavel Punegov wrote: > > > I don't remember if I tried to run it with TraceDependencies off, but > > > issue described in bug was caused by dependency output from this option. > > > > > > How does it reproduce on your desktop and what is hotspot.log generated? > > > > Tests failing due to invalid xml hotspot.log with fastdebug hs20, hs24, > > hs25 with -Xcomp mode only. > > At the first glance issues could be caused by the lack of > > synchronization in logging mechanism, because hotspot.log contains some > > corrupted elements, like multiple threads were writing into it > > simultaneously. > > > > > On Thursday 07 March 2013 19:10:58 Filipp Zhinkin wrote: > > > > Pavel, > > > > > > > > > > > > > > > > why do you think that this issue caused by TraceDependencies? > > > > > > > > On my desktop issues could be reproduced even with TraceDependencies > > > > > > > > explicitly turned off. Or it is yet another issue? :) > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Filipp. > > > > > > Thanks, > > > > > > Pavel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130307/fe965b82/attachment.html From john.coomes at oracle.com Thu Mar 7 20:44:56 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Mar 2013 04:44:56 +0000 Subject: hg: hsx/hotspot-comp: 6 new changesets Message-ID: <20130308044456.73B2647E9F@hg.openjdk.java.net> Changeset: ab82853d3365 Author: erikj Date: 2013-02-21 14:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/ab82853d3365 8008451: Make mac builds on 10.8 work on 10.7 Reviewed-by: ohair, ddehaven ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: d3e3d5b06f45 Author: ohair Date: 2013-02-23 10:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/d3e3d5b06f45 8004712: build-infra: Move user guide from web pages to repository Summary: Just the initial work, will need more changes. Reviewed-by: tbell ! README ! README-builds.html Changeset: 2778e6576e21 Author: katleman Date: 2013-02-26 13:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/2778e6576e21 Merge Changeset: 0adf9c626bb1 Author: katleman Date: 2013-02-28 20:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/0adf9c626bb1 Merge Changeset: 907a926d3c96 Author: erikj Date: 2013-03-04 16:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/907a926d3c96 8004352: build-infra: Limit JOBS on large machines Reviewed-by: mduigou ! common/autoconf/build-performance.m4 ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/help.m4 ! common/autoconf/hotspot-spec.gmk.in ! common/autoconf/spec.gmk.in ! common/makefiles/JavaCompilation.gmk ! common/makefiles/Main.gmk Changeset: cd7f2c7e2a0e Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/cd7f2c7e2a0e Added tag jdk8-b80 for changeset 907a926d3c96 ! .hgtags From john.coomes at oracle.com Thu Mar 7 20:45:08 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Mar 2013 04:45:08 +0000 Subject: hg: hsx/hotspot-comp/jaxp: Added tag jdk8-b80 for changeset 4873a0499bc3 Message-ID: <20130308044517.71B5847EAF@hg.openjdk.java.net> Changeset: ef3495555a4c Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/ef3495555a4c Added tag jdk8-b80 for changeset 4873a0499bc3 ! .hgtags From john.coomes at oracle.com Thu Mar 7 20:45:22 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Mar 2013 04:45:22 +0000 Subject: hg: hsx/hotspot-comp/jaxws: Added tag jdk8-b80 for changeset b0224010e2f0 Message-ID: <20130308044527.CF5D147EB2@hg.openjdk.java.net> Changeset: c88bb21560cc Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxws/rev/c88bb21560cc Added tag jdk8-b80 for changeset b0224010e2f0 ! .hgtags From john.coomes at oracle.com Thu Mar 7 20:45:00 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Mar 2013 04:45:00 +0000 Subject: hg: hsx/hotspot-comp/corba: Added tag jdk8-b80 for changeset 5f3d4a6bdd02 Message-ID: <20130308044503.7FE4847EA2@hg.openjdk.java.net> Changeset: 2a00aeeb466b Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/2a00aeeb466b Added tag jdk8-b80 for changeset 5f3d4a6bdd02 ! .hgtags From john.coomes at oracle.com Thu Mar 7 20:45:40 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Mar 2013 04:45:40 +0000 Subject: hg: hsx/hotspot-comp/jdk: 8 new changesets Message-ID: <20130308044751.34B6447EB5@hg.openjdk.java.net> Changeset: 5a1ea5bbe10a Author: erikj Date: 2013-02-21 14:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5a1ea5bbe10a 8007387: "sed: RE error: illegal byte sequence" when building images on Mac Reviewed-by: tbell ! makefiles/Images.gmk Changeset: a287f6a0d46d Author: erikj Date: 2013-02-21 14:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/a287f6a0d46d 8008451: Make mac builds on 10.8 work on 10.7 Reviewed-by: ohair, ddehaven ! make/common/Defs-macosx.gmk Changeset: 5d27f8702118 Author: erikj Date: 2013-02-21 14:23 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5d27f8702118 8007903: 8005583's changes to make/install-rules.gmk need to made to jdk/make/closed/InstallWrapper.gmk Reviewed-by: tbell, ohair ! make/common/shared/Compiler-msvc.gmk ! make/common/shared/Defs-utils.gmk Changeset: f0b5b57014b3 Author: katleman Date: 2013-02-26 13:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f0b5b57014b3 Merge Changeset: 8d3dbb724859 Author: katleman Date: 2013-02-27 13:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/8d3dbb724859 Merge Changeset: b760d5d4b8d3 Author: katleman Date: 2013-02-28 19:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b760d5d4b8d3 8009196: install doesn't define $(AR) as /usr/ccs/bin/ar, results in ar: Command not found Reviewed-by: tbell ! make/common/shared/Defs-utils.gmk Changeset: dfb40f066c6c Author: katleman Date: 2013-02-28 20:30 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/dfb40f066c6c Merge Changeset: d60a95b95f01 Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d60a95b95f01 Added tag jdk8-b80 for changeset dfb40f066c6c ! .hgtags From john.coomes at oracle.com Thu Mar 7 20:53:05 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 08 Mar 2013 04:53:05 +0000 Subject: hg: hsx/hotspot-comp/langtools: Added tag jdk8-b80 for changeset a8227c617684 Message-ID: <20130308045318.1CB1647EC2@hg.openjdk.java.net> Changeset: ed69d087fdfd Author: katleman Date: 2013-03-07 11:18 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/ed69d087fdfd Added tag jdk8-b80 for changeset a8227c617684 ! .hgtags From alejandro.murillo at oracle.com Fri Mar 8 14:28:53 2013 From: alejandro.murillo at oracle.com (alejandro.murillo at oracle.com) Date: Fri, 08 Mar 2013 22:28:53 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 27 new changesets Message-ID: <20130308222951.94FF04801F@hg.openjdk.java.net> Changeset: fbda7e1dee9a Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fbda7e1dee9a Added tag jdk8-b80 for changeset 4a198b201f3c ! .hgtags Changeset: 1f9994892f89 Author: stefank Date: 2013-02-21 17:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1f9994892f89 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive Summary: SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders. Reviewed-by: coleenp, acorn Contributed-by: Stefan Karlsson , Erik Helin ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/systemDictionary.cpp Changeset: 3c9db54c2660 Author: mikael Date: 2013-02-26 08:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3c9db54c2660 8008081: Print outs do not have matching arguments Summary: Corrected formatted prints to have matching arguments, removed dead print_frame_layout function Reviewed-by: sla, dholmes ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/services/memReporter.cpp ! src/share/vm/utilities/numberSeq.cpp Changeset: 05f2fc6b4ea7 Author: dholmes Date: 2013-02-27 04:58 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/05f2fc6b4ea7 Merge Changeset: 96bd4772ec62 Author: kevinw Date: 2013-02-27 14:02 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/96bd4772ec62 8008807: SA: jstack crash when target has mismatched bitness (Linux) Reviewed-by: rbackman, sla, poonam ! agent/src/os/linux/LinuxDebuggerLocal.c Changeset: 698b615a1cde Author: kevinw Date: 2013-02-27 16:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/698b615a1cde Merge Changeset: 651919d134f7 Author: kevinw Date: 2013-02-27 22:40 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/651919d134f7 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) Reviewed-by: poonam, sla ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java Changeset: 5ee250974db9 Author: dcubed Date: 2013-02-27 15:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5ee250974db9 8007476: assert(the_owner != NULL) failed: Did not find owning Java thread for lock word address Summary: Make deadlock detection a little more robust in the case of being unable to find the JavaThread associated with an object lock. Reviewed-by: sla, acorn ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/threadService.cpp Changeset: a140cd925462 Author: dcubed Date: 2013-02-28 05:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a140cd925462 Merge Changeset: 63e54c37ac64 Author: simonis Date: 2013-02-27 09:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/63e54c37ac64 8008959: Fix non-PCH build on Linux, Windows and MacOS X Summary: Fix the build without precompiled headers by either including the missing ".inline.hpp" files into the appropriate files or by turning inline-functions declared in header files into ordinary functions in ".cpp" files. Reviewed-by: coleenp, stefank, dholmes ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.hpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/vm/decoder_windows.cpp ! src/os/windows/vm/os_windows.inline.hpp ! src/os_cpu/bsd_x86/vm/atomic_bsd_x86.inline.hpp ! src/os_cpu/bsd_x86/vm/orderAccess_bsd_x86.inline.hpp ! src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp ! src/os_cpu/linux_x86/vm/atomic_linux_x86.inline.hpp ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp ! src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp ! src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/windows_x86/vm/atomic_windows_x86.inline.hpp ! src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp Changeset: a506ac816f14 Author: coleenp Date: 2013-02-27 07:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a506ac816f14 Merge Changeset: 143973ced9ab Author: coleenp Date: 2013-02-28 18:37 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/143973ced9ab Merge Changeset: 3e83d69c19db Author: dcubed Date: 2013-03-01 15:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3e83d69c19db Merge Changeset: a252e688abcf Author: jmasa Date: 2013-02-01 17:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a252e688abcf 7189971: Implement CMSWaitDuration for non-incremental mode of CMS Reviewed-by: jmasa, johnc, ysr Contributed-by: michal at frajt.eu ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/runtime/globals.hpp Changeset: 0624b9d81255 Author: ehelin Date: 2013-03-04 13:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0624b9d81255 8004172: Update jstat counter names to reflect metaspace changes Reviewed-by: stefank, jmasa ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp Changeset: 27714220e50e Author: johnc Date: 2013-03-04 12:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/27714220e50e 8007036: G1: Too many old regions added to last mixed GC Summary: Stop adding old regions to collection set when the remaining reclaimable bytes reaches, or goes below, G1HeapWastePercent. Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: d778bb46a9a5 Author: erikj Date: 2013-03-04 22:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d778bb46a9a5 8008451: Make mac builds on 10.8 work on 10.7 Reviewed-by: jcoomes, ohair ! make/bsd/makefiles/gcc.make Changeset: c71e15057f1d Author: stefank Date: 2013-03-07 14:29 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c71e15057f1d Merge Changeset: 7369298bec7e Author: collins Date: 2013-02-27 20:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7369298bec7e 7115383: TEST_BUG: some jtreg tests fail because they explicitly specify -server option Summary: Small changes to hotspot tests to remove "-server" and replace with ${TESTVMOPTS} Reviewed-by: kvn ! test/compiler/6431242/Test.java ! test/compiler/6589834/Test_ia32.java ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java ! test/compiler/6795161/Test.java ! test/compiler/6946040/TestCharShortByteSwap.java ! test/compiler/7068051/Test7068051.sh ! test/compiler/8000805/Test8000805.java Changeset: 5cf033ff06c4 Author: bpittore Date: 2013-03-01 14:06 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5cf033ff06c4 Merge Changeset: af5ac43f06e9 Author: jprovino Date: 2013-03-07 10:46 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/af5ac43f06e9 Merge Changeset: 0b8f9c8d2617 Author: jiangli Date: 2013-03-07 10:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0b8f9c8d2617 Merge Changeset: bdb602473679 Author: morris Date: 2013-03-07 14:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/bdb602473679 Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: b5bd25d55994 Author: morris Date: 2013-03-07 18:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b5bd25d55994 Merge Changeset: dd6350b4abc4 Author: amurillo Date: 2013-03-08 08:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/dd6350b4abc4 Merge Changeset: 65b797426a3b Author: amurillo Date: 2013-03-08 08:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/65b797426a3b Added tag hs25-b22 for changeset dd6350b4abc4 ! .hgtags Changeset: 8196357e95b5 Author: amurillo Date: 2013-03-08 08:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8196357e95b5 8009688: new hotspot build - hs25-b23 Reviewed-by: jcoomes ! make/hotspot_version From roland.westrelin at oracle.com Mon Mar 11 08:51:24 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 11 Mar 2013 16:51:24 +0100 Subject: RFR(S): 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates Message-ID: <9ACBC9F0-6CBB-41FA-A44F-8CD30AA8EED6@oracle.com> http://cr.openjdk.java.net/~roland/8009761/webrev.00/ The interpreter on sparc uses Llast_SP to keep track of SP at a call in case adapters bump SP. It uses O5_savedSP/I5_savedSP to keep track of SP at a call as well, but because a call to an interpreted method may bump SP to allocate space for locals of the callee in the caller. O5_savedSP/I5_savedSP is used to restore SP of the caller from the callee in the return bytecode. Llast_SP is used from the interpreter return entry point in the caller to restore SP. Deoptimization sets O5_savedSP/I5_savedSP to account for the extra locals correctly but it sets Llast_SP to the same as SP with the extra locals. If A() inlines B() and deoptimization happens in B(), A and B's frames will be set up by the deoptimization code so that when B() returns: SP is restored to I5_savedSP (without the extra locals) and then when the thread is back in A(), SP is set to Llast_SP, with the extra locals, undoing what the return in B() just did. Roland. From vladimir.kozlov at oracle.com Mon Mar 11 12:34:07 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 11 Mar 2013 12:34:07 -0700 Subject: RFR(S): 8008211 : Some of WB tests on compiler fails In-Reply-To: <5124F3E8.8010908@oracle.com> References: <5123B85D.6030607@oracle.com> <5123C92E.2000808@oracle.com> <5123DCC1.1050709@oracle.com> <5123E377.4000905@oracle.com> <5124F3E8.8010908@oracle.com> Message-ID: <513E31AF.4060902@oracle.com> I thought I replied to this. > You didn't comment my previous letter. Probably it got lost in a pile of letters. > Could you please comment it? > > short version of letter: > 1. moving WHITE_BOX.setDontInlineMethod(METHOD, true) helps I agree with this. > 2. value of 'CompileThreshold' are used as for-loop's limit in > CompilerWhiteBoxTest and it's insufficient for compilation in tiered. > And I could not find a way to get tiered threshold to WB, since we have > only predicate to test + 'Tier0InvokeNotifyFreqLog' determines how often > predicate will be checked. > So I must to use the knowledge of current tiered threshold implementation. You can simple do "count = max(COMPILE_THRESHOLD, 100000) + 10000". Note, you need more then 10000. I am strongly against putting any VM knowledge into tests. Vladimir On 2/20/13 8:03 AM, Igor Ignatyev wrote: > On 02/20/2013 12:41 AM, Vladimir Kozlov wrote: >> On 2/19/13 12:12 PM, Igor Ignatyev wrote: >>> There are two different reasons for this failure: >>> >>> 1. with '-Xcomp': >>> CompilerWhiteBoxTest#method() is inlined into #compile() on first >>> invocation of #test(). so 'WHITE_BOX.setDontInlineMethod(METHOD, true)' >>> does nothing; #method() isn't compiled; >> >> You need to make method() more complex to avoid it. Currently it is >> treated as an "accessor" method and it is inlinined unconditionally. For >> example, pass argument and return increment (x+42). >> I don't see how moving WHITE_BOX.setDontInlineMethod() helps. > > moving WHITE_BOX.setDontInlineMethod(METHOD, true) helps because it > disallow inlining of METHOD. > > cutting of PrintInlining/PrintCompilation output before moving: > > 3716 615 b 3 DeoptimizeAllTest::test (35 bytes) > @ 7 > sun.hotspot.WhiteBox::setDontInlineMethod (0 bytes) native method > @ 12 CompilerWhiteBoxTest::compile (26 > bytes) > @ 13 CompilerWhiteBoxTest::method (3 > bytes) > @ 19 CompilerWhiteBoxTest::checkCompiled > (122 bytes) callee is too large > @ 25 sun.hotspot.WhiteBox::deoptimizeAll > (0 bytes) native method > @ 31 > CompilerWhiteBoxTest::checkNotCompiled (75 bytes) callee is too large > > and after moving: > 3983 616 b 3 DeoptimizeAllTest::test (24 bytes) > @ 1 CompilerWhiteBoxTest::compile (26 > bytes) > @ 13 CompilerWhiteBoxTest::method (3 > bytes) don't inline by annotation > @ 8 CompilerWhiteBoxTest::checkCompiled > (122 bytes) callee is too large > @ 14 sun.hotspot.WhiteBox::deoptimizeAll > (0 bytes) native method > >>> 2. with '-XX:+TieredCompilation' and certain relation between >>> 'CompileThreshold' and 'Tier*' values (e.g. -XX:CompileThreshold=100 and >>> default Tier* values): >>> since 'CompileThreshold' doesn't use in Tiered as threshold, but uses in >>> tests we have situation in which CompilerWhiteBoxTest#compile() invokes >>> #method() insufficient time for compilation; >> >> >> With Tiered the default threshold for first tier (C1) is 100. Yes, for >> C2 it is >10000 and depends on other staff. But COMPILE_THRESHOLD=10000 >> should be enough for tier one compilation. So I don't understand what do >> you mean by "invokes insufficient time for compilation". > > in current version of tests value of 'CompileThreshold' is used as limit > in for-loop. In nightly it equals '100' and it isn't enough even for > tier one, cuz with default values of Tier* flags we need to invoke > method 256 times. > in attachment program that illustrates it: > > $ java -XX:+PrintCompilation -XX:+TieredCompilation > -XX:CompileThreshold=100 -XX:+PrintTieredEvents CompileThresholdTest 100 > | grep CompileThresholdTest > > $ java -XX:+PrintCompilation -XX:+TieredCompilation > -XX:CompileThreshold=100 -XX:+PrintTieredEvents CompileThresholdTest 256 > | grep CompileThresholdTest > 0.049705: [call level: 0 [CompileThresholdTest.m1()I] @-1 queues: 0,0 > rate: n/a k: 1.00,1.00 total: 128,0 mdo: 0(0),0(0) max levels: 0,0 > compilable: c1, c2, osr status: idle] > 0.049785: [call level: 0 [CompileThresholdTest.m1()I] @-1 queues: 0,0 > rate: n/a k: 1.00,1.00 total: 256,0 mdo: 0(0),0(0) max levels: 0,0 > compilable: c1, c2, osr status: idle] > 0.049812: [compile level: 3 [CompileThresholdTest.m1()I] @-1 queues: 0,0 > rate: n/a k: 1.00,1.00] > 49 8 3 CompileThresholdTest::m1 (3 bytes) > > >> And I really don't like next code: >> >> ! int count = getCompileThreshold(); >> ! int i = 0; >> ! do { >> ! for (; i < count; ++i) { >> result += method(); >> } >> + count = getCompileThreshold(); >> + } while (i < count); >> >> You are using in getCompileThreshold() the knowledge of current tiered >> threashold implementation. But it could be changed in a future. >> > > I would like to pull out getting of tiered threshold to WB, but I could > not find a way to do this, since we have only predicate to test + > 'Tier0InvokeNotifyFreqLog' determines how often predicate will be checked. > >> Vladimir >>> >>> Best regards, >>> Igor Ignatyev >>> >>> On 02/19/2013 10:49 PM, Vladimir Kozlov wrote: >>>> Igor, >>>> >>>> Can you give mode details about the failure? >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 2/19/13 9:37 AM, Igor Ignatyev wrote: >>>>> Hi all, >>>>> >>>>> Please review the patch. >>>>> >>>>> 1. calls of WB.setDontInlineMethod() were moved into main() >>>>> 2. added estimation of threshold for tiered compilation >>>>> >>>>> webrev: http://cr.openjdk.java.net/~iignatyev/8008211/webrev.00/ From vladimir.kozlov at oracle.com Mon Mar 11 17:46:32 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 11 Mar 2013 17:46:32 -0700 Subject: RFR(S): 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates In-Reply-To: <9ACBC9F0-6CBB-41FA-A44F-8CD30AA8EED6@oracle.com> References: <9ACBC9F0-6CBB-41FA-A44F-8CD30AA8EED6@oracle.com> Message-ID: <513E7AE8.3030903@oracle.com> Roland, You did not rename layout_activation's parameter in few cppInterpreter files. Otherwise good. Vladimir On 3/11/13 8:51 AM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8009761/webrev.00/ > > The interpreter on sparc uses Llast_SP to keep track of SP at a call in case adapters bump SP. It uses O5_savedSP/I5_savedSP to keep track of SP at a call as well, but because a call to an interpreted method may bump SP to allocate space for locals of the callee in the caller. O5_savedSP/I5_savedSP is used to restore SP of the caller from the callee in the return bytecode. Llast_SP is used from the interpreter return entry point in the caller to restore SP. > Deoptimization sets O5_savedSP/I5_savedSP to account for the extra locals correctly but it sets Llast_SP to the same as SP with the extra locals. > If A() inlines B() and deoptimization happens in B(), A and B's frames will be set up by the deoptimization code so that when B() returns: SP is restored to I5_savedSP (without the extra locals) and then when the thread is back in A(), SP is set to Llast_SP, with the extra locals, undoing what the return in B() just did. > > Roland. > From roland.westrelin at oracle.com Tue Mar 12 01:25:41 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 12 Mar 2013 09:25:41 +0100 Subject: RFR(S): 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates In-Reply-To: <513E7AE8.3030903@oracle.com> References: <9ACBC9F0-6CBB-41FA-A44F-8CD30AA8EED6@oracle.com> <513E7AE8.3030903@oracle.com> Message-ID: <11CB47E1-5918-42DB-8232-D1CD4ADE5109@oracle.com> > You did not rename layout_activation's parameter in few cppInterpreter files. Otherwise good. Thanks for the review, Vladimir. I'll change the parameter's name in the cppInterpreter files. Roland. From roland.westrelin at oracle.com Tue Mar 12 02:26:50 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 12 Mar 2013 10:26:50 +0100 Subject: RFR(S): 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates In-Reply-To: <513E7AE8.3030903@oracle.com> References: <9ACBC9F0-6CBB-41FA-A44F-8CD30AA8EED6@oracle.com> <513E7AE8.3030903@oracle.com> Message-ID: > You did not rename layout_activation's parameter in few cppInterpreter files. Otherwise good. Given is_top_frame is used in the cppInterpreter files, rather than rename it I had to add an extra parameter: http://cr.openjdk.java.net/~roland/8009761/webrev.01/ Roland. From niclas.adlertz at oracle.com Tue Mar 12 05:51:05 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Tue, 12 Mar 2013 13:51:05 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List Message-ID: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> Hi all. Problem: The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. Solution: Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. A review would be much appreciated. Thank you. Regards, Niclas Adlertz --------------------- WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ BUG: https://jbs.oracle.com/bugs/browse/JDK-8009721, http://bugs.sun.com/view_bug.do?bug_id=8009721 From roland.westrelin at oracle.com Tue Mar 12 06:00:34 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 12 Mar 2013 14:00:34 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List In-Reply-To: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> References: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> Message-ID: <49F52A72-98D3-4EEE-8469-54742B472DE3@oracle.com> > WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ That looks good to me. Roland. From rickard.backman at oracle.com Tue Mar 12 06:11:14 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Tue, 12 Mar 2013 14:11:14 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List In-Reply-To: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> References: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> Message-ID: <7C2A0707-215B-45FE-92C8-7A6C74A936B8@oracle.com> Looks good to me. /R On Mar 12, 2013, at 1:51 PM, Niclas Adlertz wrote: > Hi all. > > Problem: > The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. > > Solution: > Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8009721, http://bugs.sun.com/view_bug.do?bug_id=8009721 From nils.eliasson at oracle.com Tue Mar 12 07:48:16 2013 From: nils.eliasson at oracle.com (Nils Eliasson) Date: Tue, 12 Mar 2013 15:48:16 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List In-Reply-To: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> References: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> Message-ID: <513F4030.8010104@oracle.com> I will sponsor Niclas contribution. //Nils E. On 2013-03-12 13:51, Niclas Adlertz wrote: > Hi all. > > Problem: > The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. > > Solution: > Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8009721, http://bugs.sun.com/view_bug.do?bug_id=8009721 From roland.westrelin at oracle.com Tue Mar 12 09:56:50 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 12 Mar 2013 17:56:50 +0100 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> Message-ID: Same change but rather than allocate temporary strings in the heap, they are allocated in the resource area and built with stringStream: http://cr.openjdk.java.net/~roland/8008555/webrev.02/ Roland. From vladimir.kozlov at oracle.com Tue Mar 12 11:37:23 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 12 Mar 2013 11:37:23 -0700 Subject: RFR(S): 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates In-Reply-To: References: <9ACBC9F0-6CBB-41FA-A44F-8CD30AA8EED6@oracle.com> <513E7AE8.3030903@oracle.com> Message-ID: <513F75E3.10007@oracle.com> Good. Thanks, Vladimir On 3/12/13 2:26 AM, Roland Westrelin wrote: >> You did not rename layout_activation's parameter in few cppInterpreter files. Otherwise good. > > Given is_top_frame is used in the cppInterpreter files, rather than rename it I had to add an extra parameter: > > http://cr.openjdk.java.net/~roland/8009761/webrev.01/ > > Roland. > From vladimir.kozlov at oracle.com Tue Mar 12 11:39:51 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 12 Mar 2013 11:39:51 -0700 Subject: RFR(S) 8009721: Move the definition of class LRG_List In-Reply-To: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> References: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> Message-ID: <513F7677.5090409@oracle.com> Good. Vladimir On 3/12/13 5:51 AM, Niclas Adlertz wrote: > Hi all. > > Problem: > The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. > > Solution: > Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8009721, http://bugs.sun.com/view_bug.do?bug_id=8009721 > From vladimir.kozlov at oracle.com Tue Mar 12 12:00:58 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 12 Mar 2013 12:00:58 -0700 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> Message-ID: <513F7B6A.6070602@oracle.com> Looks good. Please, test with parfait since code_string() may return NULL in some cases. thanks, Vladimir On 3/12/13 9:56 AM, Roland Westrelin wrote: > Same change but rather than allocate temporary strings in the heap, they are allocated in the resource area and built with stringStream: > > http://cr.openjdk.java.net/~roland/8008555/webrev.02/ > > Roland. > From roland.westrelin at oracle.com Wed Mar 13 05:31:44 2013 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Wed, 13 Mar 2013 12:31:44 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates Message-ID: <20130313123151.0E39B480E8@hg.openjdk.java.net> Changeset: 0094485b46c7 Author: roland Date: 2013-03-13 09:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0094485b46c7 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates Summary: deoptimization doesn't set up callee frames so that they restore caller frames correctly. Reviewed-by: kvn ! src/cpu/sparc/vm/cppInterpreter_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/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp + test/compiler/8009761/Test8009761.java From roland.westrelin at oracle.com Wed Mar 13 06:36:05 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Wed, 13 Mar 2013 14:36:05 +0100 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack Message-ID: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> nmethod::preserve_callee_argument_oops() doesn't take the invokedynamic/invokehandle appendix argument into account and actually has some leftover from the previous JSR292 implementation. http://cr.openjdk.java.net/~roland/8009981/webrev.00/ Roland. From niclas.adlertz at oracle.com Wed Mar 13 07:10:46 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Wed, 13 Mar 2013 15:10:46 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List In-Reply-To: <513F7677.5090409@oracle.com> References: <8BF10E3C-6E0A-4227-A3AA-B3D59FB1C3A2@oracle.com> <513F7677.5090409@oracle.com> Message-ID: <73329410-DE7B-4A12-A6FD-4BBC182227DE@oracle.com> Thank you Roland, Rickard, Nils and Vladimir. Regards, Niclas Adlertz On 12 mar 2013, at 19:39, Vladimir Kozlov wrote: > Good. > > Vladimir > > On 3/12/13 5:51 AM, Niclas Adlertz wrote: >> Hi all. >> >> Problem: >> The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. >> >> Solution: >> Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. >> >> A review would be much appreciated. >> Thank you. >> >> Regards, >> Niclas Adlertz >> >> --------------------- >> >> WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ >> BUG: https://jbs.oracle.com/bugs/browse/JDK-8009721, http://bugs.sun.com/view_bug.do?bug_id=8009721 >> From roland.westrelin at oracle.com Wed Mar 13 08:21:42 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Wed, 13 Mar 2013 16:21:42 +0100 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: <513F7B6A.6070602@oracle.com> References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> <513F7B6A.6070602@oracle.com> Message-ID: <3359B14D-1077-4905-AA80-49B7FAEFE98B@oracle.com> > Looks good. Thanks Vladimir. > Please, test with parfait since code_string() may return NULL in some cases. I ran parfait but it doesn't complain about anything in the new code. Roland. From vladimir.kozlov at oracle.com Wed Mar 13 08:23:05 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 13 Mar 2013 08:23:05 -0700 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: <3359B14D-1077-4905-AA80-49B7FAEFE98B@oracle.com> References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> <513F7B6A.6070602@oracle.com> <3359B14D-1077-4905-AA80-49B7FAEFE98B@oracle.com> Message-ID: <514099D9.7090102@oracle.com> Good. Thanks, Vladimir On 3/13/13 8:21 AM, Roland Westrelin wrote: >> Looks good. > > Thanks Vladimir. > >> Please, test with parfait since code_string() may return NULL in some cases. > > I ran parfait but it doesn't complain about anything in the new code. > > Roland. > From nils.eliasson at oracle.com Wed Mar 13 08:52:25 2013 From: nils.eliasson at oracle.com (nils.eliasson at oracle.com) Date: Wed, 13 Mar 2013 15:52:25 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130313155237.28D07480EA@hg.openjdk.java.net> Changeset: 056ab43544a4 Author: neliasso Date: 2013-03-13 10:56 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/056ab43544a4 8009721: Make PhaseLive independent from regalloc Summary: Moved class definition of LRG_List from chaitin.hpp to live.hpp Reviewed-by: kvn, rbackman, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/live.hpp Changeset: 6d98efabf3ba Author: neliasso Date: 2013-03-13 13:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6d98efabf3ba Merge From roland.westrelin at oracle.com Wed Mar 13 10:03:46 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Wed, 13 Mar 2013 18:03:46 +0100 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <6CF4E280-0B7C-4970-AD97-D43BDFF65DA3@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> <51268BA9.9060501@oracle.com> <5126B94B.6070702@oracle.com> <58EB137E-ED31-46C4-B199-F0AB43C38037@oracle.com> <512E6810.4030607@oracle.com> <6CF4E280-0B7C-4970-AD97-D43BDFF65DA3@oracle.com> Message-ID: <724F7172-32BB-408C-8A99-B8F5FFA54C96@oracle.com> >> In LIR_Assembler::emit_assert() you do "delete[] op->msg();". Is it safe? is it possible that op->msg() could be accessed after the call to emit_assert()? In C2 we emit instructions 2 times: one to get size and second is final emit. Also is it possible that op->msg() == NULL? > > With c1 there's a single pass for code generation (no sizing pass) so I think the code is ok as it is except it's ugly. Thinking about this a bit more I should resource allocate the strings, this way I wouldn't have to worry about freeing them. I guess it would be true for "8008555: Debugging code in compiled method sometimes leaks memory" as well. What do you think? New webrev with the Assert strings allocate in the resource area so there's no need to worry about freeing them: http://cr.openjdk.java.net/~roland/7153771/webrev.03/ Roland. From vladimir.kozlov at oracle.com Wed Mar 13 10:26:18 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 13 Mar 2013 10:26:18 -0700 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> Message-ID: <5140B6BA.1020700@oracle.com> Looks reasonable to me but I would ask 292 experts for additional review. Vladimir On 3/13/13 6:36 AM, Roland Westrelin wrote: > nmethod::preserve_callee_argument_oops() doesn't take the invokedynamic/invokehandle appendix argument into account and actually has some leftover from the previous JSR292 implementation. > > http://cr.openjdk.java.net/~roland/8009981/webrev.00/ > > Roland. > From christian.thalinger at oracle.com Wed Mar 13 10:40:21 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 13 Mar 2013 10:40:21 -0700 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> Message-ID: On Mar 13, 2013, at 6:36 AM, Roland Westrelin wrote: > nmethod::preserve_callee_argument_oops() doesn't take the invokedynamic/invokehandle appendix argument into account and actually has some leftover from the previous JSR292 implementation. > > http://cr.openjdk.java.net/~roland/8009981/webrev.00/ src/share/vm/runtime/deoptimization.cpp: I'm confused by that code. Does Bytecode_invoke invoke represent the instruction at cur_code? If so you could replace: if (cur_code != Bytecodes::_invokestatic && cur_code != Bytecodes::_invokedynamic) { by: if (invoke.has_receiver()) { src/share/vm/runtime/frame.cpp: void oops_do() { if (_has_receiver) { handle_oop_offset(); _offset++; } iterate_parameters(); + if (_has_appendix) { + handle_oop_offset(); + } } Shouldn't there be an _offset++ after the appendix too? Otherwise this looks good. Thanks for spotting the left-over code. -- Chris > > Roland. From vladimir.kozlov at oracle.com Wed Mar 13 11:39:25 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 13 Mar 2013 11:39:25 -0700 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <724F7172-32BB-408C-8A99-B8F5FFA54C96@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> <51268BA9.9060501@oracle.com> <5126B94B.6070702@oracle.com> <58EB137E-ED31-46C4-B199-F0AB43C38037@oracle.com> <512E6810.4030607@oracle.com> <6CF4E280-0B7C-4970-AD97-D43BDFF65DA3@oracle.com> <724F7172-32BB-408C-8A99-B8F5FFA54C96@oracle.com> Message-ID: <5140C7DD.5070807@oracle.com> Looks good to me. Vladimir On 3/13/13 10:03 AM, Roland Westrelin wrote: >>> In LIR_Assembler::emit_assert() you do "delete[] op->msg();". Is it safe? is it possible that op->msg() could be accessed after the call to emit_assert()? In C2 we emit instructions 2 times: one to get size and second is final emit. Also is it possible that op->msg() == NULL? >> >> With c1 there's a single pass for code generation (no sizing pass) so I think the code is ok as it is except it's ugly. Thinking about this a bit more I should resource allocate the strings, this way I wouldn't have to worry about freeing them. I guess it would be true for "8008555: Debugging code in compiled method sometimes leaks memory" as well. What do you think? > > New webrev with the Assert strings allocate in the resource area so there's no need to worry about freeing them: > > http://cr.openjdk.java.net/~roland/7153771/webrev.03/ > > Roland. > From christian.thalinger at oracle.com Wed Mar 13 12:15:55 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 13 Mar 2013 12:15:55 -0700 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> Message-ID: <25A1F8A4-2AC1-418D-A633-CE4B670CF336@oracle.com> On Mar 12, 2013, at 9:56 AM, Roland Westrelin wrote: > Same change but rather than allocate temporary strings in the heap, they are allocated in the resource area and built with stringStream: > > http://cr.openjdk.java.net/~roland/8008555/webrev.02/ For every use of code_string you basically have this code pattern: + const char* str = code_string(ss.as_string()); + assert(str != NULL, "no string?"); Perhaps we should assert for null in code_string itself? -- Chris > > Roland. > From christian.thalinger at oracle.com Wed Mar 13 14:20:59 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 13 Mar 2013 14:20:59 -0700 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> Message-ID: <8523BDE2-60E8-4EAD-93C8-D0685F31790F@oracle.com> On Feb 20, 2013, at 8:51 AM, Roland Westrelin wrote: > Here is a new version of the webrev that addresses Tom's comments. > > http://cr.openjdk.java.net/~roland/7153771/webrev.01/ src/share/vm/c1/c1_Compilation.hpp: + bool is_optimistic() const { + return !TieredCompilation && Do you know why optimistic RCE doesn't work with tiered? src/share/vm/c1/c1_Instruction.cpp: + case aeq: assert(false, "Above equal cannot be negated"); + case beq: assert(false, "Below equal cannot be negated"); They can be negated but I guess we don't need it? src/share/vm/c1/c1_InstructionPrinter.cpp: + case If::aeq: return "aeq"; + case If::beq: return "beq"; Graal uses this notation for unsigned compares: AE("|>=|"), BE("|<=|"), Can we use these too for the sake of limited human parsing abilities? src/share/vm/c1/c1_IR.cpp: + virtual void block_do(BlockBegin *block) { + + Instruction *cur = block; + while (cur) { + assert(cur->block() == block, "Block begin is not correct"); + cur = cur->next(); + } + } Just a nit but a for loop would be nicer here. src/share/vm/oops/methodData.cpp: int MethodData::bytecode_cell_count(Bytecodes::Code code) { +#if defined(COMPILER1) && !defined(COMPILER2) + return no_profile_data; +#endif switch (code) { Aren't some compilers warning about unreached code? src/share/vm/c1/c1_RangeCheckElimination.cpp: Could we factor some code in RangeCheckEliminator::insert_deoptimization? E.g. 697 Constant *constant = new Constant(new IntConstant(upper)); 698 NOT_PRODUCT(constant->set_printable_bci(ai->printable_bci())); 699 insert_position = insert_position->insert_after(constant); 700 ArithmeticOp *ao = new ArithmeticOp(Bytecodes::_iadd, constant, upper_instr, false, NULL); 701 insert_position = insert_position->insert_after_same_bci(ao); 702 // Compare for geq array.length 703 RangeCheckPredicate *deoptimize = new RangeCheckPredicate(ao, Instruction::geq, true, length_instr, state->copy()); 704 NOT_PRODUCT(deoptimize->set_printable_bci(ai->printable_bci())); 705 insert_position = insert_position->insert_after_same_bci(deoptimize); And perhaps some other code. RangeCheckEliminator::process_access_indexed: 824 TRACE_RANGE_CHECK_ELIMINATION( 825 tty->fill_to(block->dominator_depth()*2); 826 tty->print_cr("Lower instruction %d not loop invariant!", lower_instr->id())); The indenting is wrong here and very hard to read. Can we change all occurrences to: 824 TRACE_RANGE_CHECK_ELIMINATION( 825 tty->fill_to(block->dominator_depth()*2); 826 tty->print_cr("Lower instruction %d not loop invariant!", lower_instr->id()); ); It's difficult to verify that the RCE in fact works. We have to rely on testing. -- Chris > >> Should this reuse C2 flags like RangeCheckElimination instead of introducing it's own? > > I only reused RangeCheckElimination. I wasn't sure which others it made sense to re-use. > > Roland. > From nils.eliasson at oracle.com Thu Mar 14 05:57:26 2013 From: nils.eliasson at oracle.com (nils.eliasson at oracle.com) Date: Thu, 14 Mar 2013 12:57:26 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8005772: Stubs report compile id -1 in phase events Message-ID: <20130314125731.4C46B48132@hg.openjdk.java.net> Changeset: b7c2c5b2572c Author: neliasso Date: 2013-02-13 10:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b7c2c5b2572c 8005772: Stubs report compile id -1 in phase events Summary: Use 0 to indicate id is NA, -1 for error or uninitalized Reviewed-by: kvn, twisti ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/compile.cpp From morris.meyer at oracle.com Thu Mar 14 07:36:54 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 14 Mar 2013 10:36:54 -0400 Subject: RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp In-Reply-To: <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> References: <5124F716.40006@oracle.com> <51251704.7070502@Oracle.COM> <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> Message-ID: <5141E086.1010005@oracle.com> Folks, Thanks for the review. Here is the updated webrev which uses guarantee() to ensure this problem is caught early, and has updated variable names per Vladimir's comments. --morris WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 On 3/14/13 1:11 AM, Cristina Cifuentes wrote: > Hi Peter, Morris, > > It seems that making the bug report more specific may help (so as not to think the bug is a false positive)? > > Regards, > Cristina > > > > On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote: > >> Not an official review, because I forget if I'm still an official reviewer. >> >> In what sense is this a "false positive"? (Cc'ing Cristina for the Parfait definition of a false positive, because I don't know who the right Parfait contact is.) The result of map->location() *should not* be null, but if it is, it's better to fail the assert than to segfault, in that it will be easier to track down the error wherever these functions get inlined. >> >> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who discovers, after this method returns, that the store *did not* happen? That is, is there a better way of making the announcement of the failure closer to the point of failure? Maybe the answer is that the assert() should be a guarantee()? >> >> ... peter >> >> Morris Meyer wrote: >>> Folks, >>> Could I get a review of this small Parfait false positive? This has been through JPRT per the JPG workflow. >>> Thanks much. >>> --mm >>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328 >>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328 From morris.meyer at oracle.com Thu Mar 14 08:14:23 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 14 Mar 2013 11:14:23 -0400 Subject: RFR(XS) 8009022 [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp Message-ID: <5141E94F.7040000@oracle.com> Folks, Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. Thanks in advance, --morris meyer WEBREV - http://cr.openjdk.java.net/~morris/8009022.01 JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009022 From morris.meyer at oracle.com Thu Mar 14 08:18:49 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 14 Mar 2013 11:18:49 -0400 Subject: RFR (XS) 8009026 [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp Message-ID: <5141EA59.2010202@oracle.com> Folks, Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. Thanks in advance, --morris meyer WEBREV - http://cr.openjdk.java.net/~morris/8009026.01 JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009026 From morris.meyer at oracle.com Thu Mar 14 08:32:16 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 14 Mar 2013 11:32:16 -0400 Subject: RFR(XS) 8009156 [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp Message-ID: <5141ED80.7050903@oracle.com> Folks, Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. Thanks in advance, --morris meyer WEBREV - http://cr.openjdk.java.net/~morris/8009156.01 JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009156 From morris.meyer at oracle.com Thu Mar 14 08:49:41 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 14 Mar 2013 11:49:41 -0400 Subject: RFR(XXS) 8009166 [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp Message-ID: <5141F195.7060808@oracle.com> Folks, Could I get a quick review for this small fix for a parfait null pointer issue? This has been through JPRT. Thanks in advance, --morris meyer WEBREV - http://cr.openjdk.java.net/~morris/8009166.01 JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009166 From morris.meyer at oracle.com Thu Mar 14 09:00:23 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 14 Mar 2013 12:00:23 -0400 Subject: RFR (XXS) 8009172 [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp Message-ID: <5141F417.6070705@oracle.com> Folks, Thanks for your patience with these parfait reviews. Could I get a quick review for this small fix for a parfait null pointer issue? This has been through JPRT. Thanks in advance, --morris meyer WEBREV - http://cr.openjdk.java.net/~morris/8009172.01 JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009172 From vladimir.kozlov at oracle.com Thu Mar 14 10:15:02 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 14 Mar 2013 10:15:02 -0700 Subject: RFR (XS) 8009026 [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp In-Reply-To: <5141EA59.2010202@oracle.com> References: <5141EA59.2010202@oracle.com> Message-ID: <51420596.7040101@oracle.com> This is incorrect. You can't use guarantee() in CodeCache::allocate() because it is also used for adapters allocation. Can you put guarantee() into nmethod::operator new()?: void* nmethod::operator new(size_t size, int nmethod_size) { void* alloc = CodeCache::allocate(nmethod_size); guarantee(alloc != NULL, "CodeCache should have enough space"); return alloc; } And add checks around "new(size) nmethod()" calls (3 cases) in nmethod.cpp: if (CodeCache::largest_free_block() > (CodeCacheMinimumFreeSpace + size)) { Vladimir On 3/14/13 8:18 AM, Morris Meyer wrote: > Folks, > > Could I get a quick review for these fixes for parfait null pointer > issues? This has been through JPRT. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/8009026.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009026 > From christian.thalinger at oracle.com Thu Mar 14 12:10:30 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 14 Mar 2013 12:10:30 -0700 Subject: RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp In-Reply-To: <5141E086.1010005@oracle.com> References: <5124F716.40006@oracle.com> <51251704.7070502@Oracle.COM> <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> <5141E086.1010005@oracle.com> Message-ID: <5518C0EC-2EA8-4F5A-BF78-10716208CBCC@oracle.com> On Mar 14, 2013, at 7:36 AM, Morris Meyer wrote: > Folks, > > Thanks for the review. Here is the updated webrev which uses guarantee() to ensure this problem is caught early, and has updated variable names per Vladimir's comments. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 I guess we need the: + return (result_adr != NULL ? *result_adr : (oop)NULL); because Parfait doesn't know that guarantee enforces result_adr to be non-null? -- Chris > > On 3/14/13 1:11 AM, Cristina Cifuentes wrote: >> Hi Peter, Morris, >> >> It seems that making the bug report more specific may help (so as not to think the bug is a false positive)? >> >> Regards, >> Cristina >> >> >> >> On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote: >> >>> Not an official review, because I forget if I'm still an official reviewer. >>> >>> In what sense is this a "false positive"? (Cc'ing Cristina for the Parfait definition of a false positive, because I don't know who the right Parfait contact is.) The result of map->location() *should not* be null, but if it is, it's better to fail the assert than to segfault, in that it will be easier to track down the error wherever these functions get inlined. >>> >>> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who discovers, after this method returns, that the store *did not* happen? That is, is there a better way of making the announcement of the failure closer to the point of failure? Maybe the answer is that the assert() should be a guarantee()? >>> >>> ... peter >>> >>> Morris Meyer wrote: >>>> Folks, >>>> Could I get a review of this small Parfait false positive? This has been through JPRT per the JPG workflow. >>>> Thanks much. >>>> --mm >>>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328 >>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328 > From christian.thalinger at oracle.com Thu Mar 14 14:02:38 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 14 Mar 2013 14:02:38 -0700 Subject: RFR(XS) 8009022 [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp In-Reply-To: <5141E94F.7040000@oracle.com> References: <5141E94F.7040000@oracle.com> Message-ID: Could you replace ShouldNotReachHere() with fatal() and a useful error message? -- Chris On Mar 14, 2013, at 8:14 AM, Morris Meyer wrote: > Folks, > > Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/8009022.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009022 > From christian.thalinger at oracle.com Thu Mar 14 14:04:11 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 14 Mar 2013 14:04:11 -0700 Subject: RFR(XS) 8009156 [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp In-Reply-To: <5141ED80.7050903@oracle.com> References: <5141ED80.7050903@oracle.com> Message-ID: <6B231078-C4A2-4F99-B2B0-E18854B78DEC@oracle.com> Maybe instead of: + assert(gen != NULL, "No generation for memory pool"); + if (gen == NULL) { + ShouldNotReachHere(); + return; + } do this: + if (gen == NULL) { + fatal("No generation for memory pool"); + return; + } -- Chris On Mar 14, 2013, at 8:32 AM, Morris Meyer wrote: > Folks, > > Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/8009156.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009156 > From christian.thalinger at oracle.com Thu Mar 14 14:10:18 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 14 Mar 2013 14:10:18 -0700 Subject: RFR(XXS) 8009166 [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp In-Reply-To: <5141F195.7060808@oracle.com> References: <5141F195.7060808@oracle.com> Message-ID: Looks good. -- Chris On Mar 14, 2013, at 8:49 AM, Morris Meyer wrote: > Folks, > > Could I get a quick review for this small fix for a parfait null pointer issue? This has been through JPRT. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/8009166.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009166 > > From christian.thalinger at oracle.com Thu Mar 14 14:12:27 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 14 Mar 2013 14:12:27 -0700 Subject: RFR (XXS) 8009172 [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp In-Reply-To: <5141F417.6070705@oracle.com> References: <5141F417.6070705@oracle.com> Message-ID: <5C75BE4B-D65B-4EB7-8E92-140028D18B7C@oracle.com> + guarantee( n != NULL, "no nodes available" ); Please remove the spaces after and before the parentheses. -- Chris On Mar 14, 2013, at 9:00 AM, Morris Meyer wrote: > Folks, > > Thanks for your patience with these parfait reviews. > > Could I get a quick review for this small fix for a parfait null pointer issue? This has been through JPRT. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/8009172.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009172 From vladimir.kozlov at oracle.com Thu Mar 14 14:16:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 14 Mar 2013 14:16:04 -0700 Subject: RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp In-Reply-To: <5141E086.1010005@oracle.com> References: <5124F716.40006@oracle.com> <51251704.7070502@Oracle.COM> <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> <5141E086.1010005@oracle.com> Message-ID: <51423E14.70508@oracle.com> guarantee() (use fatal()) should be under == NULL check to avoid always executing 2 checks (C++ should fold it, but I don't trust it :) ): if (result_adr != NULL) { ... } else { fatal("bad register save location"); } Vladimir On 3/14/13 7:36 AM, Morris Meyer wrote: > Folks, > > Thanks for the review. Here is the updated webrev which uses > guarantee() to ensure this problem is caught early, and has updated > variable names per Vladimir's comments. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 > > On 3/14/13 1:11 AM, Cristina Cifuentes wrote: >> Hi Peter, Morris, >> >> It seems that making the bug report more specific may help (so as not >> to think the bug is a false positive)? >> >> Regards, >> Cristina >> >> >> >> On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote: >> >>> Not an official review, because I forget if I'm still an official >>> reviewer. >>> >>> In what sense is this a "false positive"? (Cc'ing Cristina for the >>> Parfait definition of a false positive, because I don't know who the >>> right Parfait contact is.) The result of map->location() *should >>> not* be null, but if it is, it's better to fail the assert than to >>> segfault, in that it will be easier to track down the error wherever >>> these functions get inlined. >>> >>> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who >>> discovers, after this method returns, that the store *did not* >>> happen? That is, is there a better way of making the announcement of >>> the failure closer to the point of failure? Maybe the answer is that >>> the assert() should be a guarantee()? >>> >>> ... peter >>> >>> Morris Meyer wrote: >>>> Folks, >>>> Could I get a review of this small Parfait false positive? This >>>> has been through JPRT per the JPG workflow. >>>> Thanks much. >>>> --mm >>>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328 >>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328 > From vladimir.kozlov at oracle.com Thu Mar 14 14:22:29 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 14 Mar 2013 14:22:29 -0700 Subject: RFR(XXS) 8009166 [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp In-Reply-To: <5141F195.7060808@oracle.com> References: <5141F195.7060808@oracle.com> Message-ID: <51423F95.2050104@oracle.com> Does parfait stop complains if we add just guarantee()? Why it still complains in other places (8008328)? Thanks, Vladimir On 3/14/13 8:49 AM, Morris Meyer wrote: > Folks, > > Could I get a quick review for this small fix for a parfait null pointer > issue? This has been through JPRT. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/8009166.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009166 > > From vladimir.kozlov at oracle.com Thu Mar 14 14:27:12 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 14 Mar 2013 14:27:12 -0700 Subject: RFR(XS) 8009156 [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp In-Reply-To: <6B231078-C4A2-4F99-B2B0-E18854B78DEC@oracle.com> References: <5141ED80.7050903@oracle.com> <6B231078-C4A2-4F99-B2B0-E18854B78DEC@oracle.com> Message-ID: <514240B0.8060800@oracle.com> Agree. Vladimir On 3/14/13 2:04 PM, Christian Thalinger wrote: > Maybe instead of: > > + assert(gen != NULL, "No generation for memory pool"); > + if (gen == NULL) { > + ShouldNotReachHere(); > + return; > + } > > do this: > > + if (gen == NULL) { > + fatal("No generation for memory pool"); > + return; > + } > > -- Chris > > On Mar 14, 2013, at 8:32 AM, Morris Meyer wrote: > >> Folks, >> >> Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. >> >> Thanks in advance, >> >> --morris meyer >> >> WEBREV - http://cr.openjdk.java.net/~morris/8009156.01 >> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009156 >> > From morris.meyer at oracle.com Thu Mar 14 15:52:14 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Thu, 14 Mar 2013 22:52:14 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008560: [parfait] Null pointer deference in hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Message-ID: <20130314225219.3E8134816A@hg.openjdk.java.net> Changeset: 71f13276159d Author: morris Date: 2013-03-14 07:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/71f13276159d 8008560: [parfait] Null pointer deference in hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Summary: add null pointer check in signal handler Reviewed-by: kvn ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp From krystal.mo at oracle.com Thu Mar 14 22:25:33 2013 From: krystal.mo at oracle.com (krystal.mo at oracle.com) Date: Fri, 15 Mar 2013 05:25:33 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130315052539.C69C948173@hg.openjdk.java.net> Changeset: 9960dce2024f Author: kmo Date: 2013-03-14 13:22 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9960dce2024f 8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012 Summary: add cases for _MSC_VER == 1600 and 1700 Reviewed-by: zgu ! src/share/vm/runtime/vm_version.cpp Changeset: a40807924950 Author: kmo Date: 2013-03-14 16:17 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a40807924950 Merge From igor.ignatyev at oracle.com Fri Mar 15 02:44:25 2013 From: igor.ignatyev at oracle.com (Igor Ignatyev) Date: Fri, 15 Mar 2013 13:44:25 +0400 Subject: RFR(S): 8008211 : Some of WB tests on compiler fails In-Reply-To: <513E31AF.4060902@oracle.com> References: <5123B85D.6030607@oracle.com> <5123C92E.2000808@oracle.com> <5123DCC1.1050709@oracle.com> <5123E377.4000905@oracle.com> <5124F3E8.8010908@oracle.com> <513E31AF.4060902@oracle.com> Message-ID: <5142ED79.9000505@oracle.com> Vladimir, Thank you for review. I have updated my patch, now 'Math.max(COMPILE_THRESHOLD, 150000)' is used as threshold. http://cr.openjdk.java.net/~iignatyev/8008211/webrev.01/ Best regards, Igor Ignatyev On 03/11/2013 11:34 PM, Vladimir Kozlov wrote: > I thought I replied to this. > > > You didn't comment my previous letter. Probably it got lost in a pile > of letters. > > Could you please comment it? > > > > short version of letter: > > 1. moving WHITE_BOX.setDontInlineMethod(METHOD, true) helps > > I agree with this. > > > 2. value of 'CompileThreshold' are used as for-loop's limit in > > CompilerWhiteBoxTest and it's insufficient for compilation in tiered. > > And I could not find a way to get tiered threshold to WB, since we have > > only predicate to test + 'Tier0InvokeNotifyFreqLog' determines how often > > predicate will be checked. > > So I must to use the knowledge of current tiered threshold > implementation. > > You can simple do "count = max(COMPILE_THRESHOLD, 100000) + 10000". > Note, you need more then 10000. > > I am strongly against putting any VM knowledge into tests. > > Vladimir > > On 2/20/13 8:03 AM, Igor Ignatyev wrote: >> On 02/20/2013 12:41 AM, Vladimir Kozlov wrote: >>> On 2/19/13 12:12 PM, Igor Ignatyev wrote: >>>> There are two different reasons for this failure: >>>> >>>> 1. with '-Xcomp': >>>> CompilerWhiteBoxTest#method() is inlined into #compile() on first >>>> invocation of #test(). so 'WHITE_BOX.setDontInlineMethod(METHOD, true)' >>>> does nothing; #method() isn't compiled; >>> >>> You need to make method() more complex to avoid it. Currently it is >>> treated as an "accessor" method and it is inlinined unconditionally. For >>> example, pass argument and return increment (x+42). >>> I don't see how moving WHITE_BOX.setDontInlineMethod() helps. >> >> moving WHITE_BOX.setDontInlineMethod(METHOD, true) helps because it >> disallow inlining of METHOD. >> >> cutting of PrintInlining/PrintCompilation output before moving: >> >> 3716 615 b 3 DeoptimizeAllTest::test (35 bytes) >> @ 7 >> sun.hotspot.WhiteBox::setDontInlineMethod (0 bytes) native method >> @ 12 CompilerWhiteBoxTest::compile (26 >> bytes) >> @ 13 CompilerWhiteBoxTest::method (3 >> bytes) >> @ 19 CompilerWhiteBoxTest::checkCompiled >> (122 bytes) callee is too large >> @ 25 sun.hotspot.WhiteBox::deoptimizeAll >> (0 bytes) native method >> @ 31 >> CompilerWhiteBoxTest::checkNotCompiled (75 bytes) callee is too large >> >> and after moving: >> 3983 616 b 3 DeoptimizeAllTest::test (24 bytes) >> @ 1 CompilerWhiteBoxTest::compile (26 >> bytes) >> @ 13 CompilerWhiteBoxTest::method (3 >> bytes) don't inline by annotation >> @ 8 CompilerWhiteBoxTest::checkCompiled >> (122 bytes) callee is too large >> @ 14 sun.hotspot.WhiteBox::deoptimizeAll >> (0 bytes) native method >> >>>> 2. with '-XX:+TieredCompilation' and certain relation between >>>> 'CompileThreshold' and 'Tier*' values (e.g. -XX:CompileThreshold=100 >>>> and >>>> default Tier* values): >>>> since 'CompileThreshold' doesn't use in Tiered as threshold, but >>>> uses in >>>> tests we have situation in which CompilerWhiteBoxTest#compile() invokes >>>> #method() insufficient time for compilation; >>> >>> >>> With Tiered the default threshold for first tier (C1) is 100. Yes, for >>> C2 it is >10000 and depends on other staff. But COMPILE_THRESHOLD=10000 >>> should be enough for tier one compilation. So I don't understand what do >>> you mean by "invokes insufficient time for compilation". >> >> in current version of tests value of 'CompileThreshold' is used as limit >> in for-loop. In nightly it equals '100' and it isn't enough even for >> tier one, cuz with default values of Tier* flags we need to invoke >> method 256 times. >> in attachment program that illustrates it: >> >> $ java -XX:+PrintCompilation -XX:+TieredCompilation >> -XX:CompileThreshold=100 -XX:+PrintTieredEvents CompileThresholdTest 100 >> | grep CompileThresholdTest >> >> $ java -XX:+PrintCompilation -XX:+TieredCompilation >> -XX:CompileThreshold=100 -XX:+PrintTieredEvents CompileThresholdTest 256 >> | grep CompileThresholdTest >> 0.049705: [call level: 0 [CompileThresholdTest.m1()I] @-1 queues: 0,0 >> rate: n/a k: 1.00,1.00 total: 128,0 mdo: 0(0),0(0) max levels: 0,0 >> compilable: c1, c2, osr status: idle] >> 0.049785: [call level: 0 [CompileThresholdTest.m1()I] @-1 queues: 0,0 >> rate: n/a k: 1.00,1.00 total: 256,0 mdo: 0(0),0(0) max levels: 0,0 >> compilable: c1, c2, osr status: idle] >> 0.049812: [compile level: 3 [CompileThresholdTest.m1()I] @-1 queues: 0,0 >> rate: n/a k: 1.00,1.00] >> 49 8 3 CompileThresholdTest::m1 (3 bytes) >> >> >>> And I really don't like next code: >>> >>> ! int count = getCompileThreshold(); >>> ! int i = 0; >>> ! do { >>> ! for (; i < count; ++i) { >>> result += method(); >>> } >>> + count = getCompileThreshold(); >>> + } while (i < count); >>> >>> You are using in getCompileThreshold() the knowledge of current tiered >>> threashold implementation. But it could be changed in a future. >>> >> >> I would like to pull out getting of tiered threshold to WB, but I could >> not find a way to do this, since we have only predicate to test + >> 'Tier0InvokeNotifyFreqLog' determines how often predicate will be >> checked. >> >>> Vladimir >>>> >>>> Best regards, >>>> Igor Ignatyev >>>> >>>> On 02/19/2013 10:49 PM, Vladimir Kozlov wrote: >>>>> Igor, >>>>> >>>>> Can you give mode details about the failure? >>>>> >>>>> Thanks, >>>>> Vladimir >>>>> >>>>> On 2/19/13 9:37 AM, Igor Ignatyev wrote: >>>>>> Hi all, >>>>>> >>>>>> Please review the patch. >>>>>> >>>>>> 1. calls of WB.setDontInlineMethod() were moved into main() >>>>>> 2. added estimation of threshold for tiered compilation >>>>>> >>>>>> webrev: http://cr.openjdk.java.net/~iignatyev/8008211/webrev.00/ From morris.meyer at oracle.com Fri Mar 15 07:09:48 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 15 Mar 2013 10:09:48 -0400 Subject: RFR(XXS) 8010144 [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp In-Reply-To: <51431D36.9040703@oracle.com> References: <20130315112408.2D6F24817A@hg.openjdk.java.net> <51431D36.9040703@oracle.com> Message-ID: <51432BAC.6070408@oracle.com> Folks, Could I get a quick review for this duplicate change of the approved fix for 8008560 applied to its sibling file os_linux_x86.cpp? Thanks to Daniel for pointing this out. --morris WEBREV - http://cr.openjdk.java.net/~morris/8010144.01 JIRA - https://jbs.oracle.com/bugs/browse/JDK-8010144 On 3/15/13 9:08 AM, Daniel D. Daugherty wrote: > Morris, > > It looks like the same fix that you applied to the BSD code is > needed in the Linux code (which is not a surprise): > > src/os_cpu/linux_x86/vm/os_linux_x86.cpp: > > 338 } else if (sig == SIGBUS /* && info->si_code == > BUS_OBJERR */) { > 339 // BugId 4454115: A read from a MappedByteBuffer can > fault > 340 // here if the underlying file has been truncated. > 341 // Do not crash the VM in such a case. > 342 CodeBlob* cb = CodeCache::find_blob_unsafe(pc); > 343 nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; > 344 if (nm != NULL && nm->has_unsafe_access()) { > 345 stub = StubRoutines::handler_for_unsafe_access(); > 346 } > 347 } > > The BSD port was derived from the Linux code base so this is not > a surprise. Is there a separate Parfait bug for the same Linux bug? > > Dan > > > > On 3/15/13 5:23 AM, morris.meyer at oracle.com wrote: >> Changeset: 71f13276159d >> Author: morris >> Date: 2013-03-14 07:44 -0700 >> URL: >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/71f13276159d >> >> 8008560: [parfait] Null pointer deference in >> hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp >> Summary: add null pointer check in signal handler >> Reviewed-by: kvn >> >> ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp >> From roland.westrelin at oracle.com Fri Mar 15 07:17:52 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Fri, 15 Mar 2013 15:17:52 +0100 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: <25A1F8A4-2AC1-418D-A633-CE4B670CF336@oracle.com> References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> <25A1F8A4-2AC1-418D-A633-CE4B670CF336@oracle.com> Message-ID: > For every use of code_string you basically have this code pattern: > > + const char* str = code_string(ss.as_string()); > + assert(str != NULL, "no string?"); > > Perhaps we should assert for null in code_string itself? Thanks Christian for taking a look a this. I'll do the change you suggest. Roland. From daniel.daugherty at oracle.com Fri Mar 15 07:38:23 2013 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 15 Mar 2013 08:38:23 -0600 Subject: RFR(XXS) 8010144 [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp In-Reply-To: <51432BAC.6070408@oracle.com> References: <20130315112408.2D6F24817A@hg.openjdk.java.net> <51431D36.9040703@oracle.com> <51432BAC.6070408@oracle.com> Message-ID: <5143325F.6090509@oracle.com> Morris, Thumbs up. You might want to add a "relates to" link to the BSD bug. Dan On 3/15/13 8:09 AM, Morris Meyer wrote: > Folks, > > Could I get a quick review for this duplicate change of the approved > fix for 8008560 applied to its sibling file os_linux_x86.cpp? > > Thanks to Daniel for pointing this out. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8010144.01 > JIRA - https://jbs.oracle.com/bugs/browse/JDK-8010144 > > > On 3/15/13 9:08 AM, Daniel D. Daugherty wrote: >> Morris, >> >> It looks like the same fix that you applied to the BSD code is >> needed in the Linux code (which is not a surprise): >> >> src/os_cpu/linux_x86/vm/os_linux_x86.cpp: >> >> 338 } else if (sig == SIGBUS /* && info->si_code == >> BUS_OBJERR */) { >> 339 // BugId 4454115: A read from a MappedByteBuffer can >> fault >> 340 // here if the underlying file has been truncated. >> 341 // Do not crash the VM in such a case. >> 342 CodeBlob* cb = CodeCache::find_blob_unsafe(pc); >> 343 nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; >> 344 if (nm != NULL && nm->has_unsafe_access()) { >> 345 stub = StubRoutines::handler_for_unsafe_access(); >> 346 } >> 347 } >> >> The BSD port was derived from the Linux code base so this is not >> a surprise. Is there a separate Parfait bug for the same Linux bug? >> >> Dan >> >> >> >> On 3/15/13 5:23 AM, morris.meyer at oracle.com wrote: >>> Changeset: 71f13276159d >>> Author: morris >>> Date: 2013-03-14 07:44 -0700 >>> URL: >>> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/71f13276159d >>> >>> 8008560: [parfait] Null pointer deference in >>> hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp >>> Summary: add null pointer check in signal handler >>> Reviewed-by: kvn >>> >>> ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp >>> > From morris.meyer at oracle.com Fri Mar 15 08:04:22 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 15 Mar 2013 11:04:22 -0400 Subject: RFR(XXS) 8009166 [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp In-Reply-To: <51423F95.2050104@oracle.com> References: <5141F195.7060808@oracle.com> <51423F95.2050104@oracle.com> Message-ID: <51433876.2020305@oracle.com> It does. I will send out an updated webrev of 8008328. --mm On 3/14/13 5:22 PM, Vladimir Kozlov wrote: > Does parfait stop complains if we add just guarantee()? Why it still > complains in other places (8008328)? > > Thanks, > Vladimir > > On 3/14/13 8:49 AM, Morris Meyer wrote: >> Folks, >> >> Could I get a quick review for this small fix for a parfait null pointer >> issue? This has been through JPRT. >> >> Thanks in advance, >> >> --morris meyer >> >> WEBREV - http://cr.openjdk.java.net/~morris/8009166.01 >> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009166 >> >> From morris.meyer at oracle.com Fri Mar 15 08:06:17 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 15 Mar 2013 11:06:17 -0400 Subject: RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp In-Reply-To: <51423E14.70508@oracle.com> References: <5124F716.40006@oracle.com> <51251704.7070502@Oracle.COM> <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> <5141E086.1010005@oracle.com> <51423E14.70508@oracle.com> Message-ID: <514338E9.2000409@oracle.com> Here is the updated webrev Vladimir: --morris WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 On 3/14/13 5:16 PM, Vladimir Kozlov wrote: > guarantee() (use fatal()) should be under == NULL check to avoid > always executing 2 checks (C++ should fold it, but I don't trust it :) ): > > if (result_adr != NULL) { > ... > } else { > fatal("bad register save location"); > } > > Vladimir > > On 3/14/13 7:36 AM, Morris Meyer wrote: >> Folks, >> >> Thanks for the review. Here is the updated webrev which uses >> guarantee() to ensure this problem is caught early, and has updated >> variable names per Vladimir's comments. >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 >> >> On 3/14/13 1:11 AM, Cristina Cifuentes wrote: >>> Hi Peter, Morris, >>> >>> It seems that making the bug report more specific may help (so as not >>> to think the bug is a false positive)? >>> >>> Regards, >>> Cristina >>> >>> >>> >>> On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote: >>> >>>> Not an official review, because I forget if I'm still an official >>>> reviewer. >>>> >>>> In what sense is this a "false positive"? (Cc'ing Cristina for the >>>> Parfait definition of a false positive, because I don't know who the >>>> right Parfait contact is.) The result of map->location() *should >>>> not* be null, but if it is, it's better to fail the assert than to >>>> segfault, in that it will be easier to track down the error wherever >>>> these functions get inlined. >>>> >>>> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who >>>> discovers, after this method returns, that the store *did not* >>>> happen? That is, is there a better way of making the announcement of >>>> the failure closer to the point of failure? Maybe the answer is that >>>> the assert() should be a guarantee()? >>>> >>>> ... peter >>>> >>>> Morris Meyer wrote: >>>>> Folks, >>>>> Could I get a review of this small Parfait false positive? This >>>>> has been through JPRT per the JPG workflow. >>>>> Thanks much. >>>>> --mm >>>>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328 >>>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328 >> From morris.meyer at oracle.com Fri Mar 15 09:20:52 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 15 Mar 2013 12:20:52 -0400 Subject: RFR(XS) 8009156 [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp In-Reply-To: <514240B0.8060800@oracle.com> References: <5141ED80.7050903@oracle.com> <6B231078-C4A2-4F99-B2B0-E18854B78DEC@oracle.com> <514240B0.8060800@oracle.com> Message-ID: <51434A64.3050107@oracle.com> Thanks for the review Christian and Vladimir. Here is the updated webrev - checked with parfait but not with JPRT. --mm WEBREV - http://cr.openjdk.java.net/~morris/8009156.02 On 3/14/13 5:27 PM, Vladimir Kozlov wrote: > Agree. > > Vladimir > > On 3/14/13 2:04 PM, Christian Thalinger wrote: >> Maybe instead of: >> >> + assert(gen != NULL, "No generation for memory pool"); >> + if (gen == NULL) { >> + ShouldNotReachHere(); >> + return; >> + } >> >> do this: >> >> + if (gen == NULL) { >> + fatal("No generation for memory pool"); >> + return; >> + } >> >> -- Chris >> >> On Mar 14, 2013, at 8:32 AM, Morris Meyer >> wrote: >> >>> Folks, >>> >>> Could I get a quick review for these fixes for parfait null pointer >>> issues? This has been through JPRT. >>> >>> Thanks in advance, >>> >>> --morris meyer >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8009156.01 >>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009156 >>> >> From roland.westrelin at oracle.com Fri Mar 15 09:48:05 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Fri, 15 Mar 2013 17:48:05 +0100 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> Message-ID: That: > Same change but rather than allocate temporary strings in the heap, they are allocated in the resource area and built with stringStream: wasn't correct because the relocs are stores in a piece of memory that is allocated in the resource area. I kept the stringStream but made sure the ResourceMark only affect the strings. New and hopefully last webrev: http://cr.openjdk.java.net/~roland/8008555/webrev.03/ Roland. From roland.westrelin at oracle.com Fri Mar 15 09:58:16 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Fri, 15 Mar 2013 17:58:16 +0100 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <51268BA9.9060501@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> <51268BA9.9060501@oracle.com> Message-ID: > Why not use Deoptimization::Reason_range_check? You use Reason_none. Actually there's a reason for this: c1 in this change records when there's a predicate failure caused by an optimistic optimization. An optimistic optimization can be loop invariant code motion, so it's not always related to range check elimination. Roland. From christian.thalinger at oracle.com Fri Mar 15 11:34:57 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 15 Mar 2013 11:34:57 -0700 Subject: RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp In-Reply-To: <514338E9.2000409@oracle.com> References: <5124F716.40006@oracle.com> <51251704.7070502@Oracle.COM> <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> <5141E086.1010005@oracle.com> <51423E14.70508@oracle.com> <514338E9.2000409@oracle.com> Message-ID: Looks good. -- Chris On Mar 15, 2013, at 8:06 AM, Morris Meyer wrote: > Here is the updated webrev Vladimir: > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 > > On 3/14/13 5:16 PM, Vladimir Kozlov wrote: >> guarantee() (use fatal()) should be under == NULL check to avoid always executing 2 checks (C++ should fold it, but I don't trust it :) ): >> >> if (result_adr != NULL) { >> ... >> } else { >> fatal("bad register save location"); >> } >> >> Vladimir >> >> On 3/14/13 7:36 AM, Morris Meyer wrote: >>> Folks, >>> >>> Thanks for the review. Here is the updated webrev which uses >>> guarantee() to ensure this problem is caught early, and has updated >>> variable names per Vladimir's comments. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 >>> >>> On 3/14/13 1:11 AM, Cristina Cifuentes wrote: >>>> Hi Peter, Morris, >>>> >>>> It seems that making the bug report more specific may help (so as not >>>> to think the bug is a false positive)? >>>> >>>> Regards, >>>> Cristina >>>> >>>> >>>> >>>> On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote: >>>> >>>>> Not an official review, because I forget if I'm still an official >>>>> reviewer. >>>>> >>>>> In what sense is this a "false positive"? (Cc'ing Cristina for the >>>>> Parfait definition of a false positive, because I don't know who the >>>>> right Parfait contact is.) The result of map->location() *should >>>>> not* be null, but if it is, it's better to fail the assert than to >>>>> segfault, in that it will be easier to track down the error wherever >>>>> these functions get inlined. >>>>> >>>>> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who >>>>> discovers, after this method returns, that the store *did not* >>>>> happen? That is, is there a better way of making the announcement of >>>>> the failure closer to the point of failure? Maybe the answer is that >>>>> the assert() should be a guarantee()? >>>>> >>>>> ... peter >>>>> >>>>> Morris Meyer wrote: >>>>>> Folks, >>>>>> Could I get a review of this small Parfait false positive? This >>>>>> has been through JPRT per the JPG workflow. >>>>>> Thanks much. >>>>>> --mm >>>>>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328 >>>>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328 >>> > From christian.thalinger at oracle.com Fri Mar 15 11:35:27 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 15 Mar 2013 11:35:27 -0700 Subject: RFR(XS) 8009156 [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp In-Reply-To: <51434A64.3050107@oracle.com> References: <5141ED80.7050903@oracle.com> <6B231078-C4A2-4F99-B2B0-E18854B78DEC@oracle.com> <514240B0.8060800@oracle.com> <51434A64.3050107@oracle.com> Message-ID: Looks good. -- Chris On Mar 15, 2013, at 9:20 AM, Morris Meyer wrote: > Thanks for the review Christian and Vladimir. > > Here is the updated webrev - checked with parfait but not with JPRT. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8009156.02 > > On 3/14/13 5:27 PM, Vladimir Kozlov wrote: >> Agree. >> >> Vladimir >> >> On 3/14/13 2:04 PM, Christian Thalinger wrote: >>> Maybe instead of: >>> >>> + assert(gen != NULL, "No generation for memory pool"); >>> + if (gen == NULL) { >>> + ShouldNotReachHere(); >>> + return; >>> + } >>> >>> do this: >>> >>> + if (gen == NULL) { >>> + fatal("No generation for memory pool"); >>> + return; >>> + } >>> >>> -- Chris >>> >>> On Mar 14, 2013, at 8:32 AM, Morris Meyer wrote: >>> >>>> Folks, >>>> >>>> Could I get a quick review for these fixes for parfait null pointer issues? This has been through JPRT. >>>> >>>> Thanks in advance, >>>> >>>> --morris meyer >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/8009156.01 >>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009156 >>>> >>> > From vladimir.kozlov at oracle.com Fri Mar 15 11:47:47 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 15 Mar 2013 11:47:47 -0700 Subject: RFR(S): 8008211 : Some of WB tests on compiler fails In-Reply-To: <5142ED79.9000505@oracle.com> References: <5123B85D.6030607@oracle.com> <5123C92E.2000808@oracle.com> <5123DCC1.1050709@oracle.com> <5123E377.4000905@oracle.com> <5124F3E8.8010908@oracle.com> <513E31AF.4060902@oracle.com> <5142ED79.9000505@oracle.com> Message-ID: <51436CD3.8040102@oracle.com> This is good. Thanks, Vladimir On 3/15/13 2:44 AM, Igor Ignatyev wrote: > Vladimir, > > Thank you for review. > I have updated my patch, now 'Math.max(COMPILE_THRESHOLD, 150000)' is > used as threshold. > > http://cr.openjdk.java.net/~iignatyev/8008211/webrev.01/ > > Best regards, > Igor Ignatyev > > On 03/11/2013 11:34 PM, Vladimir Kozlov wrote: >> I thought I replied to this. >> >> > You didn't comment my previous letter. Probably it got lost in a pile >> of letters. >> > Could you please comment it? >> > >> > short version of letter: >> > 1. moving WHITE_BOX.setDontInlineMethod(METHOD, true) helps >> >> I agree with this. >> >> > 2. value of 'CompileThreshold' are used as for-loop's limit in >> > CompilerWhiteBoxTest and it's insufficient for compilation in tiered. >> > And I could not find a way to get tiered threshold to WB, since we >> have >> > only predicate to test + 'Tier0InvokeNotifyFreqLog' determines how >> often >> > predicate will be checked. >> > So I must to use the knowledge of current tiered threshold >> implementation. >> >> You can simple do "count = max(COMPILE_THRESHOLD, 100000) + 10000". >> Note, you need more then 10000. >> >> I am strongly against putting any VM knowledge into tests. >> >> Vladimir >> >> On 2/20/13 8:03 AM, Igor Ignatyev wrote: >>> On 02/20/2013 12:41 AM, Vladimir Kozlov wrote: >>>> On 2/19/13 12:12 PM, Igor Ignatyev wrote: >>>>> There are two different reasons for this failure: >>>>> >>>>> 1. with '-Xcomp': >>>>> CompilerWhiteBoxTest#method() is inlined into #compile() on first >>>>> invocation of #test(). so 'WHITE_BOX.setDontInlineMethod(METHOD, >>>>> true)' >>>>> does nothing; #method() isn't compiled; >>>> >>>> You need to make method() more complex to avoid it. Currently it is >>>> treated as an "accessor" method and it is inlinined unconditionally. >>>> For >>>> example, pass argument and return increment (x+42). >>>> I don't see how moving WHITE_BOX.setDontInlineMethod() helps. >>> >>> moving WHITE_BOX.setDontInlineMethod(METHOD, true) helps because it >>> disallow inlining of METHOD. >>> >>> cutting of PrintInlining/PrintCompilation output before moving: >>> >>> 3716 615 b 3 DeoptimizeAllTest::test (35 bytes) >>> @ 7 >>> sun.hotspot.WhiteBox::setDontInlineMethod (0 bytes) native method >>> @ 12 CompilerWhiteBoxTest::compile (26 >>> bytes) >>> @ 13 CompilerWhiteBoxTest::method (3 >>> bytes) >>> @ 19 CompilerWhiteBoxTest::checkCompiled >>> (122 bytes) callee is too large >>> @ 25 sun.hotspot.WhiteBox::deoptimizeAll >>> (0 bytes) native method >>> @ 31 >>> CompilerWhiteBoxTest::checkNotCompiled (75 bytes) callee is too large >>> >>> and after moving: >>> 3983 616 b 3 DeoptimizeAllTest::test (24 bytes) >>> @ 1 CompilerWhiteBoxTest::compile (26 >>> bytes) >>> @ 13 CompilerWhiteBoxTest::method (3 >>> bytes) don't inline by annotation >>> @ 8 CompilerWhiteBoxTest::checkCompiled >>> (122 bytes) callee is too large >>> @ 14 sun.hotspot.WhiteBox::deoptimizeAll >>> (0 bytes) native method >>> >>>>> 2. with '-XX:+TieredCompilation' and certain relation between >>>>> 'CompileThreshold' and 'Tier*' values (e.g. -XX:CompileThreshold=100 >>>>> and >>>>> default Tier* values): >>>>> since 'CompileThreshold' doesn't use in Tiered as threshold, but >>>>> uses in >>>>> tests we have situation in which CompilerWhiteBoxTest#compile() >>>>> invokes >>>>> #method() insufficient time for compilation; >>>> >>>> >>>> With Tiered the default threshold for first tier (C1) is 100. Yes, for >>>> C2 it is >10000 and depends on other staff. But COMPILE_THRESHOLD=10000 >>>> should be enough for tier one compilation. So I don't understand >>>> what do >>>> you mean by "invokes insufficient time for compilation". >>> >>> in current version of tests value of 'CompileThreshold' is used as limit >>> in for-loop. In nightly it equals '100' and it isn't enough even for >>> tier one, cuz with default values of Tier* flags we need to invoke >>> method 256 times. >>> in attachment program that illustrates it: >>> >>> $ java -XX:+PrintCompilation -XX:+TieredCompilation >>> -XX:CompileThreshold=100 -XX:+PrintTieredEvents CompileThresholdTest 100 >>> | grep CompileThresholdTest >>> >>> $ java -XX:+PrintCompilation -XX:+TieredCompilation >>> -XX:CompileThreshold=100 -XX:+PrintTieredEvents CompileThresholdTest 256 >>> | grep CompileThresholdTest >>> 0.049705: [call level: 0 [CompileThresholdTest.m1()I] @-1 queues: 0,0 >>> rate: n/a k: 1.00,1.00 total: 128,0 mdo: 0(0),0(0) max levels: 0,0 >>> compilable: c1, c2, osr status: idle] >>> 0.049785: [call level: 0 [CompileThresholdTest.m1()I] @-1 queues: 0,0 >>> rate: n/a k: 1.00,1.00 total: 256,0 mdo: 0(0),0(0) max levels: 0,0 >>> compilable: c1, c2, osr status: idle] >>> 0.049812: [compile level: 3 [CompileThresholdTest.m1()I] @-1 queues: 0,0 >>> rate: n/a k: 1.00,1.00] >>> 49 8 3 CompileThresholdTest::m1 (3 bytes) >>> >>> >>>> And I really don't like next code: >>>> >>>> ! int count = getCompileThreshold(); >>>> ! int i = 0; >>>> ! do { >>>> ! for (; i < count; ++i) { >>>> result += method(); >>>> } >>>> + count = getCompileThreshold(); >>>> + } while (i < count); >>>> >>>> You are using in getCompileThreshold() the knowledge of current tiered >>>> threashold implementation. But it could be changed in a future. >>>> >>> >>> I would like to pull out getting of tiered threshold to WB, but I could >>> not find a way to do this, since we have only predicate to test + >>> 'Tier0InvokeNotifyFreqLog' determines how often predicate will be >>> checked. >>> >>>> Vladimir >>>>> >>>>> Best regards, >>>>> Igor Ignatyev >>>>> >>>>> On 02/19/2013 10:49 PM, Vladimir Kozlov wrote: >>>>>> Igor, >>>>>> >>>>>> Can you give mode details about the failure? >>>>>> >>>>>> Thanks, >>>>>> Vladimir >>>>>> >>>>>> On 2/19/13 9:37 AM, Igor Ignatyev wrote: >>>>>>> Hi all, >>>>>>> >>>>>>> Please review the patch. >>>>>>> >>>>>>> 1. calls of WB.setDontInlineMethod() were moved into main() >>>>>>> 2. added estimation of threshold for tiered compilation >>>>>>> >>>>>>> webrev: http://cr.openjdk.java.net/~iignatyev/8008211/webrev.00/ From vladimir.kozlov at oracle.com Fri Mar 15 15:34:22 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 15 Mar 2013 15:34:22 -0700 Subject: RFR (XS) 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp In-Reply-To: <514338E9.2000409@oracle.com> References: <5124F716.40006@oracle.com> <51251704.7070502@Oracle.COM> <306B1F8F-30F9-4B60-A08B-ABD0E9DDFF86@Oracle.COM> <5141E086.1010005@oracle.com> <51423E14.70508@oracle.com> <514338E9.2000409@oracle.com> Message-ID: <5143A1EE.2020604@oracle.com> Good. Vladimir On 3/15/13 8:06 AM, Morris Meyer wrote: > Here is the updated webrev Vladimir: > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 > > On 3/14/13 5:16 PM, Vladimir Kozlov wrote: >> guarantee() (use fatal()) should be under == NULL check to avoid >> always executing 2 checks (C++ should fold it, but I don't trust it :) ): >> >> if (result_adr != NULL) { >> ... >> } else { >> fatal("bad register save location"); >> } >> >> Vladimir >> >> On 3/14/13 7:36 AM, Morris Meyer wrote: >>> Folks, >>> >>> Thanks for the review. Here is the updated webrev which uses >>> guarantee() to ensure this problem is caught early, and has updated >>> variable names per Vladimir's comments. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008328.02 >>> >>> On 3/14/13 1:11 AM, Cristina Cifuentes wrote: >>>> Hi Peter, Morris, >>>> >>>> It seems that making the bug report more specific may help (so as not >>>> to think the bug is a false positive)? >>>> >>>> Regards, >>>> Cristina >>>> >>>> >>>> >>>> On 21/02/2013, at 4:33 AM, Peter B. Kessler wrote: >>>> >>>>> Not an official review, because I forget if I'm still an official >>>>> reviewer. >>>>> >>>>> In what sense is this a "false positive"? (Cc'ing Cristina for the >>>>> Parfait definition of a false positive, because I don't know who the >>>>> right Parfait contact is.) The result of map->location() *should >>>>> not* be null, but if it is, it's better to fail the assert than to >>>>> segfault, in that it will be easier to track down the error wherever >>>>> these functions get inlined. >>>>> >>>>> In frame::set_saved_oop_result(RegisterMap*, oop), if o==null, who >>>>> discovers, after this method returns, that the store *did not* >>>>> happen? That is, is there a better way of making the announcement of >>>>> the failure closer to the point of failure? Maybe the answer is that >>>>> the assert() should be a guarantee()? >>>>> >>>>> ... peter >>>>> >>>>> Morris Meyer wrote: >>>>>> Folks, >>>>>> Could I get a review of this small Parfait false positive? This >>>>>> has been through JPRT per the JPG workflow. >>>>>> Thanks much. >>>>>> --mm >>>>>> WEBREV - http://javaweb.us.oracle.com/~mameyer/webrevs/01/JDK-8008328 >>>>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8008328 >>> > From vladimir.kozlov at oracle.com Fri Mar 15 15:37:04 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 15 Mar 2013 15:37:04 -0700 Subject: RFR(XS) 8009156 [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp In-Reply-To: <51434A64.3050107@oracle.com> References: <5141ED80.7050903@oracle.com> <6B231078-C4A2-4F99-B2B0-E18854B78DEC@oracle.com> <514240B0.8060800@oracle.com> <51434A64.3050107@oracle.com> Message-ID: <5143A290.7070509@oracle.com> Good. Vladimir On 3/15/13 9:20 AM, Morris Meyer wrote: > Thanks for the review Christian and Vladimir. > > Here is the updated webrev - checked with parfait but not with JPRT. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8009156.02 > > On 3/14/13 5:27 PM, Vladimir Kozlov wrote: >> Agree. >> >> Vladimir >> >> On 3/14/13 2:04 PM, Christian Thalinger wrote: >>> Maybe instead of: >>> >>> + assert(gen != NULL, "No generation for memory pool"); >>> + if (gen == NULL) { >>> + ShouldNotReachHere(); >>> + return; >>> + } >>> >>> do this: >>> >>> + if (gen == NULL) { >>> + fatal("No generation for memory pool"); >>> + return; >>> + } >>> >>> -- Chris >>> >>> On Mar 14, 2013, at 8:32 AM, Morris Meyer >>> wrote: >>> >>>> Folks, >>>> >>>> Could I get a quick review for these fixes for parfait null pointer >>>> issues? This has been through JPRT. >>>> >>>> Thanks in advance, >>>> >>>> --morris meyer >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/8009156.01 >>>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009156 >>>> >>> > From vladimir.kozlov at oracle.com Fri Mar 15 15:39:33 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 15 Mar 2013 15:39:33 -0700 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> Message-ID: <5143A325.7090808@oracle.com> Good. Vladimir On 3/15/13 9:48 AM, Roland Westrelin wrote: > That: > >> Same change but rather than allocate temporary strings in the heap, they are allocated in the resource area and built with stringStream: > > wasn't correct because the relocs are stores in a piece of memory that is allocated in the resource area. I kept the stringStream but made sure the ResourceMark only affect the strings. New and hopefully last webrev: > > http://cr.openjdk.java.net/~roland/8008555/webrev.03/ > > Roland. > From christian.thalinger at oracle.com Fri Mar 15 18:06:39 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 15 Mar 2013 18:06:39 -0700 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> Message-ID: <2953E08E-AA67-4434-AEE8-5D1BFB4C97C2@oracle.com> On Mar 15, 2013, at 9:48 AM, Roland Westrelin wrote: > That: > >> Same change but rather than allocate temporary strings in the heap, they are allocated in the resource area and built with stringStream: > > wasn't correct because the relocs are stores in a piece of memory that is allocated in the resource area. I kept the stringStream but made sure the ResourceMark only affect the strings. New and hopefully last webrev: > > http://cr.openjdk.java.net/~roland/8008555/webrev.03/ I couldn't find where you put the assert or other null check but I'm fine with the change. -- Chris > > Roland. > From morris.meyer at oracle.com Sat Mar 16 00:24:32 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Sat, 16 Mar 2013 07:24:32 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 44 new changesets Message-ID: <20130316072559.2086E481CE@hg.openjdk.java.net> Changeset: 255c0a4cb4eb Author: sla Date: 2013-03-05 08:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/255c0a4cb4eb 8009287: [parfait] Uninitialised variable in hotspot/agent/src/os/linux/ps_core.c Reviewed-by: dholmes, kvn, mikael, morris ! agent/src/os/linux/ps_core.c Changeset: 9058789475af Author: iklam Date: 2013-03-05 13:55 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9058789475af 7107135: Stack guard pages are no more protected after loading a shared library with executable stack Summary: Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op. Reviewed-by: dholmes, zgu Contributed-by: ioi.lam at oracle.com ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp + test/runtime/7107135/Test.java + test/runtime/7107135/Test7107135.sh + test/runtime/7107135/TestMT.java + test/runtime/7107135/test.c Changeset: 6b803ba47588 Author: zgu Date: 2013-03-07 14:06 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6b803ba47588 8008257: NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option Summary: Corrected virtual memory recording and tagging code when large pages are used Reviewed-by: coleenp, ccheung ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: 3efdfd6ddbf2 Author: coleenp Date: 2013-03-08 11:47 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3efdfd6ddbf2 8003553: NPG: metaspace objects should be zeroed in constructors Summary: Zero metadata in constructors, not in allocation (and some in constructors) Reviewed-by: jmasa, sspitsyn ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/memory/metablock.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! 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/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 252ad8d5f22b Author: dcubed Date: 2013-03-08 17:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/252ad8d5f22b Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 35ef86296a5d Author: dcubed Date: 2013-03-08 17:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/35ef86296a5d Merge ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: 5939f5953b45 Author: coleenp Date: 2013-03-13 09:10 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5939f5953b45 8009836: nsk/regression/b4222717 fails with empty stack trace Summary: Some zeroing was missed for bug 8003553, causing empty stack traces and Xcom crashes, add back zeroing to metablock Reviewed-by: dholmes, rbackman ! src/share/vm/memory/metablock.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/method.cpp Changeset: 96480359523a Author: coleenp Date: 2013-03-11 14:00 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/96480359523a 8008965: @Contended fails with classes having static fields Summary: Disable @Contended support for static fields Reviewed-by: coleenp, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/classfile/classFileParser.cpp + test/runtime/8003985/Test8003985.java Changeset: d6320e955c89 Author: coleenp Date: 2013-03-13 13:47 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d6320e955c89 Merge Changeset: 0ede345ec7c9 Author: coleenp Date: 2013-03-13 15:15 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0ede345ec7c9 8009829: CDS: JDK JPRT test fails crash in Symbol::equals() Summary: -Xshare:dump was creating a Symbol in C_heap. There's an assert there that jdk jprt wasn't hitting because it was only done in product Reviewed-by: dholmes, hseigel, iklam ! src/share/vm/classfile/symbolTable.cpp Changeset: c8b31b461e1a Author: coleenp Date: 2013-03-13 17:34 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c8b31b461e1a 8003419: NPG: Clean up metadata created during class loading if failure Summary: Store metadata on ClassFileParser instance to be cleaned up by destructor. This enabled some refactoring of the enormous parseClassFile function. Reviewed-by: jmasa, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: fad90b102190 Author: jprovino Date: 2013-03-06 13:38 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fad90b102190 8008310: Some adjustments needed to minimal VM warnings and errors for unsupported command line options Summary: Changes to arguments.cpp for warnings vs. errors. Changes for CDS arguments. Reviewed-by: coleenp, cjplummer ! make/excludeSrc.make ! src/share/vm/memory/filemap.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 47bc9800972c Author: jprovino Date: 2013-03-06 13:46 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/47bc9800972c 8006498: #if is wrong in the code. Summary: ASSERT and other symbols used incorrectly with #if are supposed to be defined or not. Reviewed-by: dholmes, mikael ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiTrace.hpp Changeset: 67342b960b47 Author: jprovino Date: 2013-03-06 13:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/67342b960b47 8008474: Add -Wundef to warning flags. Summary: Force use of undefined macros to be and error. Reviewed-by: dholmes, mikael ! make/bsd/makefiles/gcc.make ! make/linux/makefiles/gcc.make ! make/solaris/makefiles/gcc.make Changeset: cb75b67f04fb Author: jprovino Date: 2013-03-08 12:35 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/cb75b67f04fb Merge ! make/bsd/makefiles/gcc.make Changeset: 69ffa4ac9e53 Author: jprovino Date: 2013-03-12 00:02 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/69ffa4ac9e53 8009835: Only produce a warning when -Xshare:auto is explicitly requested Summary: The minimal JVM is printing a warning message for default settings when it should quitely ignore them. Reviewed-by: coleenp, dholmes ! src/share/vm/runtime/arguments.cpp Changeset: 9102c4111564 Author: jprovino Date: 2013-03-14 10:37 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9102c4111564 Merge Changeset: ed53b50794d7 Author: vladidan Date: 2013-03-14 12:49 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ed53b50794d7 Merge Changeset: fba788946616 Author: morris Date: 2013-03-14 16:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fba788946616 Merge Changeset: 9def4075da6d Author: tamao Date: 2013-03-05 15:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9def4075da6d 8008079: G1: Add nextObject routine to CMBitMapRO and replace nextWord Summary: Update the task local finger to the start of the next object when marking aborts, in order to avoid the redundant scanning of all 0's when the marking task restarts, if otherwise updating to the next word. In addition, reuse the routine nextObject() in routine iterate(). Reviewed-by: johnc, ysr Contributed-by: tamao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp Changeset: 209f8ba5020b Author: tamao Date: 2013-03-07 10:44 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/209f8ba5020b 8008368: Deprecate MaxGCMinorPauseMillis Summary: Deprecate MaxGCMinorPauseMillis and emit a warning if set by users Reviewed-by: brutisso, johnc Contributed-by: tamao ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 1f3354851c91 Author: stefank Date: 2013-03-11 08:49 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1f3354851c91 Merge Changeset: 167812fe00bb Author: kevinw Date: 2013-03-11 12:56 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/167812fe00bb 8009723: CMS logs "concurrent mode failure" twice when using (disabling) -XX:-UseCMSCompactAtFullCollection Reviewed-by: jwilhelm, ehelin, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: 71f619500f9b Author: kevinw Date: 2013-03-11 15:37 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/71f619500f9b Merge Changeset: 1c88b99a2b01 Author: mgerdin Date: 2013-03-12 09:42 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1c88b99a2b01 8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation Summary: Assertion is only valid when at a safepoint, adjust accordingly. Reviewed-by: stefank, jmasa, tamao ! src/share/vm/memory/metaspace.cpp Changeset: ca9580859cf4 Author: stefank Date: 2013-03-11 02:24 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/ca9580859cf4 8004697: SIGSEGV on Solaris sparc with -XX:+UseNUMA Summary: Don't scan pages outside the given range. Reviewed-by: jwilhelm, jmasa ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Changeset: 62609ffa2fc6 Author: tschatzl Date: 2013-03-12 15:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/62609ffa2fc6 8008684: CMS: concurrent phase start markers should always be printed Summary: Print the concurrent phase start markers for CMS when PrintGCDetails is enabled, not only if both PrintGCDetails and PrintGCTimeStamps are. Reviewed-by: mgerdin, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: eac371996b44 Author: brutisso Date: 2013-03-12 08:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/eac371996b44 8001049: VM crashes when running with large -Xms and not specifying ObjectAlignmentInBytes Summary: Take the initial heap size into account when checking the heap size for compressed oops Reviewed-by: jmasa, kvn, hseigel, ctornqvi ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 993d878108d9 Author: brutisso Date: 2013-03-13 05:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/993d878108d9 Merge Changeset: 82657b6a8cc0 Author: jmasa Date: 2013-03-12 11:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/82657b6a8cc0 6976528: PS: assert(!limit_exceeded || softrefs_clear) failed: Should have been cleared Reviewed-by: johnc ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/collectorPolicy.cpp Changeset: 15401203db6b Author: stefank Date: 2013-03-15 08:57 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/15401203db6b Merge ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp Changeset: a10dc1469c3f Author: stefank Date: 2013-03-15 04:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a10dc1469c3f Merge Changeset: f1629878512f Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f1629878512f Added tag jdk8-b81 for changeset 65b797426a3b ! .hgtags Changeset: b95ad0610fef Author: asaha Date: 2012-10-26 09:27 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b95ad0610fef Merge - agent/make/ClosureFinder.java - agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/asm/AbstractInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/Address.java - agent/src/share/classes/sun/jvm/hotspot/asm/Arithmetic.java - agent/src/share/classes/sun/jvm/hotspot/asm/ArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/BaseIndexScaleDispAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/CPUHelper.java - agent/src/share/classes/sun/jvm/hotspot/asm/CallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/DirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/Immediate.java - agent/src/share/classes/sun/jvm/hotspot/asm/IndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/LoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/LogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/MemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/MoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/PCRelativeAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/RTLDataTypes.java - agent/src/share/classes/sun/jvm/hotspot/asm/RTLOperations.java - agent/src/share/classes/sun/jvm/hotspot/asm/ReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/ShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/StoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceSwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CallDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FP2RegisterDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPopDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FlushDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/Format3ADecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IllegalInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IntegerBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/JmplDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LogicDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/MemoryInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadWriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RegisterDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RestoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RettDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCAtomicLoadStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCBranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCCallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCDisassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFP2RegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPMoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFlushInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFormat3AInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCHelper.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIllegalInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIndirectCallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCJmplInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLdstubInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCNoopInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCOpcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRestoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRettInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSaveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSethiInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStbarInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSwapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCTrapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCUnimpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV8Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9CasInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ConditionFlags.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9DoneInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVccInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVrInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FlushwInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9IlltrapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ImpdepInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVccInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVrInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MembarInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Opcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PopcInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrefetchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RdprInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterBranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RestoredInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RetryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SavedInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SirInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WriteInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WrprInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCWriteInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SaveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SethiDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/StoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/TrapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/UnimpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop1Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop2Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpacePrefetchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceSwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CCBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CasDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9DoneRetryDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVccDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVrDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop1Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop2Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FloatBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FlushwDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntRegisterBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntegerBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVccDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVrDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PopcDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrefetchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrivilegedReadWriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RdprDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ReadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RegisterBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SavedRestoredDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WrprDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/WriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/CallDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ConditionalJmpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatGRPDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/GRPDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/JmpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/LogicalDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/MoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/RotateDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSELogicalDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CondJmpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86DirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86GeneralInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86IllegalInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86JmpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86LogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Opcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86PCRelativeAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterDirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterPart.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RotateInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisterAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegisters.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGenGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGenGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/ContigPermSpace.java - agent/src/share/classes/sun/jvm/hotspot/memory/PermGen.java - agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/CompiledICHolderKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/KlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/MethodDataKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/MethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64CurrentFrameGuess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64JavaCallWrapper.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64RegisterMap.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/cInterpreter.java - agent/src/share/classes/sun/jvm/hotspot/runtime/linux_ia64/LinuxIA64JavaThreadPDAccess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64/Win32IA64JavaThreadPDAccess.java - agent/src/share/classes/sun/jvm/hotspot/ui/tree/BadOopTreeNodeAdapter.java - make/solaris/makefiles/reorder_COMPILER1_amd64 - make/solaris/makefiles/reorder_COMPILER1_i486 - make/solaris/makefiles/reorder_COMPILER1_sparc - make/solaris/makefiles/reorder_COMPILER1_sparcv9 - make/solaris/makefiles/reorder_COMPILER2_amd64 - make/solaris/makefiles/reorder_COMPILER2_i486 - make/solaris/makefiles/reorder_COMPILER2_sparc - make/solaris/makefiles/reorder_COMPILER2_sparcv9 - make/solaris/makefiles/reorder_CORE_i486 - make/solaris/makefiles/reorder_CORE_sparc - make/solaris/makefiles/reorder_CORE_sparcv9 - make/solaris/makefiles/reorder_TIERED_amd64 - make/solaris/makefiles/reorder_TIERED_i486 - make/solaris/makefiles/reorder_TIERED_sparc - make/solaris/makefiles/reorder_TIERED_sparcv9 - make/solaris/reorder.sh - src/cpu/sparc/vm/dump_sparc.cpp - src/cpu/x86/vm/dump_x86_32.cpp - src/cpu/x86/vm/dump_x86_64.cpp - src/cpu/zero/vm/dump_zero.cpp - src/share/tools/ProjectCreator/DirectoryTree.java - src/share/tools/ProjectCreator/DirectoryTreeNode.java - src/share/tools/ProjectCreator/FileFormatException.java - src/share/tools/ProjectCreator/WinGammaPlatformVC6.java - src/share/vm/ci/ciArrayKlassKlass.hpp - src/share/vm/ci/ciCPCache.cpp - src/share/vm/ci/ciCPCache.hpp - src/share/vm/ci/ciInstanceKlassKlass.cpp - src/share/vm/ci/ciInstanceKlassKlass.hpp - src/share/vm/ci/ciKlassKlass.cpp - src/share/vm/ci/ciKlassKlass.hpp - src/share/vm/ci/ciMethodKlass.cpp - src/share/vm/ci/ciMethodKlass.hpp - src/share/vm/ci/ciObjArrayKlassKlass.cpp - src/share/vm/ci/ciObjArrayKlassKlass.hpp - src/share/vm/ci/ciTypeArrayKlassKlass.cpp - src/share/vm/ci/ciTypeArrayKlassKlass.hpp ! src/share/vm/compiler/compilerOracle.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp - src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp - src/share/vm/gc_implementation/parallelScavenge/psPermGen.hpp - src/share/vm/memory/classify.cpp - src/share/vm/memory/classify.hpp - src/share/vm/memory/compactPermGen.hpp - src/share/vm/memory/compactingPermGenGen.cpp - src/share/vm/memory/compactingPermGenGen.hpp - src/share/vm/memory/dump.cpp - src/share/vm/memory/permGen.cpp - src/share/vm/memory/permGen.hpp - src/share/vm/memory/restore.cpp - src/share/vm/memory/serialize.cpp - src/share/vm/oops/arrayKlassKlass.cpp - src/share/vm/oops/arrayKlassKlass.hpp - src/share/vm/oops/compiledICHolderKlass.cpp - src/share/vm/oops/compiledICHolderKlass.hpp - src/share/vm/oops/compiledICHolderOop.cpp - src/share/vm/oops/compiledICHolderOop.hpp - src/share/vm/oops/constMethodKlass.cpp - src/share/vm/oops/constMethodKlass.hpp - src/share/vm/oops/constMethodOop.cpp - src/share/vm/oops/constMethodOop.hpp - src/share/vm/oops/constantPoolKlass.cpp - src/share/vm/oops/constantPoolKlass.hpp - src/share/vm/oops/constantPoolOop.cpp - src/share/vm/oops/constantPoolOop.hpp - src/share/vm/oops/cpCacheKlass.cpp - src/share/vm/oops/cpCacheKlass.hpp - src/share/vm/oops/cpCacheOop.cpp - src/share/vm/oops/cpCacheOop.hpp - src/share/vm/oops/instanceKlassKlass.cpp - src/share/vm/oops/instanceKlassKlass.hpp - src/share/vm/oops/klassKlass.cpp - src/share/vm/oops/klassKlass.hpp - src/share/vm/oops/klassOop.cpp - src/share/vm/oops/klassOop.hpp - src/share/vm/oops/methodDataKlass.cpp - src/share/vm/oops/methodDataKlass.hpp - src/share/vm/oops/methodDataOop.cpp - src/share/vm/oops/methodDataOop.hpp - src/share/vm/oops/methodKlass.cpp - src/share/vm/oops/methodKlass.hpp - src/share/vm/oops/methodOop.cpp - src/share/vm/oops/methodOop.hpp - src/share/vm/oops/objArrayKlassKlass.cpp - src/share/vm/oops/objArrayKlassKlass.hpp - src/share/vm/oops/typeArrayKlassKlass.cpp - src/share/vm/oops/typeArrayKlassKlass.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 77443715ec55 Author: kamg Date: 2012-11-05 17:03 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/77443715ec55 8001307: Modify ACC_SUPER behavior Summary: Disallow non-virtual calls even when ACC_SUPER is absent. Reviewed-by: kvn, acorn ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/globals.hpp Changeset: b5cb079ecaa4 Author: ewendeli Date: 2013-02-03 22:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b5cb079ecaa4 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 1cabf9c80e84 Author: ewendeli Date: 2013-02-19 21:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1cabf9c80e84 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/arguments.cpp Changeset: d4a32a6f8c82 Author: ewendeli Date: 2013-02-25 07:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d4a32a6f8c82 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 11d5942ef9c7 Author: lana Date: 2013-03-12 18:22 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/11d5942ef9c7 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5ee744831dcb Author: lana Date: 2013-03-14 19:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5ee744831dcb Merge Changeset: 0631ebcc45f0 Author: amurillo Date: 2013-03-15 11:18 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0631ebcc45f0 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 3db4ab0e12f4 Author: amurillo Date: 2013-03-15 11:18 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3db4ab0e12f4 Added tag hs25-b23 for changeset 0631ebcc45f0 ! .hgtags Changeset: 7ae04e71af90 Author: amurillo Date: 2013-03-15 11:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7ae04e71af90 8010105: new hotspot build - hs25-b24 Reviewed-by: jcoomes ! make/hotspot_version Changeset: f3d486462d36 Author: morris Date: 2013-03-15 18:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f3d486462d36 Merge From morris.meyer at oracle.com Sat Mar 16 10:38:52 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Sat, 16 Mar 2013 17:38:52 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 4 new changesets Message-ID: <20130316173902.1BB2B481D4@hg.openjdk.java.net> Changeset: 96ef09c26978 Author: morris Date: 2013-03-16 07:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/96ef09c26978 8009166: [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp Summary: add guarantee() to as_instance_type() Reviewed-by: kvn, twisti ! src/share/vm/opto/type.cpp Changeset: 8b4ce9870fd6 Author: morris Date: 2013-03-16 07:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8b4ce9870fd6 8009156: [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp Summary: add guarantee() to add_generation_memory_pool() Reviewed-by: kvn, twisti ! src/share/vm/services/memoryService.cpp Changeset: 0a2deac0bbfb Author: morris Date: 2013-03-16 07:40 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0a2deac0bbfb 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp Summary: add guarantee() to oop_result inlines Reviewed-by: kvn, twisti ! src/cpu/x86/vm/frame_x86.inline.hpp Changeset: 9ef47379df20 Author: morris Date: 2013-03-16 07:41 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9ef47379df20 8010144: [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Summary: add null check to signal handler Reviewed-by: dcubed ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp From krystal.mo at oracle.com Sun Mar 17 00:36:50 2013 From: krystal.mo at oracle.com (krystal.mo at oracle.com) Date: Sun, 17 Mar 2013 07:36:50 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130317073657.4EC9A481F0@hg.openjdk.java.net> Changeset: 8552f0992748 Author: kmo Date: 2013-03-15 22:07 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8552f0992748 8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again Summary: add a missing change from JDK-7054512 so that Oop.iterateFields() works with UseCompressedKlassPointers Reviewed-by: coleenp, roland Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Changeset: 592f9722c72e Author: kmo Date: 2013-03-16 21:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/592f9722c72e Merge From niclas.adlertz at oracle.com Mon Mar 18 02:13:45 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Mon, 18 Mar 2013 10:13:45 +0100 Subject: RFR(S) 8010121: Remove definition of ShouldNotReachHere2(msg) Message-ID: Hi all. Problem: We have methods fatal(msg), ShouldNotReachHere() and ShouldNotReachHere2(msg). The ShouldNotReachHere2(msg) is identical to fatal(msg). There is no need for two identical methods. Solution: Remove the definition of ShouldNotReachHere2(msg) and replace its uses with fatal(msg). A review would be much appreciated. Thank you. Regards, Niclas Adlertz --------------------- WEBREV: http://cr.openjdk.java.net/~neliasso/8010121/webrev.01/ BUG: https://jbs.oracle.com/bugs/browse/JDK-8010121, http://bugs.sun.com/view_bug.do?bug_id=8010121 From stefan.karlsson at oracle.com Mon Mar 18 02:46:13 2013 From: stefan.karlsson at oracle.com (Stefan Karlsson) Date: Mon, 18 Mar 2013 10:46:13 +0100 Subject: RFR(S) 8010121: Remove definition of ShouldNotReachHere2(msg) In-Reply-To: References: Message-ID: <5146E265.4000204@oracle.com> Looks good. FYI, ShouldNotReachHere2 sneaked its way into the code base with the NPG changes. StefanK On 03/18/2013 10:13 AM, Niclas Adlertz wrote: > Hi all. > > Problem: > We have methods fatal(msg), ShouldNotReachHere() and ShouldNotReachHere2(msg). The ShouldNotReachHere2(msg) is identical to fatal(msg). There is no need for two identical methods. > > Solution: > Remove the definition of ShouldNotReachHere2(msg) and replace its uses with fatal(msg). > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8010121/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8010121, http://bugs.sun.com/view_bug.do?bug_id=8010121 From rickard.backman at oracle.com Mon Mar 18 03:27:56 2013 From: rickard.backman at oracle.com (=?iso-8859-1?Q?Rickard_B=E4ckman?=) Date: Mon, 18 Mar 2013 11:27:56 +0100 Subject: RFR(S) 8010121: Remove definition of ShouldNotReachHere2(msg) In-Reply-To: References: Message-ID: <6FB8821E-0E31-4720-B986-CD288F3F95AB@oracle.com> Niclas, the change looks good to me. /R On Mar 18, 2013, at 10:13 AM, Niclas Adlertz wrote: > Hi all. > > Problem: > We have methods fatal(msg), ShouldNotReachHere() and ShouldNotReachHere2(msg). The ShouldNotReachHere2(msg) is identical to fatal(msg). There is no need for two identical methods. > > Solution: > Remove the definition of ShouldNotReachHere2(msg) and replace its uses with fatal(msg). > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8010121/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8010121, http://bugs.sun.com/view_bug.do?bug_id=8010121 From roland.westrelin at oracle.com Mon Mar 18 05:21:10 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 18 Mar 2013 13:21:10 +0100 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: <5143A325.7090808@oracle.com> References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> <5143A325.7090808@oracle.com> Message-ID: Thanks for the review, Vladimir. Roland. From roland.westrelin at oracle.com Mon Mar 18 05:27:39 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 18 Mar 2013 13:27:39 +0100 Subject: RFR(M): 8008555: Debugging code in compiled method sometimes leaks memory In-Reply-To: <2953E08E-AA67-4434-AEE8-5D1BFB4C97C2@oracle.com> References: <8060FD77-B32C-4F50-BCB1-0BAAF4FCBF01@oracle.com> <2953E08E-AA67-4434-AEE8-5D1BFB4C97C2@oracle.com> Message-ID: <52B18279-2EDE-45A0-A340-78827671F668@oracle.com> > I couldn't find where you put the assert or other null check but I'm fine with the change. It looks like I removed it by accident. I'll add it back. Thanks for reviewing this. Roland. From roland.westrelin at oracle.com Mon Mar 18 06:36:49 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 18 Mar 2013 06:36:49 -0700 (PDT) Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: <5140B6BA.1020700@oracle.com> References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> <5140B6BA.1020700@oracle.com> Message-ID: <27168398-8E0F-466A-A4A2-82AB447CFE96@oracle.com> > Looks reasonable to me but I would ask 292 experts for additional review. Thanks, Vladimir. Roland. From roland.westrelin at oracle.com Mon Mar 18 07:11:46 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 18 Mar 2013 15:11:46 +0100 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> Message-ID: Hi Chris, Thanks for reviewing this. > src/share/vm/runtime/deoptimization.cpp: > > I'm confused by that code. Does Bytecode_invoke invoke represent the instruction at cur_code? If so you could replace: > > if (cur_code != Bytecodes::_invokestatic && cur_code != Bytecodes::_invokedynamic) { > > by: > > if (invoke.has_receiver()) { Yes, the two are the same. I'll make the change you suggest. > src/share/vm/runtime/frame.cpp: > > void oops_do() { > if (_has_receiver) { > handle_oop_offset(); > _offset++; > } > iterate_parameters(); > + if (_has_appendix) { > + handle_oop_offset(); > + } > } > > Shouldn't there be an _offset++ after the appendix too? There's nothing that comes after the appendix so I don't think it matters. Roland. From morris.meyer at oracle.com Mon Mar 18 08:39:09 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Mon, 18 Mar 2013 11:39:09 -0400 Subject: RFR (XXS) 8009172 [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp In-Reply-To: <5C75BE4B-D65B-4EB7-8E92-140028D18B7C@oracle.com> References: <5141F417.6070705@oracle.com> <5C75BE4B-D65B-4EB7-8E92-140028D18B7C@oracle.com> Message-ID: <5147351D.7030008@oracle.com> Fixed. Thanks Christian. WEBREV - http://cr.openjdk.java.net/~morris/8009172.02 --mm On 3/14/13 5:12 PM, Christian Thalinger wrote: > + guarantee( n != NULL, "no nodes available" ); > > Please remove the spaces after and before the parentheses. > > -- Chris > > On Mar 14, 2013, at 9:00 AM, Morris Meyer wrote: > >> Folks, >> >> Thanks for your patience with these parfait reviews. >> >> Could I get a quick review for this small fix for a parfait null pointer issue? This has been through JPRT. >> >> Thanks in advance, >> >> --morris meyer >> >> WEBREV - http://cr.openjdk.java.net/~morris/8009172.01 >> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009172 From christian.thalinger at oracle.com Mon Mar 18 09:02:57 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 18 Mar 2013 09:02:57 -0700 Subject: RFR(S) 8010121: Remove definition of ShouldNotReachHere2(msg) In-Reply-To: References: Message-ID: <45EB33E0-6B48-424E-BE57-0644FDFBA775@oracle.com> Thank you. -- Chris On Mar 18, 2013, at 2:13 AM, Niclas Adlertz wrote: > Hi all. > > Problem: > We have methods fatal(msg), ShouldNotReachHere() and ShouldNotReachHere2(msg). The ShouldNotReachHere2(msg) is identical to fatal(msg). There is no need for two identical methods. > > Solution: > Remove the definition of ShouldNotReachHere2(msg) and replace its uses with fatal(msg). > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8010121/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8010121, http://bugs.sun.com/view_bug.do?bug_id=8010121 From vladimir.x.ivanov at oracle.com Mon Mar 18 09:03:13 2013 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Mon, 18 Mar 2013 16:03:13 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8008211: Some of WB tests on compiler fail Message-ID: <20130318160318.4AE9048213@hg.openjdk.java.net> Changeset: 4efac99a998b Author: iignatyev Date: 2013-03-18 04:29 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4efac99a998b 8008211: Some of WB tests on compiler fail Reviewed-by: kvn, vlivanov ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java From vladimir.kozlov at oracle.com Mon Mar 18 09:45:53 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 18 Mar 2013 09:45:53 -0700 Subject: RFR(S) 8010121: Remove definition of ShouldNotReachHere2(msg) In-Reply-To: References: Message-ID: <514744C1.3030109@oracle.com> Looks good. Thanks, Vladimir On 3/18/13 2:13 AM, Niclas Adlertz wrote: > Hi all. > > Problem: > We have methods fatal(msg), ShouldNotReachHere() and ShouldNotReachHere2(msg). The ShouldNotReachHere2(msg) is identical to fatal(msg). There is no need for two identical methods. > > Solution: > Remove the definition of ShouldNotReachHere2(msg) and replace its uses with fatal(msg). > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8010121/webrev.01/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8010121, http://bugs.sun.com/view_bug.do?bug_id=8010121 > From vladimir.kozlov at oracle.com Mon Mar 18 10:39:29 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 18 Mar 2013 10:39:29 -0700 Subject: RFR (XXS) 8009172 [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp In-Reply-To: <5147351D.7030008@oracle.com> References: <5141F417.6070705@oracle.com> <5C75BE4B-D65B-4EB7-8E92-140028D18B7C@oracle.com> <5147351D.7030008@oracle.com> Message-ID: <51475151.7060808@oracle.com> Good. Vladimir On 3/18/13 8:39 AM, Morris Meyer wrote: > Fixed. Thanks Christian. > > WEBREV - http://cr.openjdk.java.net/~morris/8009172.02 > > --mm > > On 3/14/13 5:12 PM, Christian Thalinger wrote: >> + guarantee( n != NULL, "no nodes available" ); >> >> Please remove the spaces after and before the parentheses. >> >> -- Chris >> >> On Mar 14, 2013, at 9:00 AM, Morris Meyer >> wrote: >> >>> Folks, >>> >>> Thanks for your patience with these parfait reviews. >>> >>> Could I get a quick review for this small fix for a parfait null >>> pointer issue? This has been through JPRT. >>> >>> Thanks in advance, >>> >>> --morris meyer >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8009172.01 >>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009172 > From christian.thalinger at oracle.com Mon Mar 18 11:05:18 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 18 Mar 2013 11:05:18 -0700 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> Message-ID: <666C15E6-B1E2-4ACB-B9CF-4981E9E7B020@oracle.com> On Mar 18, 2013, at 7:11 AM, Roland Westrelin wrote: > Hi Chris, > > Thanks for reviewing this. > >> src/share/vm/runtime/deoptimization.cpp: >> >> I'm confused by that code. Does Bytecode_invoke invoke represent the instruction at cur_code? If so you could replace: >> >> if (cur_code != Bytecodes::_invokestatic && cur_code != Bytecodes::_invokedynamic) { >> >> by: >> >> if (invoke.has_receiver()) { > > Yes, the two are the same. I'll make the change you suggest. > >> src/share/vm/runtime/frame.cpp: >> >> void oops_do() { >> if (_has_receiver) { >> handle_oop_offset(); >> _offset++; >> } >> iterate_parameters(); >> + if (_has_appendix) { >> + handle_oop_offset(); >> + } >> } >> >> Shouldn't there be an _offset++ after the appendix too? > > There's nothing that comes after the appendix so I don't think it matters. That's correct. But the current code increments _offset after each parameter. I just want to make sure that other code that might depend on this behavior doesn't break. -- Chris > > Roland. From christian.thalinger at oracle.com Mon Mar 18 11:05:52 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 18 Mar 2013 11:05:52 -0700 Subject: RFR (XXS) 8009172 [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp In-Reply-To: <5147351D.7030008@oracle.com> References: <5141F417.6070705@oracle.com> <5C75BE4B-D65B-4EB7-8E92-140028D18B7C@oracle.com> <5147351D.7030008@oracle.com> Message-ID: <4D010C3E-36DE-4A58-8988-F5B004E33A74@oracle.com> Thank you. Looks good. -- Chris On Mar 18, 2013, at 8:39 AM, Morris Meyer wrote: > Fixed. Thanks Christian. > > WEBREV - http://cr.openjdk.java.net/~morris/8009172.02 > > --mm > > On 3/14/13 5:12 PM, Christian Thalinger wrote: >> + guarantee( n != NULL, "no nodes available" ); >> >> Please remove the spaces after and before the parentheses. >> >> -- Chris >> >> On Mar 14, 2013, at 9:00 AM, Morris Meyer wrote: >> >>> Folks, >>> >>> Thanks for your patience with these parfait reviews. >>> >>> Could I get a quick review for this small fix for a parfait null pointer issue? This has been through JPRT. >>> >>> Thanks in advance, >>> >>> --morris meyer >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8009172.01 >>> JIRA - https://jbs.oracle.com/bugs/browse/JDK-8009172 > From roland.westrelin at oracle.com Mon Mar 18 11:16:48 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 18 Mar 2013 19:16:48 +0100 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: <666C15E6-B1E2-4ACB-B9CF-4981E9E7B020@oracle.com> References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> <666C15E6-B1E2-4ACB-B9CF-4981E9E7B020@oracle.com> Message-ID: <90DB40A8-AE1D-4F6F-982D-53077F5FBE39@oracle.com> >>> Shouldn't there be an _offset++ after the appendix too? >> >> There's nothing that comes after the appendix so I don't think it matters. > > That's correct. But the current code increments _offset after each parameter. I just want to make sure that other code that might depend on this behavior doesn't break. I'll do that change. Roland. From vladimir.kozlov at oracle.com Mon Mar 18 11:31:52 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 18 Mar 2013 11:31:52 -0700 Subject: RFR (XS): 8010222: 8007439 disabled inlining of cold accessor methods In-Reply-To: <51368873.6040007@oracle.com> References: <51368873.6040007@oracle.com> Message-ID: <51475D98.7060108@oracle.com> http://cr.openjdk.java.net/~kvn/8010222/webrev/ Fixed typo which cause this. Thanks, Vladimir From roland.westrelin at oracle.com Mon Mar 18 12:17:14 2013 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Mon, 18 Mar 2013 19:17:14 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130318191721.AB19F4821C@hg.openjdk.java.net> Changeset: a5de0cc2f91c Author: roland Date: 2013-03-18 13:19 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a5de0cc2f91c 8008555: Debugging code in compiled method sometimes leaks memory Summary: support for strings that have same life-time as code that uses them. Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp Changeset: 578d9044c463 Author: roland Date: 2013-03-18 09:08 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/578d9044c463 Merge From john.r.rose at oracle.com Mon Mar 18 12:32:51 2013 From: john.r.rose at oracle.com (John Rose) Date: Mon, 18 Mar 2013 12:32:51 -0700 Subject: RFR (XS): 8010222: 8007439 disabled inlining of cold accessor methods In-Reply-To: <51475D98.7060108@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> Message-ID: <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> On Mar 18, 2013, at 11:31 AM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/8010222/webrev/ > > Fixed typo which cause this. It's a good fix. Too bad about the typo. ? John P.S. That sort of bug can crop up in an editor that doesn't do context-sensitive indenting. I wonder if we should use a really basic style sniffer that would detect such "deceptive indents" such as: . . .if (foo) . . . .print("hello!"); . . . .return true; or . . .if (foo) print("hello!"); . . . .return true; Such things must exist somewhere. (And, before anybody asks, I don't propose we start compensating for dumb text editors by requiring stricter or more uniform rules of style. That would be so '80s.) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130318/0eef6458/attachment.html From john.r.rose at oracle.com Mon Mar 18 13:03:26 2013 From: john.r.rose at oracle.com (John Rose) Date: Mon, 18 Mar 2013 13:03:26 -0700 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> Message-ID: <0A6FBE69-179A-41C6-859E-CB575F346FB5@oracle.com> On Mar 18, 2013, at 7:11 AM, Roland Westrelin wrote: >> src/share/vm/runtime/deoptimization.cpp: >> >> I'm confused by that code. Does Bytecode_invoke invoke represent the instruction at cur_code? If so you could replace: >> >> if (cur_code != Bytecodes::_invokestatic && cur_code != Bytecodes::_invokedynamic) { >> >> by: >> >> if (invoke.has_receiver()) { > > Yes, the two are the same. I'll make the change you suggest. The code after, which calls MethodHandles::has_member_arg, seems wrong to me. That applies to sig-poly intrinsics like linkToStatic. Those guys always take a trailing MemberName (low-level function pointer) after all the normal arguments. But, that trailing MemberName is fully represented in the signature of the call. Example: A direct call of out.println("foo") is: push out; push "foo"; invokevirtual PrintStream.println(String)V while the corresponding indirect call is: push out; push "foo"; push println_MN; invokestatic MethodHandle.linkToVirtual(PrintStream,String,MemberName)V Both calls end up at exactly the same entry point (some println(String) after dispatch). The println_MN value is quietly dropped (interpreter) or ignored (compiler). Because the bytecodes mention the MemberName as an argument, it is does not really qualify as an "appendix". An "appendix" is a property of a resolved call site. If present (non-null) it is pushed after any normal arguments. (In that sense it is like the MemberName above.) But it is not represented in the signature at the call site. (So it's not like the MemberName.) The linkage of the call site takes care that, if an appendix is present, then the method linked to (at the same call site) accepts the extra argument. This is how invokedynamic and invokehandle manage to smuggled additional bits of call-site-specific information into a call. The LambdaForm method (adapter logic) at the call site has a signature which expects the extra appendix argument, so once into the LF method, the appendix has a real presence in the JVM (as a local variable). All this background is to say, maybe (maybe!) the logic in deoptimization.cpp should be calling has_appendix on the call site, not has_member_arg on the method. ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130318/596ee7dd/attachment.html From vladimir.kozlov at oracle.com Mon Mar 18 14:02:41 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 18 Mar 2013 14:02:41 -0700 Subject: RFR (XS): 8010222: 8007439 disabled inlining of cold accessor methods In-Reply-To: <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> Message-ID: <514780F1.9030806@oracle.com> Thank you, John I am pro strict rule of style - always use {}. It would be much easier to verify by auto tool. It is not the first time we hit such problem. Vladimir On 3/18/13 12:32 PM, John Rose wrote: > On Mar 18, 2013, at 11:31 AM, Vladimir Kozlov > > wrote: > >> http://cr.openjdk.java.net/~kvn/8010222/webrev/ >> >> Fixed typo which cause this. > > It's a good fix. Too bad about the typo. ? John > > P.S. That sort of bug can crop up in an editor that doesn't do > context-sensitive indenting. > I wonder if we should use a really basic style sniffer that would detect > such "deceptive indents" such as: > > . . .if (foo) > . . . .print("hello!"); > . . . .return true; > or > . . .if (foo) print("hello!"); > . . . .return true; > > Such things must exist somewhere. > > (And, before anybody asks, I don't propose we start compensating for > dumb text editors by requiring stricter or more uniform rules of style. > That would be so '80s.) From christian.thalinger at oracle.com Mon Mar 18 15:40:40 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 18 Mar 2013 15:40:40 -0700 Subject: RFR (XS): 8010222: 8007439 disabled inlining of cold accessor methods In-Reply-To: <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> Message-ID: On Mar 18, 2013, at 12:32 PM, John Rose wrote: > On Mar 18, 2013, at 11:31 AM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/8010222/webrev/ >> >> Fixed typo which cause this. > > It's a good fix. Too bad about the typo. ? John > > P.S. That sort of bug can crop up in an editor that doesn't do context-sensitive indenting. > I wonder if we should use a really basic style sniffer that would detect such "deceptive indents" such as: > > . . .if (foo) > . . . .print("hello!"); > . . . .return true; > or > . . .if (foo) print("hello!"); > . . . .return true; > > Such things must exist somewhere. The main problem is there are some people who write code like: if (foo) return false; without curly braces. You know who you are ;-) -- Chris > > (And, before anybody asks, I don't propose we start compensating for dumb text editors by requiring stricter or more uniform rules of style. That would be so '80s.) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130318/bae3e3a1/attachment-0001.html From john.r.rose at oracle.com Mon Mar 18 21:14:14 2013 From: john.r.rose at oracle.com (John Rose) Date: Mon, 18 Mar 2013 21:14:14 -0700 Subject: RFR (XS): 8010222: 8007439 disabled inlining of cold accessor methods In-Reply-To: References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> Message-ID: On Mar 18, 2013, at 3:40 PM, Christian Thalinger wrote: > The main problem is there are some people who write code like: > > if (foo) > return false; > > without curly braces. You know who you are ;-) That would be me for one. And "main problem" is overstating it. The main problem is breaking code. Debatable practices which make breaks more or less likely are not the main problem! ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130318/46f18d66/attachment.html From roland.westrelin at oracle.com Tue Mar 19 02:19:59 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 19 Mar 2013 10:19:59 +0100 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <8523BDE2-60E8-4EAD-93C8-D0685F31790F@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> <8523BDE2-60E8-4EAD-93C8-D0685F31790F@oracle.com> Message-ID: <66EB9C6C-BBCA-408F-ABDE-79542A10F01A@oracle.com> Hi Chris, Thanks for reviewing this. Here is a new webrev: http://cr.openjdk.java.net/~roland/7153771/webrev.04/ > src/share/vm/c1/c1_Compilation.hpp: > > + bool is_optimistic() const { > + return !TieredCompilation && > > Do you know why optimistic RCE doesn't work with tiered? It's not that it doesn't work. Rather it probably doesn't make much sense. We probably want to get as quickly as possible to a c2 compiled method and having a recompilation with c1 caused by an invalid predicate would delay the c2 code without much benefit. > src/share/vm/c1/c1_Instruction.cpp: > > + case aeq: assert(false, "Above equal cannot be negated"); > + case beq: assert(false, "Below equal cannot be negated"); > > They can be negated but I guess we don't need it? They can't be negated with available condition values. > src/share/vm/c1/c1_InstructionPrinter.cpp: > > + case If::aeq: return "aeq"; > + case If::beq: return "beq"; > > Graal uses this notation for unsigned compares: > > AE("|>=|"), > BE("|<=|"), > > Can we use these too for the sake of limited human parsing abilities? Ok. > src/share/vm/c1/c1_IR.cpp: > > + virtual void block_do(BlockBegin *block) { > + > + Instruction *cur = block; > + while (cur) { > + assert(cur->block() == block, "Block begin is not correct"); > + cur = cur->next(); > + } > + } > > Just a nit but a for loop would be nicer here. Ok, I'll make the change. > > src/share/vm/oops/methodData.cpp: > > int MethodData::bytecode_cell_count(Bytecodes::Code code) { > +#if defined(COMPILER1) && !defined(COMPILER2) > + return no_profile_data; > +#endif > switch (code) { > > Aren't some compilers warning about unreached code? Are you suggesting the rest of the method be enclosed in a #else? > src/share/vm/c1/c1_RangeCheckElimination.cpp: > > Could we factor some code in RangeCheckEliminator::insert_deoptimization? E.g. > > 697 Constant *constant = new Constant(new IntConstant(upper)); > 698 NOT_PRODUCT(constant->set_printable_bci(ai->printable_bci())); > 699 insert_position = insert_position->insert_after(constant); > 700 ArithmeticOp *ao = new ArithmeticOp(Bytecodes::_iadd, constant, upper_instr, false, NULL); > 701 insert_position = insert_position->insert_after_same_bci(ao); > 702 // Compare for geq array.length > 703 RangeCheckPredicate *deoptimize = new RangeCheckPredicate(ao, Instruction::geq, true, length_instr, state->copy()); > 704 NOT_PRODUCT(deoptimize->set_printable_bci(ai->printable_bci())); > 705 insert_position = insert_position->insert_after_same_bci(deoptimize); > > And perhaps some other code. Ok. I've reworked insert_deoptimization. > > RangeCheckEliminator::process_access_indexed: > > 824 TRACE_RANGE_CHECK_ELIMINATION( > 825 tty->fill_to(block->dominator_depth()*2); > 826 tty->print_cr("Lower instruction %d not loop invariant!", lower_instr->id())); > > The indenting is wrong here and very hard to read. Can we change all occurrences to: > > 824 TRACE_RANGE_CHECK_ELIMINATION( > 825 tty->fill_to(block->dominator_depth()*2); > 826 tty->print_cr("Lower instruction %d not loop invariant!", lower_instr->id()); > ); Ok. Roland. From niclas.adlertz at oracle.com Tue Mar 19 02:44:48 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Tue, 19 Mar 2013 10:44:48 +0100 Subject: RFR(S) 8010121: Remove definition of ShouldNotReachHere2(msg) In-Reply-To: <514744C1.3030109@oracle.com> References: <514744C1.3030109@oracle.com> Message-ID: <93460C0D-59E8-4D6A-9E2B-C9A5898EEAC0@oracle.com> Thank you Vladimir, Christian, Rickard and Stefan. Regards, Niclas Adlertz On 18 mar 2013, at 17:45, Vladimir Kozlov wrote: > Looks good. > > Thanks, > Vladimir > > On 3/18/13 2:13 AM, Niclas Adlertz wrote: >> Hi all. >> >> Problem: >> We have methods fatal(msg), ShouldNotReachHere() and ShouldNotReachHere2(msg). The ShouldNotReachHere2(msg) is identical to fatal(msg). There is no need for two identical methods. >> >> Solution: >> Remove the definition of ShouldNotReachHere2(msg) and replace its uses with fatal(msg). >> >> A review would be much appreciated. >> Thank you. >> >> Regards, >> Niclas Adlertz >> >> --------------------- >> >> WEBREV: http://cr.openjdk.java.net/~neliasso/8010121/webrev.01/ >> BUG: https://jbs.oracle.com/bugs/browse/JDK-8010121, http://bugs.sun.com/view_bug.do?bug_id=8010121 >> From nils.eliasson at oracle.com Tue Mar 19 05:04:10 2013 From: nils.eliasson at oracle.com (nils.eliasson at oracle.com) Date: Tue, 19 Mar 2013 12:04:10 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010121: Remove definition of ShouldNotReachHere2(msg) Message-ID: <20130319120415.1E70B4824D@hg.openjdk.java.net> Changeset: be4d5c6c1f79 Author: neliasso Date: 2013-03-19 10:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/be4d5c6c1f79 8010121: Remove definition of ShouldNotReachHere2(msg) Reviewed-by: kvn, stefank, rbackman, twisti Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp From roland.westrelin at oracle.com Tue Mar 19 06:00:08 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 19 Mar 2013 14:00:08 +0100 Subject: RFR(S): 8009981: nashorn tests fail with -XX:+VerifyStack In-Reply-To: <0A6FBE69-179A-41C6-859E-CB575F346FB5@oracle.com> References: <5E0C44C0-8165-4D35-B6A0-454C29666776@oracle.com> <0A6FBE69-179A-41C6-859E-CB575F346FB5@oracle.com> Message-ID: Hi John, Thanks for taking a look at this. > All this background is to say, maybe (maybe!) the logic in deoptimization.cpp should be calling has_appendix on the call site, not has_member_arg on the method. This logic mirrors the one in vframeArray::unpack_to_stack(). The code walks the stack from the top frame. callee_size_of_parameters is mh->size_of_parameters(), for the previous frame so it includes the appendix, right? In any case, the callee_size_of_parameters shouldn't be performed for the top frame (the i != 0 test below was missing): if (i != 0 && !invoke.is_invokedynamic() && MethodHandles::has_member_arg(invoke.klass(), invoke.name())) { callee_size_of_parameters++; } Roland. From morris.meyer at oracle.com Tue Mar 19 07:39:42 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 10:39:42 -0400 Subject: RFR(XS) 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp In-Reply-To: <51367AC0.1030900@oracle.com> References: <51367028.7050705@oracle.com> <51367AC0.1030900@oracle.com> Message-ID: <514878AE.9000105@oracle.com> Vladimir - thanks for the review. Here is the updated webrev. These changes have been through JPRT. --mm WEBREV - http://cr.openjdk.java.net/~morris/8008811.02 On 3/5/13 6:07 PM, Vladimir Kozlov wrote: > In loopnode.hpp reverse check to != NULL so that real code will be first. > > In loopnode.cpp check dp != NULL because dp->as_Proj() is reference > through dp. as_Proj() is cast. > > bolphi check should be before replace_node() call. > > I don't understand why you need next check: > if (reg == NULL) return NULL; > > insert_region_before_proj() returns "reg = new (C)RegionNode(2)" so it > can't be NULL. > > Thanks, > Vladimir > > On 3/5/13 2:22 PM, Morris Meyer wrote: >> Folks, >> >> Could I get a review for this parfait issue? This has been through JPRT. >> >> Thanks much, >> >> --mm >> >> WEBREV - http://cr.openjdk.java.net/~morris/8008811.01 >> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008811 From morris.meyer at oracle.com Tue Mar 19 07:42:24 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 10:42:24 -0400 Subject: RFR(XS) 8008677: [parfait] Null pointer deference in hotspot/src/share/vm/memory/collectorPolicy.cpp Message-ID: <51487950.4050507@oracle.com> Folks, Could I get a review of this small change for this parfait issue? Per the workflow this has been through JPRT. Thanks in advance! --morris WEBREV - http://cr.openjdk.java.net/~morris/8008677.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8008677 From morris.meyer at oracle.com Tue Mar 19 08:06:12 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 11:06:12 -0400 Subject: RFR(XS) 8009022: [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp Message-ID: <51487EE4.20905@oracle.com> Folks, Could I get a review of this small change for this parfait issue? Per the workflow this has been through JPRT. Thanks in advance! --morris WEBREV - http://cr.openjdk.java.net/~morris/8009022.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009022 From christian.thalinger at oracle.com Tue Mar 19 08:43:41 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 19 Mar 2013 08:43:41 -0700 Subject: RFR(XS) 8008677: [parfait] Null pointer deference in hotspot/src/share/vm/memory/collectorPolicy.cpp In-Reply-To: <51487950.4050507@oracle.com> References: <51487950.4050507@oracle.com> Message-ID: <6449F9FF-02AC-414A-8E2E-D9D03EBD0EFF@oracle.com> Looks good. -- Chris On Mar 19, 2013, at 7:42 AM, Morris Meyer wrote: > Folks, > > Could I get a review of this small change for this parfait issue? Per the workflow this has been through JPRT. > > Thanks in advance! > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8008677.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008677 > > From christian.thalinger at oracle.com Tue Mar 19 09:55:51 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 19 Mar 2013 09:55:51 -0700 Subject: RFR(XS) 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp In-Reply-To: <514878AE.9000105@oracle.com> References: <51367028.7050705@oracle.com> <51367AC0.1030900@oracle.com> <514878AE.9000105@oracle.com> Message-ID: <73493DA9-0FA4-40D2-88C2-61A3D736545A@oracle.com> On Mar 19, 2013, at 7:39 AM, Morris Meyer wrote: > Vladimir - thanks for the review. Here is the updated webrev. These changes have been through JPRT. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8008811.02 src/share/vm/opto/loopnode.hpp: + bool has_node( Node* n ) const { + guarantee(n != NULL, "No Node."); + return _nodes[n->_idx] != NULL; + } Do we want to check the index here as well? -- Chris > > > On 3/5/13 6:07 PM, Vladimir Kozlov wrote: >> In loopnode.hpp reverse check to != NULL so that real code will be first. >> >> In loopnode.cpp check dp != NULL because dp->as_Proj() is reference through dp. as_Proj() is cast. >> >> bolphi check should be before replace_node() call. >> >> I don't understand why you need next check: >> if (reg == NULL) return NULL; >> >> insert_region_before_proj() returns "reg = new (C)RegionNode(2)" so it can't be NULL. >> >> Thanks, >> Vladimir >> >> On 3/5/13 2:22 PM, Morris Meyer wrote: >>> Folks, >>> >>> Could I get a review for this parfait issue? This has been through JPRT. >>> >>> Thanks much, >>> >>> --mm >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008811.01 >>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008811 > From christian.thalinger at oracle.com Tue Mar 19 10:05:42 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 19 Mar 2013 10:05:42 -0700 Subject: RFR (XS): 8010222: 8007439 disabled inlining of cold accessor methods In-Reply-To: References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <58B94C41-27F9-4B4A-BE36-9D1947C21581@oracle.com> Message-ID: <03E8E65A-F001-45D8-8893-2C1FB0C883C9@oracle.com> On Mar 18, 2013, at 9:14 PM, John Rose wrote: > On Mar 18, 2013, at 3:40 PM, Christian Thalinger wrote: > >> The main problem is there are some people who write code like: >> >> if (foo) >> return false; >> >> without curly braces. You know who you are ;-) > > That would be me for one. And "main problem" is overstating it. > > The main problem is breaking code. Debatable practices which make breaks more or less likely are not the main problem! True. I was overstating. I know this doesn't solve the problem of breaking code but how about having an auto-formatting tool on Mercurial commits? Or when generating webrevs? Then reviewers could spot the breakage. -- Chris > > ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130319/012164f5/attachment.html From vladimir.kozlov at oracle.com Tue Mar 19 10:15:47 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 10:15:47 -0700 Subject: RFR(XS) 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp In-Reply-To: <73493DA9-0FA4-40D2-88C2-61A3D736545A@oracle.com> References: <51367028.7050705@oracle.com> <51367AC0.1030900@oracle.com> <514878AE.9000105@oracle.com> <73493DA9-0FA4-40D2-88C2-61A3D736545A@oracle.com> Message-ID: <51489D43.1040100@oracle.com> On 3/19/13 9:55 AM, Christian Thalinger wrote: > > On Mar 19, 2013, at 7:39 AM, Morris Meyer wrote: > >> Vladimir - thanks for the review. Here is the updated webrev. These changes have been through JPRT. >> >> --mm >> >> WEBREV - http://cr.openjdk.java.net/~morris/8008811.02 > > src/share/vm/opto/loopnode.hpp: > > + bool has_node( Node* n ) const { > + guarantee(n != NULL, "No Node."); > + return _nodes[n->_idx] != NULL; > + } > > Do we want to check the index here as well? No need in this case: Node *operator[] ( uint i ) const // Lookup, or NULL for not mapped { return (i<_max) ? _nodes[i] : (Node*)NULL; } Morris, the changes are good. Thanks, Vladimir > > -- Chris > >> >> >> On 3/5/13 6:07 PM, Vladimir Kozlov wrote: >>> In loopnode.hpp reverse check to != NULL so that real code will be first. >>> >>> In loopnode.cpp check dp != NULL because dp->as_Proj() is reference through dp. as_Proj() is cast. >>> >>> bolphi check should be before replace_node() call. >>> >>> I don't understand why you need next check: >>> if (reg == NULL) return NULL; >>> >>> insert_region_before_proj() returns "reg = new (C)RegionNode(2)" so it can't be NULL. >>> >>> Thanks, >>> Vladimir >>> >>> On 3/5/13 2:22 PM, Morris Meyer wrote: >>>> Folks, >>>> >>>> Could I get a review for this parfait issue? This has been through JPRT. >>>> >>>> Thanks much, >>>> >>>> --mm >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/8008811.01 >>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008811 >> > From vladimir.kozlov at oracle.com Tue Mar 19 10:18:18 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 10:18:18 -0700 Subject: RFR(XS) 8008677: [parfait] Null pointer deference in hotspot/src/share/vm/memory/collectorPolicy.cpp In-Reply-To: <51487950.4050507@oracle.com> References: <51487950.4050507@oracle.com> Message-ID: <51489DDA.9080207@oracle.com> Let GC group review this. Vladimir On 3/19/13 7:42 AM, Morris Meyer wrote: > Folks, > > Could I get a review of this small change for this parfait issue? Per > the workflow this has been through JPRT. > > Thanks in advance! > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8008677.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008677 > > From vladimir.kozlov at oracle.com Tue Mar 19 10:19:23 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 10:19:23 -0700 Subject: RFR(XS) 8009022: [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp In-Reply-To: <51487EE4.20905@oracle.com> References: <51487EE4.20905@oracle.com> Message-ID: <51489E1B.5070509@oracle.com> Good. Vladimir On 3/19/13 8:06 AM, Morris Meyer wrote: > Folks, > > Could I get a review of this small change for this parfait issue? Per > the workflow this has been through JPRT. > > Thanks in advance! > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009022.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009022 > From christian.thalinger at oracle.com Tue Mar 19 10:42:58 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 19 Mar 2013 10:42:58 -0700 Subject: RFR(XS) 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp In-Reply-To: <51489D43.1040100@oracle.com> References: <51367028.7050705@oracle.com> <51367AC0.1030900@oracle.com> <514878AE.9000105@oracle.com> <73493DA9-0FA4-40D2-88C2-61A3D736545A@oracle.com> <51489D43.1040100@oracle.com> Message-ID: <57A43E40-1C38-4091-B897-0F326DCF321C@oracle.com> On Mar 19, 2013, at 10:15 AM, Vladimir Kozlov wrote: > On 3/19/13 9:55 AM, Christian Thalinger wrote: >> >> On Mar 19, 2013, at 7:39 AM, Morris Meyer wrote: >> >>> Vladimir - thanks for the review. Here is the updated webrev. These changes have been through JPRT. >>> >>> --mm >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8008811.02 >> >> src/share/vm/opto/loopnode.hpp: >> >> + bool has_node( Node* n ) const { >> + guarantee(n != NULL, "No Node."); >> + return _nodes[n->_idx] != NULL; >> + } >> >> Do we want to check the index here as well? > > No need in this case: > > Node *operator[] ( uint i ) const // Lookup, or NULL for not mapped > { return (i<_max) ? _nodes[i] : (Node*)NULL; } Ahh! The goodness of operator overloading. -- Chris > > Morris, the changes are good. > > Thanks, > Vladimir > >> >> -- Chris >> >>> >>> >>> On 3/5/13 6:07 PM, Vladimir Kozlov wrote: >>>> In loopnode.hpp reverse check to != NULL so that real code will be first. >>>> >>>> In loopnode.cpp check dp != NULL because dp->as_Proj() is reference through dp. as_Proj() is cast. >>>> >>>> bolphi check should be before replace_node() call. >>>> >>>> I don't understand why you need next check: >>>> if (reg == NULL) return NULL; >>>> >>>> insert_region_before_proj() returns "reg = new (C)RegionNode(2)" so it can't be NULL. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 3/5/13 2:22 PM, Morris Meyer wrote: >>>>> Folks, >>>>> >>>>> Could I get a review for this parfait issue? This has been through JPRT. >>>>> >>>>> Thanks much, >>>>> >>>>> --mm >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~morris/8008811.01 >>>>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8008811 >>> >> From John.Coomes at oracle.com Tue Mar 19 10:45:33 2013 From: John.Coomes at oracle.com (John Coomes) Date: Tue, 19 Mar 2013 10:45:33 -0700 Subject: RFR(XS) 8008677: [parfait] Null pointer deference in hotspot/src/share/vm/memory/collectorPolicy.cpp In-Reply-To: <51489DDA.9080207@oracle.com> References: <51487950.4050507@oracle.com> <51489DDA.9080207@oracle.com> Message-ID: <20808.42045.741551.269273@oracle.com> Vladimir Kozlov (vladimir.kozlov at oracle.com) wrote: > Let GC group review this. Thanks for sending this our way, Vladimir. Morris, there are a number of other places where parfait complains about using the result of get_gen() without checking for null. I'm going to fix them a different way - by changing get_gen() instead of changing all the callers. So I'd like to close 8008677 as a dup of JDK-8006173 [parfait] null pointer dereferences related to get_gen() (Note all the other dups of that bug.) -John > On 3/19/13 7:42 AM, Morris Meyer wrote: > > Folks, > > > > Could I get a review of this small change for this parfait issue? Per > > the workflow this has been through JPRT. > > > > Thanks in advance! > > > > --morris > > > > WEBREV - http://cr.openjdk.java.net/~morris/8008677.01 > > BUG - https://jbs.oracle.com/bugs/browse/JDK-8008677 > > > > From morris.meyer at oracle.com Tue Mar 19 10:44:58 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Tue, 19 Mar 2013 17:44:58 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130319174505.BA4964825C@hg.openjdk.java.net> Changeset: f15df3af32c5 Author: morris Date: 2013-03-19 07:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/f15df3af32c5 8009172: [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp Summary: add guarantee() to DoScheduling() Reviewed-by: twisti, kvn ! src/share/vm/opto/output.cpp Changeset: 75a28f465a12 Author: morris Date: 2013-03-19 07:23 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/75a28f465a12 8008663: [parfait] Null pointer deference in hotspot/src/share/vm/compiler/compileBroker.cpp Summary: add NULL checks for compiler name Reviewed-by: twisti, kvn ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp From christian.thalinger at oracle.com Tue Mar 19 11:46:57 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 19 Mar 2013 11:46:57 -0700 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <66EB9C6C-BBCA-408F-ABDE-79542A10F01A@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> <8523BDE2-60E8-4EAD-93C8-D0685F31790F@oracle.com> <66EB9C6C-BBCA-408F-ABDE-79542A10F01A@oracle.com> Message-ID: <1804140F-671C-4B74-8FAA-1C862A0D7213@oracle.com> On Mar 19, 2013, at 2:19 AM, Roland Westrelin wrote: > Hi Chris, > > Thanks for reviewing this. > > Here is a new webrev: > http://cr.openjdk.java.net/~roland/7153771/webrev.04/ > >> src/share/vm/c1/c1_Compilation.hpp: >> >> + bool is_optimistic() const { >> + return !TieredCompilation && >> >> Do you know why optimistic RCE doesn't work with tiered? > > It's not that it doesn't work. Rather it probably doesn't make much sense. We probably want to get as quickly as possible to a c2 compiled method and having a recompilation with c1 caused by an invalid predicate would delay the c2 code without much benefit. That makes sense. > >> src/share/vm/c1/c1_Instruction.cpp: >> >> + case aeq: assert(false, "Above equal cannot be negated"); >> + case beq: assert(false, "Below equal cannot be negated"); >> >> They can be negated but I guess we don't need it? > > They can't be negated with available condition values. > >> src/share/vm/c1/c1_InstructionPrinter.cpp: >> >> + case If::aeq: return "aeq"; >> + case If::beq: return "beq"; >> >> Graal uses this notation for unsigned compares: >> >> AE("|>=|"), >> BE("|<=|"), >> >> Can we use these too for the sake of limited human parsing abilities? > > Ok. > >> src/share/vm/c1/c1_IR.cpp: >> >> + virtual void block_do(BlockBegin *block) { >> + >> + Instruction *cur = block; >> + while (cur) { >> + assert(cur->block() == block, "Block begin is not correct"); >> + cur = cur->next(); >> + } >> + } >> >> Just a nit but a for loop would be nicer here. > > Ok, I'll make the change. > >> >> src/share/vm/oops/methodData.cpp: >> >> int MethodData::bytecode_cell_count(Bytecodes::Code code) { >> +#if defined(COMPILER1) && !defined(COMPILER2) >> + return no_profile_data; >> +#endif >> switch (code) { >> >> Aren't some compilers warning about unreached code? > > Are you suggesting the rest of the method be enclosed in a #else? Yes. > >> src/share/vm/c1/c1_RangeCheckElimination.cpp: >> >> Could we factor some code in RangeCheckEliminator::insert_deoptimization? E.g. >> >> 697 Constant *constant = new Constant(new IntConstant(upper)); >> 698 NOT_PRODUCT(constant->set_printable_bci(ai->printable_bci())); >> 699 insert_position = insert_position->insert_after(constant); >> 700 ArithmeticOp *ao = new ArithmeticOp(Bytecodes::_iadd, constant, upper_instr, false, NULL); >> 701 insert_position = insert_position->insert_after_same_bci(ao); >> 702 // Compare for geq array.length >> 703 RangeCheckPredicate *deoptimize = new RangeCheckPredicate(ao, Instruction::geq, true, length_instr, state->copy()); >> 704 NOT_PRODUCT(deoptimize->set_printable_bci(ai->printable_bci())); >> 705 insert_position = insert_position->insert_after_same_bci(deoptimize); >> >> And perhaps some other code. > > Ok. I've reworked insert_deoptimization. Much better! Thank you. > >> >> RangeCheckEliminator::process_access_indexed: >> >> 824 TRACE_RANGE_CHECK_ELIMINATION( >> 825 tty->fill_to(block->dominator_depth()*2); >> 826 tty->print_cr("Lower instruction %d not loop invariant!", lower_instr->id())); >> >> The indenting is wrong here and very hard to read. Can we change all occurrences to: >> >> 824 TRACE_RANGE_CHECK_ELIMINATION( >> 825 tty->fill_to(block->dominator_depth()*2); >> 826 tty->print_cr("Lower instruction %d not loop invariant!", lower_instr->id()); >> ); > > Ok. Thank you. Looks good. -- Chris > > Roland. > From morris.meyer at oracle.com Tue Mar 19 12:34:03 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 15:34:03 -0400 Subject: RFR(XS) 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp Message-ID: <5148BDAB.7040500@oracle.com> Folks, Could I get a review for this parfait issue? This change has been through JPRT-hotspotwest. Thanks in advance, --morris WEBREV - http://cr.openjdk.java.net/~morris/8009181.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009181 From morris.meyer at oracle.com Tue Mar 19 12:39:43 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 15:39:43 -0400 Subject: RFR(XXS) 8009248: [parfait] Null pointer deference in hotspot/src/share/vm/code/compiledIC.cpp Message-ID: <5148BEFF.2020306@oracle.com> Folks, Could I get a quick review for this very small parfait change. Thanks much! --morris WEBREV - http://cr.openjdk.java.net/~morris/8009248.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009248 From vladimir.kozlov at oracle.com Tue Mar 19 13:34:00 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 13:34:00 -0700 Subject: RFR(XS) 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp In-Reply-To: <5148BDAB.7040500@oracle.com> References: <5148BDAB.7040500@oracle.com> Message-ID: <5148CBB8.403@oracle.com> You don't need next guarantee because as_CountedLoop() is only cast: CountedLoopNode *main_head = loop->_head->as_CountedLoop(); + guarantee(main_head != NULL, "no main head loop node"); and change message in next guarantee(): CountedLoopEndNode *main_end = main_head->loopexit(); + guarantee(main_end != NULL, "no main end loop node"); use loop_exit name instead of head_exit: + CountedLoopEndNode* head_exit = head->loopexit(); Vladimir On 3/19/13 12:34 PM, Morris Meyer wrote: > Folks, > > Could I get a review for this parfait issue? This change has been > through JPRT-hotspotwest. > > Thanks in advance, > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009181.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009181 > > From vladimir.kozlov at oracle.com Tue Mar 19 13:34:37 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 13:34:37 -0700 Subject: RFR(XXS) 8009248: [parfait] Null pointer deference in hotspot/src/share/vm/code/compiledIC.cpp In-Reply-To: <5148BEFF.2020306@oracle.com> References: <5148BEFF.2020306@oracle.com> Message-ID: <5148CBDD.2010609@oracle.com> Good. Vladimir On 3/19/13 12:39 PM, Morris Meyer wrote: > Folks, > > Could I get a quick review for this very small parfait change. Thanks much! > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009248.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009248 > From morris.meyer at oracle.com Tue Mar 19 13:36:42 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 16:36:42 -0400 Subject: RFR(XXS) 8009565: [partfait] Null pointer deference in hotspot/src/share/vm/ci/ciEnv.cpp Message-ID: <5148CC5A.5040908@oracle.com> Folks, Could I get a quick review for this very small parfait change. Thanks much! --morris WEBREV - http://cr.openjdk.java.net/~morris/8009565.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009565 From vladimir.kozlov at oracle.com Tue Mar 19 13:43:19 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 13:43:19 -0700 Subject: RFR(XXS) 8009565: [partfait] Null pointer deference in hotspot/src/share/vm/ci/ciEnv.cpp In-Reply-To: <5148CC5A.5040908@oracle.com> References: <5148CC5A.5040908@oracle.com> Message-ID: <5148CDE7.5060602@oracle.com> Good. Vladimir On 3/19/13 1:36 PM, Morris Meyer wrote: > Folks, > > Could I get a quick review for this very small parfait change. Thanks much! > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009565.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009565 > From morris.meyer at oracle.com Tue Mar 19 14:02:59 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 17:02:59 -0400 Subject: RFR(XXS) 8009578: [parfait] Null pointer deference in hotspot/src/share/vm/classfile/defaultMethods.cpp Message-ID: <5148D283.6030109@oracle.com> Folks, Could I get a quick review for this very small parfait change. Thanks much! --morris WEBREV - http://cr.openjdk.java.net/~morris/8009578.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009578 From vladimir.kozlov at oracle.com Tue Mar 19 14:09:22 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 14:09:22 -0700 Subject: RFR(XXS) 8009578: [parfait] Null pointer deference in hotspot/src/share/vm/classfile/defaultMethods.cpp In-Reply-To: <5148D283.6030109@oracle.com> References: <5148D283.6030109@oracle.com> Message-ID: <5148D402.8020202@oracle.com> Good. Vladimir On 3/19/13 2:02 PM, Morris Meyer wrote: > Folks, > > Could I get a quick review for this very small parfait change. Thanks much! > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009578.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009578 > > From morris.meyer at oracle.com Tue Mar 19 14:23:48 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 19 Mar 2013 17:23:48 -0400 Subject: RFR(XS) 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp In-Reply-To: <5148CBB8.403@oracle.com> References: <5148BDAB.7040500@oracle.com> <5148CBB8.403@oracle.com> Message-ID: <5148D764.1070901@oracle.com> Thanks again for your review Vladimir. Here's the updated webrev. --mm WEBREV - http://cr.openjdk.java.net/~morris/8009181.02 On 3/19/13 4:34 PM, Vladimir Kozlov wrote: > You don't need next guarantee because as_CountedLoop() is only cast: > > CountedLoopNode *main_head = loop->_head->as_CountedLoop(); > + guarantee(main_head != NULL, "no main head loop node"); > > and change message in next guarantee(): > > CountedLoopEndNode *main_end = main_head->loopexit(); > + guarantee(main_end != NULL, "no main end loop node"); > > use loop_exit name instead of head_exit: > > + CountedLoopEndNode* head_exit = head->loopexit(); > > Vladimir > > On 3/19/13 12:34 PM, Morris Meyer wrote: >> Folks, >> >> Could I get a review for this parfait issue? This change has been >> through JPRT-hotspotwest. >> >> Thanks in advance, >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/8009181.01 >> BUG - https://jbs.oracle.com/bugs/browse/JDK-8009181 >> >> From vladimir.kozlov at oracle.com Tue Mar 19 14:28:03 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 19 Mar 2013 14:28:03 -0700 Subject: RFR(XS) 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp In-Reply-To: <5148D764.1070901@oracle.com> References: <5148BDAB.7040500@oracle.com> <5148CBB8.403@oracle.com> <5148D764.1070901@oracle.com> Message-ID: <5148D863.3000409@oracle.com> Missed renaming: - ok.set(head->loopexit()->_idx); + ok.set(head_exit->_idx); otherwise good. Vladimir On 3/19/13 2:23 PM, Morris Meyer wrote: > Thanks again for your review Vladimir. Here's the updated webrev. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/8009181.02 > > On 3/19/13 4:34 PM, Vladimir Kozlov wrote: >> You don't need next guarantee because as_CountedLoop() is only cast: >> >> CountedLoopNode *main_head = loop->_head->as_CountedLoop(); >> + guarantee(main_head != NULL, "no main head loop node"); >> >> and change message in next guarantee(): >> >> CountedLoopEndNode *main_end = main_head->loopexit(); >> + guarantee(main_end != NULL, "no main end loop node"); >> >> use loop_exit name instead of head_exit: >> >> + CountedLoopEndNode* head_exit = head->loopexit(); >> >> Vladimir >> >> On 3/19/13 12:34 PM, Morris Meyer wrote: >>> Folks, >>> >>> Could I get a review for this parfait issue? This change has been >>> through JPRT-hotspotwest. >>> >>> Thanks in advance, >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8009181.01 >>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8009181 >>> >>> > From vladimir.kozlov at oracle.com Tue Mar 19 16:25:38 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Tue, 19 Mar 2013 23:25:38 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010222: 8007439 disabled inlining of cold accessor methods Message-ID: <20130319232543.114FE48274@hg.openjdk.java.net> Changeset: 80208f353616 Author: kvn Date: 2013-03-19 10:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/80208f353616 8010222: 8007439 disabled inlining of cold accessor methods Summary: added missing parenthesis Reviewed-by: jrose ! src/share/vm/opto/bytecodeInfo.cpp From morris.meyer at oracle.com Tue Mar 19 19:29:47 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Wed, 20 Mar 2013 02:29:47 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 3 new changesets Message-ID: <20130320022955.78B704827F@hg.openjdk.java.net> Changeset: 2eef6d34833b Author: morris Date: 2013-03-19 11:49 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2eef6d34833b 8009022: [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp Summary: add guarantee() checks to merge_state_into_bb() Reviewed-by: kvn ! src/share/vm/oops/generateOopMap.cpp Changeset: 3b9368710f08 Author: morris Date: 2013-03-19 12:15 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3b9368710f08 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp Summary: add guarantee() checks Reviewed-by: kvn ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp Changeset: 1275835a4ccc Author: morris Date: 2013-03-19 16:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1275835a4ccc Merge From niclas.adlertz at oracle.com Wed Mar 20 01:02:40 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Wed, 20 Mar 2013 09:02:40 +0100 Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp Message-ID: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> Hi all. Problem: In the C2 register allocator, the define EXACT_PRESSURE is set to decide how we estimate the block pressure. There are currently two different ways on how to estimate this. However, EXACT_PRESSURE is always set to 1. This means that the code for the second choice on how to estimate block pressure is never executed, and therefore not needed. Solution: Remove the define EXACT_PRESSURE and the code that is never executed; executing only the code that now executes within the ifdefs of EXACT_PRESSURE. A review would be much appreciated. Thank you. Regards, Niclas Adlertz --------------------- WEBREV: http://cr.openjdk.java.net/~neliasso/8010281/webrev00/ BUG: https://jbs.oracle.com/bugs/browse/JDK-8010281, http://bugs.sun.com/view_bug.do?bug_id= 8010281 From roland.westrelin at oracle.com Wed Mar 20 02:39:34 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Wed, 20 Mar 2013 10:39:34 +0100 Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp In-Reply-To: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> References: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> Message-ID: <282452D8-729F-4159-BC4C-C03C2914B8AE@oracle.com> That looks good to me. Roland. From rasbold at google.com Wed Mar 20 10:02:16 2013 From: rasbold at google.com (Chuck Rasbold) Date: Wed, 20 Mar 2013 10:02:16 -0700 Subject: RFR (M): guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset Message-ID: http://cr.openjdk.java.net/~rasbold/XXXXXXX/webrev.00/ We occasionally get this guarantee failure from an older JVM (HotSpot 22): # Internal Error (assembler_x86.inline.hpp:46) # guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds # 8-bit offset I'm encountering a case in C2 where a branch is incorrectly converted to a short branch under very specific conditions. The root cause occurs when a call and safepoint are adjacent in consecutive blocks. In shorten_branches(), an off-by-one error exists in calculating the size of the trailing (safepoint) block when it potentially requires loop padding. This bug still exists in the current HotSpot 25, although I don't have a testcase that reproduces there. However, with the improved guarantee from my webrev, but without the actual fix, a hs25 CTW run on rt.jar fails. Can a bug be opened? Can I get an Oracle engineer to sponsor and review my change? -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130320/a62e8d45/attachment.html From morris.meyer at oracle.com Wed Mar 20 15:15:31 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Wed, 20 Mar 2013 22:15:31 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 4 new changesets Message-ID: <20130320221541.6C744482BC@hg.openjdk.java.net> Changeset: 41340544e182 Author: morris Date: 2013-03-20 06:32 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/41340544e182 8009248: [parfait] Null pointer deference in hotspot/src/share/vm/code/compiledIC.cpp Summary: add guarantee() to set_to_interpreted() Reviewed-by: kvn ! src/share/vm/code/compiledIC.cpp Changeset: 2dec1d9bfbe1 Author: morris Date: 2013-03-20 06:36 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2dec1d9bfbe1 8009565: [partfait] Null pointer deference in hotspot/src/share/vm/ci/ciEnv.cpp Summary: add guarantee() to get_instance_klass_for_declared_method_holder() Reviewed-by: kvn ! src/share/vm/ci/ciEnv.cpp Changeset: 653d0346aa80 Author: morris Date: 2013-03-20 06:38 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/653d0346aa80 8009578: [parfait] Null pointer deference in hotspot/src/share/vm/classfile/defaultMethods.cpp Summary: add guarantee() to disqualify_method() Reviewed-by: kvn ! src/share/vm/classfile/defaultMethods.cpp Changeset: a59625d96f71 Author: morris Date: 2013-03-20 07:05 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a59625d96f71 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp Summary: add guarantee() to insert_pre_post_loops() Reviewed-by: kvn ! src/share/vm/opto/loopTransform.cpp From vladimir.kozlov at oracle.com Wed Mar 20 18:27:10 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 20 Mar 2013 18:27:10 -0700 Subject: RFR (M): guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset In-Reply-To: References: Message-ID: <514A61EE.4030600@oracle.com> Thank you, Chuck I created bug 8010437 and will work on the patch. Thanks, Vladimir On 3/20/13 10:02 AM, Chuck Rasbold wrote: > http://cr.openjdk.java.net/~rasbold/XXXXXXX/webrev.00/ > > > We occasionally get this guarantee failure from an older JVM (HotSpot > 22): > > # Internal Error (assembler_x86.inline.hpp:46) > # guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds > # 8-bit offset > > I'm encountering a case in C2 where a branch is incorrectly > converted to a short branch under very specific conditions. The root > cause occurs when a call and safepoint are adjacent in > consecutive blocks. In shorten_branches(), an off-by-one > error exists in calculating the size of the trailing (safepoint) block > when it > potentially requires loop padding. > > This bug still exists in the current HotSpot 25, although I don't have > a testcase that reproduces there. > > However, with the improved guarantee from my webrev, but without the > actual fix, a hs25 CTW run on rt.jar fails. > > Can a bug be opened? Can I get an Oracle engineer to sponsor and > review my change? > > From christian.thalinger at oracle.com Wed Mar 20 20:03:52 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Thu, 21 Mar 2013 03:03:52 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8006965: remove test_gamma and add dedicated test_* targets instead Message-ID: <20130321030356.AD9ED482D3@hg.openjdk.java.net> Changeset: 98f3af397705 Author: twisti Date: 2013-03-20 17:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/98f3af397705 8006965: remove test_gamma and add dedicated test_* targets instead Reviewed-by: kvn, jcoomes ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/defs.make ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make - make/test/Queens.java From roland.westrelin at oracle.com Thu Mar 21 01:32:35 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 21 Mar 2013 09:32:35 +0100 Subject: RFR (L): 7153771: array bound check elimination for c1 In-Reply-To: <1804140F-671C-4B74-8FAA-1C862A0D7213@oracle.com> References: <2080D5B4-18BD-41B4-B4DE-7B2B6BDDFD93@oracle.com> <21ADDE24-A268-4885-B766-DA74E808FF2F@oracle.com> <8523BDE2-60E8-4EAD-93C8-D0685F31790F@oracle.com> <66EB9C6C-BBCA-408F-ABDE-79542A10F01A@oracle.com> <1804140F-671C-4B74-8FAA-1C862A0D7213@oracle.com> Message-ID: > Thank you. Looks good. Thanks for the review. Roland. From roland.westrelin at oracle.com Thu Mar 21 03:10:23 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 21 Mar 2013 11:10:23 +0100 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 Message-ID: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> http://cr.openjdk.java.net/~roland/8010460/webrev.00/ Method::max_stack() accounts for extra slots for JSR 292 extra arguments. Some platforms (sparc) load ConstMethod::max_stack_offset() directly and so doesn't take the extra slots into account. On sparc it's possible that the appendix argument to a call ends up in the space reserved for the register window. Roland. From morris.meyer at oracle.com Thu Mar 21 06:15:49 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 21 Mar 2013 09:15:49 -0400 Subject: RFR(XS) 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp Message-ID: <514B0805.1050002@oracle.com> Folks, Could I get a review for this small parfait issue? Thanks much. --morris WEBREV - http://cr.openjdk.java.net/~morris/8009026.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009026 From morris.meyer at oracle.com Thu Mar 21 06:19:43 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 21 Mar 2013 09:19:43 -0400 Subject: RFR(XS) 8009584: [parfait] Null pointer deference in hotspot/src/cpu/x86/vm/relocInfo_x86.cpp Message-ID: <514B08EF.70109@oracle.com> Folks, Could I get a review for this small parfait issue? Thanks much. --morris WEBREV - http://cr.openjdk.java.net/~morris/8009584.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009584 From morris.meyer at oracle.com Thu Mar 21 06:32:31 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 21 Mar 2013 09:32:31 -0400 Subject: RFR(XS) 8009593: [parfait] Null pointer deference in hotspot/src/share/vm/oops/constantPool.cpp Message-ID: <514B0BEF.6090209@oracle.com> Folks, Could I get a review for this small parfait issue? Thanks much. --morris WEBREV - http://cr.openjdk.java.net/~morris/8009593.01 BUG - https://jbs.oracle.com/bugs/browse/JDK-8009593 From vladimir.kozlov at oracle.com Thu Mar 21 07:47:08 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 21 Mar 2013 07:47:08 -0700 Subject: RFR(XS) 8009584: [parfait] Null pointer deference in hotspot/src/cpu/x86/vm/relocInfo_x86.cpp In-Reply-To: <514B08EF.70109@oracle.com> References: <514B08EF.70109@oracle.com> Message-ID: <514B1D6C.9070704@oracle.com> Good. Vladimir On 3/21/13 6:19 AM, Morris Meyer wrote: > Folks, > > Could I get a review for this small parfait issue? Thanks much. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009584.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009584 > > From vladimir.kozlov at oracle.com Thu Mar 21 07:47:36 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 21 Mar 2013 07:47:36 -0700 Subject: RFR(XS) 8009593: [parfait] Null pointer deference in hotspot/src/share/vm/oops/constantPool.cpp In-Reply-To: <514B0BEF.6090209@oracle.com> References: <514B0BEF.6090209@oracle.com> Message-ID: <514B1D88.4000908@oracle.com> Good. Vladimir On 3/21/13 6:32 AM, Morris Meyer wrote: > Folks, > > Could I get a review for this small parfait issue? Thanks much. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009593.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009593 > From vladimir.kozlov at oracle.com Thu Mar 21 07:53:05 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 21 Mar 2013 07:53:05 -0700 Subject: RFR(XS) 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp In-Reply-To: <514B0805.1050002@oracle.com> References: <514B0805.1050002@oracle.com> Message-ID: <514B1ED1.4060604@oracle.com> When I asked for checks I meant if () and not guarantee. The guarantee will definitely fail when codecache is full. I asked to put checks to call new nmethod() only when space is available in codecache. Vladimir On 3/21/13 6:15 AM, Morris Meyer wrote: > Folks, > > Could I get a review for this small parfait issue? Thanks much. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009026.01 > BUG - https://jbs.oracle.com/bugs/browse/JDK-8009026 > > From morris.meyer at oracle.com Thu Mar 21 09:06:21 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 21 Mar 2013 12:06:21 -0400 Subject: RFR(XS) 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp In-Reply-To: <514B1ED1.4060604@oracle.com> References: <514B0805.1050002@oracle.com> <514B1ED1.4060604@oracle.com> Message-ID: <514B2FFD.9070703@oracle.com> Thanks for the review Vladimir. Here is an updated version. --morris WEBREV - http://cr.openjdk.java.net/~morris/8009026.03 On 3/21/13 10:53 AM, Vladimir Kozlov wrote: > When I asked for checks I meant if () and not guarantee. The guarantee > will definitely fail when codecache is full. I asked to put checks to > call new nmethod() only when space is available in codecache. > > Vladimir > > On 3/21/13 6:15 AM, Morris Meyer wrote: >> Folks, >> >> Could I get a review for this small parfait issue? Thanks much. >> >> --morris >> >> WEBREV - http://cr.openjdk.java.net/~morris/8009026.01 >> BUG - https://jbs.oracle.com/bugs/browse/JDK-8009026 >> >> From vladimir.kozlov at oracle.com Thu Mar 21 10:56:29 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 21 Mar 2013 10:56:29 -0700 Subject: RFR(XS) 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp In-Reply-To: <514B2FFD.9070703@oracle.com> References: <514B0805.1050002@oracle.com> <514B1ED1.4060604@oracle.com> <514B2FFD.9070703@oracle.com> Message-ID: <514B49CD.3080202@oracle.com> Good. Vladimir On 3/21/13 9:06 AM, Morris Meyer wrote: > Thanks for the review Vladimir. Here is an updated version. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/8009026.03 > > On 3/21/13 10:53 AM, Vladimir Kozlov wrote: >> When I asked for checks I meant if () and not guarantee. The guarantee >> will definitely fail when codecache is full. I asked to put checks to >> call new nmethod() only when space is available in codecache. >> >> Vladimir >> >> On 3/21/13 6:15 AM, Morris Meyer wrote: >>> Folks, >>> >>> Could I get a review for this small parfait issue? Thanks much. >>> >>> --morris >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/8009026.01 >>> BUG - https://jbs.oracle.com/bugs/browse/JDK-8009026 >>> >>> > From bharadwaj.yadavalli at oracle.com Thu Mar 21 15:42:47 2013 From: bharadwaj.yadavalli at oracle.com (Bharadwaj Yadavalli) Date: Thu, 21 Mar 2013 18:42:47 -0400 Subject: RFR(XXS) - JDK-8009539 - JVM crash when run lambda testng tests Message-ID: <514B8CE7.2080401@oracle.com> Please review the change whose details are as follows: Summary of the change: No class is associated with array classes of bottom type. Dereferencing a null class to test to test if it is unloaded results in segmentation violation. Further there is no need to test if such classes were not loaded. Added a check to ensure that NULL pointer is not dereferenced. Webrev: http://cr.openjdk.java.net/~bharadwaj/8009539/webrev/ Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8009539 Thanks, Bharadwaj From vladimir.kozlov at oracle.com Thu Mar 21 16:07:33 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 21 Mar 2013 16:07:33 -0700 Subject: RFR(XXS) - JDK-8009539 - JVM crash when run lambda testng tests In-Reply-To: <514B8CE7.2080401@oracle.com> References: <514B8CE7.2080401@oracle.com> Message-ID: <514B92B5.5000104@oracle.com> Use tty->cr(); instead of tty->print_cr(""); Otherwise good. Thanks, Vladimir On 3/21/13 3:42 PM, Bharadwaj Yadavalli wrote: > Please review the change whose details are as follows: > > Summary of the change: No class is associated with array classes of > bottom type. Dereferencing a null class to test to test if it is > unloaded results in segmentation violation. Further there is no need to > test if such classes were not loaded. Added a check to ensure that NULL > pointer is not dereferenced. > > Webrev: http://cr.openjdk.java.net/~bharadwaj/8009539/webrev/ > Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8009539 > > Thanks, > > Bharadwaj > From morris.meyer at oracle.com Thu Mar 21 16:12:51 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 21 Mar 2013 19:12:51 -0400 Subject: RFR(XXS) - JDK-8009539 - JVM crash when run lambda testng tests In-Reply-To: <514B8CE7.2080401@oracle.com> References: <514B8CE7.2080401@oracle.com> Message-ID: <514B93F3.1000703@oracle.com> How about adding: Klass* ary_klass = arytype->klass(); if (ary_klass != NULL && !ary_klass->is_loaded()) { --mm On 3/21/13 6:42 PM, Bharadwaj Yadavalli wrote: > Please review the change whose details are as follows: > > Summary of the change: No class is associated with array classes of > bottom type. Dereferencing a null class to test to test if it is > unloaded results in segmentation violation. Further there is no need > to test if such classes were not loaded. Added a check to ensure that > NULL pointer is not dereferenced. > > Webrev: http://cr.openjdk.java.net/~bharadwaj/8009539/webrev/ > Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8009539 > > Thanks, > > Bharadwaj > From christian.thalinger at oracle.com Thu Mar 21 16:43:37 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 21 Mar 2013 16:43:37 -0700 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 In-Reply-To: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> References: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> Message-ID: On Mar 21, 2013, at 3:10 AM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8010460/webrev.00/ > > Method::max_stack() accounts for extra slots for JSR 292 extra arguments. Some platforms (sparc) load ConstMethod::max_stack_offset() directly and so doesn't take the extra slots into account. On sparc it's possible that the appendix argument to a call ends up in the space reserved for the register window. Grep'ing for extra_stack_words shows a couple more occurrences: cpu/sparc/vm/cppInterpreter_sparc.cpp 1062: //6815692//Method::extra_stack_words() + // extra push slots for MH adapters cpu/sparc/vm/templateInterpreter_sparc.cpp 502: //6815692//Method::extra_stack_words() + // extra push slots for MH adapters 1553: //6815692//+ Method::extra_stack_words() cpu/x86/vm/cppInterpreter_x86.cpp 542: const int extra_stack = 0; //6815692//Method::extra_stack_words(); share/vm/oops/method.cpp 396:int Method::extra_stack_words() { share/vm/oops/method.hpp 635: static int extra_stack_words(); // = extra_stack_entries() * Interpreter::stackElementSize() Especially the second one in templateInterpreter_sparc.cpp. -- Chris > > Roland. From bharadwaj.yadavalli at oracle.com Thu Mar 21 18:39:01 2013 From: bharadwaj.yadavalli at oracle.com (Bharadwaj Yadavalli) Date: Thu, 21 Mar 2013 21:39:01 -0400 Subject: RFR(XXS) - JDK-8009539 - JVM crash when run lambda testng tests In-Reply-To: <514B93F3.1000703@oracle.com> References: <514B8CE7.2080401@oracle.com> <514B93F3.1000703@oracle.com> Message-ID: <514BB635.5040202@oracle.com> On 3/21/2013 7:12 PM, Morris Meyer wrote: > How about adding: > > Klass* ary_klass = arytype->klass(); > if (ary_klass != NULL && !ary_klass->is_loaded()) { > Thanks Morris. Updated webrev. Please review the change whose details are as follows: Summary of the change: No class is associated with array classes of bottom type. Dereferencing a null class to test if it is unloaded, results in segmentation violation. Further there is no need to test if such classes were not loaded. Added a check to ensure that NULL pointer is not dereferenced. Webrev: http://cr.openjdk.java.net/~bharadwaj/8009539/webrev/ Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8009539 Thanks, Bharadwaj From bharadwaj.yadavalli at oracle.com Thu Mar 21 18:47:56 2013 From: bharadwaj.yadavalli at oracle.com (Bharadwaj Yadavalli) Date: Thu, 21 Mar 2013 21:47:56 -0400 Subject: RFR(XXS) - JDK-8009539 - JVM crash when run lambda testng tests In-Reply-To: <514B92B5.5000104@oracle.com> References: <514B8CE7.2080401@oracle.com> <514B92B5.5000104@oracle.com> Message-ID: <514BB84C.9050007@oracle.com> Thanks, Vladimir. Made the suggested change. Bharadwaj On 3/21/2013 7:07 PM, Vladimir Kozlov wrote: > Use tty->cr(); instead of tty->print_cr(""); > Otherwise good. > > Thanks, > Vladimir > > On 3/21/13 3:42 PM, Bharadwaj Yadavalli wrote: >> Please review the change whose details are as follows: >> >> Summary of the change: No class is associated with array classes of >> bottom type. Dereferencing a null class to test to test if it is >> unloaded results in segmentation violation. Further there is no need to >> test if such classes were not loaded. Added a check to ensure that NULL >> pointer is not dereferenced. >> >> Webrev: http://cr.openjdk.java.net/~bharadwaj/8009539/webrev/ >> Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8009539 >> >> Thanks, >> >> Bharadwaj >> From vladimir.kozlov at oracle.com Thu Mar 21 19:37:05 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 21 Mar 2013 19:37:05 -0700 Subject: RFR(XXS) - JDK-8009539 - JVM crash when run lambda testng tests In-Reply-To: <514BB84C.9050007@oracle.com> References: <514B8CE7.2080401@oracle.com> <514B92B5.5000104@oracle.com> <514BB84C.9050007@oracle.com> Message-ID: <514BC3D1.2060701@oracle.com> Good. Thanks, Vladimir On 3/21/13 6:47 PM, Bharadwaj Yadavalli wrote: > Thanks, Vladimir. Made the suggested change. > > Bharadwaj > > On 3/21/2013 7:07 PM, Vladimir Kozlov wrote: >> Use tty->cr(); instead of tty->print_cr(""); >> Otherwise good. >> >> Thanks, >> Vladimir >> >> On 3/21/13 3:42 PM, Bharadwaj Yadavalli wrote: >>> Please review the change whose details are as follows: >>> >>> Summary of the change: No class is associated with array classes of >>> bottom type. Dereferencing a null class to test to test if it is >>> unloaded results in segmentation violation. Further there is no need to >>> test if such classes were not loaded. Added a check to ensure that NULL >>> pointer is not dereferenced. >>> >>> Webrev: http://cr.openjdk.java.net/~bharadwaj/8009539/webrev/ >>> Bug fixed: https://jbs.oracle.com/bugs/browse/JDK-8009539 >>> >>> Thanks, >>> >>> Bharadwaj >>> > From morris.meyer at oracle.com Thu Mar 21 21:43:36 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Fri, 22 Mar 2013 04:43:36 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130322044343.8145E4830F@hg.openjdk.java.net> Changeset: 589aa23334ea Author: morris Date: 2013-03-21 10:11 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/589aa23334ea 8009584: [parfait] Null pointer deference in hotspot/src/cpu/x86/vm/relocInfo_x86.cpp Summary: added guarantee() to pd_address_in_code() Reviewed-by: kvn ! src/cpu/x86/vm/relocInfo_x86.cpp Changeset: c3c64a973559 Author: morris Date: 2013-03-21 10:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c3c64a973559 8009593: [parfait] Null pointer deference in hotspot/src/share/vm/oops/constantPool.cpp Summary: added guarantee() to print_entry_on() Reviewed-by: kvn ! src/share/vm/oops/constantPool.cpp From john.coomes at oracle.com Thu Mar 21 22:15:43 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 05:15:43 +0000 Subject: hg: hsx/hotspot-comp/jaxws: 2 new changesets Message-ID: <20130322051549.2F93C48316@hg.openjdk.java.net> Changeset: d8d8032d02d7 Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxws/rev/d8d8032d02d7 Added tag jdk8-b81 for changeset c88bb21560cc ! .hgtags Changeset: a1dcc0d83da1 Author: katleman Date: 2013-03-21 10:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxws/rev/a1dcc0d83da1 Added tag jdk8-b82 for changeset d8d8032d02d7 ! .hgtags From john.coomes at oracle.com Thu Mar 21 22:14:58 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 05:14:58 +0000 Subject: hg: hsx/hotspot-comp/corba: 14 new changesets Message-ID: <20130322051508.6234948314@hg.openjdk.java.net> Changeset: 0ac9424678e7 Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/0ac9424678e7 Added tag jdk8-b81 for changeset 2a00aeeb466b ! .hgtags Changeset: e725dd195858 Author: dmeetry Date: 2013-02-15 01:49 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/e725dd195858 7199858: Marshal exception is wrong Reviewed-by: lancea ! src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java Changeset: c528d8ce83f1 Author: lana Date: 2013-02-19 20:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/c528d8ce83f1 Merge Changeset: 67ef27b4e16c Author: lana Date: 2013-03-05 11:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/67ef27b4e16c Merge Changeset: 05386b4610e9 Author: lana Date: 2013-03-12 16:38 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/05386b4610e9 Merge Changeset: 3c73273667ae Author: coffeys Date: 2012-10-30 17:06 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/3c73273667ae 8000631: Restrict access to class constructor Reviewed-by: alanb, ahgross ! make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk ! src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java ! src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java ! src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java ! src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java ! src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java ! src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java ! src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java ! src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java ! src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java + src/share/classes/sun/corba/JavaCorbaAccess.java + src/share/classes/sun/corba/SharedSecrets.java Changeset: 80882eae6279 Author: ngmr Date: 2012-10-30 17:15 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/80882eae6279 8000540: Improve IIOP type reuse management Reviewed-by: alanb, ahgross, coffeys ! src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java Changeset: 0ca1fc7c5f44 Author: mbankal Date: 2012-12-17 07:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/0ca1fc7c5f44 7141694: Improving CORBA internals Reviewed-by: coffeys, ahgross ! src/share/classes/com/sun/corba/se/spi/orb/ORB.java Changeset: f4f39d873b9a Author: coffeys Date: 2012-11-06 15:50 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/f4f39d873b9a 7201066: Change modifiers on unused fields Reviewed-by: alanb, skoivu ! src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java ! src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java ! src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java Changeset: 59bff16bc0bf Author: ewendeli Date: 2013-02-19 21:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/59bff16bc0bf Merge - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java Changeset: 996bd5fd0941 Author: ewendeli Date: 2013-02-25 07:21 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/996bd5fd0941 Merge - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java Changeset: 7341134e52ff Author: lana Date: 2013-03-12 18:16 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/7341134e52ff Merge - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java - src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java Changeset: 48e1bc77004d Author: lana Date: 2013-03-14 19:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/48e1bc77004d Merge Changeset: a45bb25a67c7 Author: katleman Date: 2013-03-21 10:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/a45bb25a67c7 Added tag jdk8-b82 for changeset 48e1bc77004d ! .hgtags From john.coomes at oracle.com Thu Mar 21 22:15:13 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 05:15:13 +0000 Subject: hg: hsx/hotspot-comp/jaxp: 7 new changesets Message-ID: <20130322051537.2698E48315@hg.openjdk.java.net> Changeset: 94000590f01f Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/94000590f01f Added tag jdk8-b81 for changeset ef3495555a4c ! .hgtags Changeset: f4898ff0aff1 Author: joehw Date: 2012-12-12 15:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/f4898ff0aff1 8001235: Improve JAXP HTTP handling Reviewed-by: lancea, skoivu ! src/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java Changeset: 3206516132e8 Author: ewendeli Date: 2013-02-19 21:45 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/3206516132e8 Merge Changeset: 46ce56a4e40f Author: ewendeli Date: 2013-02-25 07:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/46ce56a4e40f Merge Changeset: 8a0cb78fefbc Author: lana Date: 2013-03-12 18:22 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/8a0cb78fefbc Merge Changeset: d5a58291f09a Author: lana Date: 2013-03-14 19:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/d5a58291f09a Merge Changeset: a46d69a1a8ec Author: katleman Date: 2013-03-21 10:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/a46d69a1a8ec Added tag jdk8-b82 for changeset d5a58291f09a ! .hgtags From john.coomes at oracle.com Thu Mar 21 22:14:51 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 05:14:51 +0000 Subject: hg: hsx/hotspot-comp: 22 new changesets Message-ID: <20130322051452.7060B48313@hg.openjdk.java.net> Changeset: 52741ab7c601 Author: erikj Date: 2013-03-06 10:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/52741ab7c601 8008073: build-infra: Need --with-dxsdk option? And awt/sound -I option additions? Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/autoconf/toolchain_windows.m4 Changeset: 235854886494 Author: katleman Date: 2013-03-11 13:41 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/235854886494 Merge Changeset: 145dbc56f931 Author: tbell Date: 2013-03-12 22:08 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/145dbc56f931 8009819: build-infra: RE jdk8 build forest fails for windows since addition of --with-dxsdk Reviewed-by: katleman ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain_windows.m4 Changeset: 0dc28db6525f Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/0dc28db6525f Added tag jdk8-b81 for changeset 145dbc56f931 ! .hgtags Changeset: ecc8fda8f187 Author: darcy Date: 2013-02-19 00:24 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/ecc8fda8f187 8008435: Fix new build to include jdk.Supported in ct.sym Reviewed-by: erikj ! common/makefiles/javadoc/NON_CORE_PKGS.gmk Changeset: eca3bce3d151 Author: lana Date: 2013-02-19 20:48 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/eca3bce3d151 Merge Changeset: c641268c4532 Author: mduigou Date: 2013-02-20 17:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/c641268c4532 8008629: webrev.ksh needs to quote bug title it gets back from scraping bugs.sun.com Reviewed-by: darcy ! make/scripts/webrev.ksh Changeset: b70196e01c53 Author: lana Date: 2013-02-21 17:39 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/b70196e01c53 Merge Changeset: 5b0b6ef58dbf Author: jjg Date: 2013-02-25 15:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/5b0b6ef58dbf 8008914: Add nashorn to the tl build Reviewed-by: mr, tbell, jjh Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com ! Makefile ! common/autoconf/generated-configure.sh ! common/autoconf/source-dirs.m4 ! common/autoconf/spec.gmk.in ! common/bin/hgforest.sh ! common/makefiles/Main.gmk ! common/makefiles/MakeBase.gmk ! make/Defs-internal.gmk ! make/jdk-rules.gmk ! make/sanity-rules.gmk ! make/scripts/hgforest.sh Changeset: e065107437b9 Author: alanb Date: 2013-02-26 14:08 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/e065107437b9 8008978: nashorn-rules.gmk missing Reviewed-by: alanb Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com + make/nashorn-rules.gmk Changeset: cb0ac8979caa Author: tbell Date: 2013-02-26 09:25 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/cb0ac8979caa 8009019: Updates to generated-configure.sh required for 8008914 Reviewed-by: sundar, jlaskey, jjg ! common/autoconf/generated-configure.sh Changeset: a9c8a32d09f9 Author: martin Date: 2013-03-05 13:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/a9c8a32d09f9 8006988: build-infra: Configure fails if 'cl' is in path on linux Summary: Respect user CC and CXX environment variables; use cl iff on windows Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: c022bc48b7ed Author: lana Date: 2013-03-05 11:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/c022bc48b7ed Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in Changeset: c4901c0e0579 Author: lana Date: 2013-03-05 15:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/c4901c0e0579 Merge ! common/autoconf/generated-configure.sh ! common/autoconf/toolchain.m4 Changeset: 929e2461818b Author: dholmes Date: 2013-03-05 22:45 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/929e2461818b 8009529: Fix for 8006988 missed closed configure changes Reviewed-by: mr ! common/autoconf/generated-configure.sh Changeset: b35d986ff276 Author: mduigou Date: 2013-03-06 08:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/b35d986ff276 8009162: root repo "make test" target should run against image Reviewed-by: alanb, martin, erikj ! common/makefiles/Main.gmk Changeset: 980ccff2d4f5 Author: lana Date: 2013-03-12 16:38 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/980ccff2d4f5 Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/makefiles/Main.gmk Changeset: 22b9a31a92eb Author: lana Date: 2013-03-13 23:21 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/22b9a31a92eb Merge ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: a69761ae281b Author: lana Date: 2013-03-14 19:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/a69761ae281b Merge Changeset: e2057191f6da Author: omajid Date: 2013-03-18 10:47 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/e2057191f6da 8010030: Allow configure to detect if EC implementation is present Reviewed-by: andrew, dholmes ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in Changeset: 29153d0df68f Author: omajid Date: 2013-03-19 11:25 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/29153d0df68f 8010277: Configure doesn't fail when Xrender.h is missing Reviewed-by: andrew ! common/autoconf/generated-configure.sh ! common/autoconf/libraries.m4 Changeset: 466685ba01bf Author: katleman Date: 2013-03-21 10:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/466685ba01bf Added tag jdk8-b82 for changeset 29153d0df68f ! .hgtags From john.coomes at oracle.com Thu Mar 21 22:22:29 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 05:22:29 +0000 Subject: hg: hsx/hotspot-comp/jdk: 171 new changesets Message-ID: <20130322055628.EFB0048318@hg.openjdk.java.net> Changeset: 758db1c4c65c Author: ehelin Date: 2013-03-04 15:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/758db1c4c65c 8009384: Temporarily disable jstat tests to ease complicated push Reviewed-by: mchung ! test/ProblemList.txt Changeset: aee1c6c52b68 Author: erikj Date: 2013-03-06 16:15 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/aee1c6c52b68 8008073: build-infra: Need --with-dxsdk option? And awt/sound -I option additions? Reviewed-by: tbell ! makefiles/CompileNativeLibraries.gmk Changeset: da8edcfc19af Author: katleman Date: 2013-03-11 13:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/da8edcfc19af Merge Changeset: bc0ca8bc4637 Author: erikj Date: 2013-03-12 15:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bc0ca8bc4637 8009695: embedded/GP/RI: This intermittent error happens too often, makes the build unstable, and waste machine Reviewed-by: dholmes, tbell ! make/common/shared/Defs-utils.gmk ! makefiles/Images.gmk Changeset: c0f8022eba53 Author: katleman Date: 2013-03-12 19:19 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c0f8022eba53 Merge Changeset: 509c45748f3e Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/509c45748f3e Added tag jdk8-b81 for changeset c0f8022eba53 ! .hgtags Changeset: f6eb212081b2 Author: jgodinez Date: 2013-02-14 14:14 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f6eb212081b2 8008173: [parfait] #1173 Uninitialised variable -- TransformHelper.cpp Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/loops/TransformHelper.c Changeset: 4b11045a9c4c Author: jgodinez Date: 2013-02-18 14:04 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4b11045a9c4c 8005191: [parfait] #384 sun/font/layout/LookupProcessor.cpp Null pointer dereference Reviewed-by: prr, vadim Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/font/layout/LookupProcessor.cpp Changeset: 41008f5cef1a Author: lana Date: 2013-02-19 22:10 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/41008f5cef1a Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: d2d7da120c37 Author: jgodinez Date: 2013-02-22 11:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d2d7da120c37 8006110: pageDialog is showing the swing dialog with DialogTypeSelection.NATIVE Reviewed-by: bae, prr ! src/share/classes/sun/print/RasterPrinterJob.java Changeset: 99c1f910abcc Author: jgodinez Date: 2013-02-22 13:20 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/99c1f910abcc 8005796: [parfait] Possible uninitialised variable at jdk/src/share/native/sun/java2d/loops/ByteBinary1Bit.c Reviewed-by: prr, vadim, flar Contributed-by: jia-hong.chen at oracle.com ! src/share/native/sun/java2d/loops/AnyByteBinary.h ! src/share/native/sun/java2d/loops/ByteIndexed.h ! src/share/native/sun/java2d/loops/IntArgb.h ! src/share/native/sun/java2d/loops/IntArgbBm.h ! src/share/native/sun/java2d/loops/IntArgbPre.h ! src/share/native/sun/java2d/loops/Ushort4444Argb.h ! src/share/native/sun/java2d/loops/UshortIndexed.h Changeset: 934f5f10107d Author: lana Date: 2013-02-22 11:37 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/934f5f10107d Merge Changeset: 4fd6048a78c0 Author: lana Date: 2013-02-22 23:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4fd6048a78c0 Merge Changeset: f3368a3fc023 Author: bae Date: 2013-03-05 17:18 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f3368a3fc023 7152608: [macosx] Crash in liblwawt.dylib in AccelGlyphCache_RemoveCellInfo Reviewed-by: jgodinez, ant ! src/macosx/classes/sun/font/CStrike.java ! src/macosx/classes/sun/font/CStrikeDisposer.java ! src/macosx/native/sun/font/AWTStrike.m Changeset: fd8810d50c99 Author: bae Date: 2013-03-07 14:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/fd8810d50c99 8005530: [lcms] Improve performance of ColorConverOp for default destinations Reviewed-by: prr, jgodinez ! make/sun/cmm/lcms/Makefile ! make/sun/cmm/lcms/mapfile-vers ! makefiles/CompileNativeLibraries.gmk ! makefiles/mapfiles/liblcms/mapfile-vers ! src/share/classes/sun/java2d/cmm/lcms/LCMS.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java ! src/share/demo/java2d/J2DBench/build.xml + src/share/demo/java2d/J2DBench/resources/cmm_images/img_icc_large.jpg + src/share/demo/java2d/J2DBench/resources/cmm_images/img_icc_medium.jpg + src/share/demo/java2d/J2DBench/resources/cmm_images/img_icc_small.jpg ! src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConversionTests.java + src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/EmbeddedProfileTests.java ! src/share/native/sun/java2d/cmm/lcms/LCMS.c Changeset: 8e9b133dcec9 Author: lana Date: 2013-03-12 16:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/8e9b133dcec9 Merge Changeset: e6c94a202bfd Author: alexsch Date: 2013-02-15 14:24 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e6c94a202bfd 7173873: JFrame.setDefaultCloseOperation(EXIT_ON_CLOSE) will never lead to SE if EXIT_ON_CLOSE is already set Reviewed-by: malenkov, serb ! src/share/classes/javax/swing/JFrame.java Changeset: 4bf242def958 Author: dingxmin Date: 2013-02-15 15:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4bf242def958 8008289: DefaultButtonModel instance keeps stale listeners in html FormView Reviewed-by: malenkov, alexsch ! src/share/classes/javax/swing/text/html/FormView.java + test/javax/swing/text/html/7189299/bug7189299.java Changeset: 88a83b9e9baa Author: kshefov Date: 2013-02-15 17:46 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/88a83b9e9baa 8005920: After pressing combination Windows Key and M key, the frame, the instruction and the dialog can't be minimized. Reviewed-by: serb, denis Contributed-by: Vera Akulova ! test/java/awt/Modal/WsDisabledStyle/Winkey/Winkey.java Changeset: 0fe12ecf80b2 Author: pchelko Date: 2013-02-19 11:26 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0fe12ecf80b2 8008374: Build failure (NEWBUILD=false) on Mac Summary: Fixed an old build system failure Reviewed-by: art, anthony ! make/sun/lwawt/FILES_export_macosx.gmk Changeset: 5ad0bd367f6d Author: kshefov Date: 2013-02-19 17:26 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5ad0bd367f6d 8008379: TEST_BUG: Fail automatically with java.lang.NullPointerException. Reviewed-by: serb, anthony + test/java/awt/Modal/ModalDialogMultiscreenTest/ModalDialogMultiscreenTest.java Changeset: a43115c6359d Author: kshefov Date: 2013-02-19 20:00 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/a43115c6359d 8006070: TEST_BUG: Up and down the Y coordinate of the mouse position, the selected item doesn't change for the single list. Reviewed-by: serb, anthony + test/java/awt/List/MouseDraggedOutCauseScrollingTest/MouseDraggedOutCauseScrollingTest.html + test/java/awt/List/MouseDraggedOutCauseScrollingTest/MouseDraggedOutCauseScrollingTest.java Changeset: 9bc26b7b8b47 Author: lana Date: 2013-02-19 22:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9bc26b7b8b47 Merge - src/share/classes/java/time/PeriodParser.java - src/share/classes/java/time/calendar/ChronoDateImpl.java - src/share/classes/java/time/calendar/HijrahChrono.java - src/share/classes/java/time/calendar/HijrahDate.java - src/share/classes/java/time/calendar/HijrahDeviationReader.java - src/share/classes/java/time/calendar/HijrahEra.java - src/share/classes/java/time/calendar/JapaneseChrono.java - src/share/classes/java/time/calendar/JapaneseDate.java - src/share/classes/java/time/calendar/JapaneseEra.java - src/share/classes/java/time/calendar/MinguoChrono.java - src/share/classes/java/time/calendar/MinguoDate.java - src/share/classes/java/time/calendar/MinguoEra.java - src/share/classes/java/time/calendar/Ser.java - src/share/classes/java/time/calendar/ThaiBuddhistChrono.java - src/share/classes/java/time/calendar/ThaiBuddhistDate.java - src/share/classes/java/time/calendar/ThaiBuddhistEra.java - src/share/classes/java/time/calendar/package-info.java - src/share/classes/java/time/format/DateTimeFormatters.java - src/share/classes/java/time/format/DateTimePrintException.java - src/share/classes/java/time/temporal/Chrono.java - src/share/classes/java/time/temporal/ChronoLocalDate.java - src/share/classes/java/time/temporal/ChronoLocalDateTime.java - src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java - src/share/classes/java/time/temporal/ChronoZonedDateTime.java - src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java - src/share/classes/java/time/temporal/Era.java - src/share/classes/java/time/temporal/ISOChrono.java - src/share/classes/java/time/temporal/ISOEra.java - src/share/classes/java/time/temporal/ISOFields.java - src/share/classes/java/time/temporal/MonthDay.java - src/share/classes/java/time/temporal/OffsetDate.java - src/share/classes/java/time/temporal/OffsetDateTime.java - src/share/classes/java/time/temporal/OffsetTime.java - src/share/classes/java/time/temporal/Ser.java - src/share/classes/java/time/temporal/SimplePeriod.java - src/share/classes/java/time/temporal/TemporalAdder.java - src/share/classes/java/time/temporal/TemporalSubtractor.java - src/share/classes/java/time/temporal/Year.java - src/share/classes/java/time/temporal/YearMonth.java - src/share/classes/sun/util/calendar/TzIDOldMapping.java - test/java/time/META-INF/services/java.time.temporal.Chrono - test/java/time/tck/java/time/calendar/CopticChrono.java - test/java/time/tck/java/time/calendar/CopticDate.java - test/java/time/tck/java/time/calendar/CopticEra.java - test/java/time/tck/java/time/calendar/TestChronoLocalDate.java - test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java - test/java/time/tck/java/time/calendar/TestHijrahChrono.java - test/java/time/tck/java/time/calendar/TestJapaneseChrono.java - test/java/time/tck/java/time/calendar/TestMinguoChrono.java - test/java/time/tck/java/time/calendar/TestServiceLoader.java - test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java - test/java/time/tck/java/time/format/TCKDateTimePrintException.java - test/java/time/tck/java/time/temporal/TCKISOFields.java - test/java/time/tck/java/time/temporal/TCKMonthDay.java - test/java/time/tck/java/time/temporal/TCKOffsetDate.java - test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java - test/java/time/tck/java/time/temporal/TCKOffsetTime.java - test/java/time/tck/java/time/temporal/TCKSimplePeriod.java - test/java/time/tck/java/time/temporal/TCKYear.java - test/java/time/tck/java/time/temporal/TCKYearMonth.java - test/java/time/tck/java/time/temporal/TestChrono.java - test/java/time/tck/java/time/temporal/TestISOChrono.java - test/java/time/test/java/time/TestPeriodParser.java - test/java/time/test/java/time/format/TestDateTimeFormatters.java - test/java/time/test/java/time/format/TestDateTimePrintException.java - test/java/time/test/java/time/format/TestPadParserDecorator.java - test/java/time/test/java/time/format/TestZoneIdParser.java - test/java/time/test/java/time/temporal/TestISOChronoImpl.java - test/java/time/test/java/time/temporal/TestMonthDay.java - test/java/time/test/java/time/temporal/TestOffsetDate.java - test/java/time/test/java/time/temporal/TestOffsetDateTime.java - test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java - test/java/time/test/java/time/temporal/TestOffsetTime.java - test/java/time/test/java/time/temporal/TestYear.java - test/java/time/test/java/time/temporal/TestYearMonth.java Changeset: 73d1efc4710a Author: ant Date: 2013-02-22 15:13 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/73d1efc4710a 8006406: lightweight embedding in other Java UI toolkits Reviewed-by: serb, anthony, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java + src/macosx/classes/sun/lwawt/LWLightweightFramePeer.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java + src/macosx/classes/sun/lwawt/macosx/CPlatformLWComponent.java + src/macosx/classes/sun/lwawt/macosx/CPlatformLWView.java + src/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/share/classes/java/awt/peer/FramePeer.java ! src/share/classes/java/awt/peer/WindowPeer.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/HToolkit.java + src/share/classes/sun/awt/LightweightFrame.java ! src/share/classes/sun/awt/SunToolkit.java + src/share/classes/sun/swing/JLightweightFrame.java + src/share/classes/sun/swing/LightweightContent.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java ! src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java ! src/windows/classes/sun/awt/windows/WFramePeer.java + src/windows/classes/sun/awt/windows/WLightweightFramePeer.java ! src/windows/classes/sun/awt/windows/WToolkit.java ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_Frame.h ! src/windows/native/sun/windows/awt_Window.h Changeset: 63bb402d4a6a Author: lana Date: 2013-02-23 19:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/63bb402d4a6a Merge Changeset: d502cc7bcc3d Author: pchelko Date: 2013-02-25 10:17 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d502cc7bcc3d 8006634: Unify LWCToolkit.invokeAndWait() and sun.awt.datatransfer.ToolkitThreadBlockedHandler Summary: Changed the logic for the nested event loops and deleted deadlock detection Reviewed-by: art, denis ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/ApplicationDelegate.m ! src/macosx/native/sun/awt/CClipboard.m ! src/macosx/native/sun/awt/CDropTarget.m ! src/macosx/native/sun/awt/CMenu.m ! src/macosx/native/sun/awt/CMenuBar.m ! src/macosx/native/sun/awt/CMenuItem.m ! src/macosx/native/sun/awt/JavaComponentAccessibility.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/osxapp/ThreadUtilities.h ! src/macosx/native/sun/osxapp/ThreadUtilities.m Changeset: e58f0b163f43 Author: denis Date: 2013-02-27 19:38 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e58f0b163f43 7178079: REGRESSION: Some AWT Drag-n-Drop tests fail since JDK 7u6 b13 Reviewed-by: serb, anthony ! src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java Changeset: bc914b7f0878 Author: denis Date: 2013-02-27 20:34 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bc914b7f0878 8009158: Incomplete fix for 7178079 Reviewed-by: serb, anthony ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java Changeset: 3dee850e2653 Author: serb Date: 2013-02-28 17:04 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/3dee850e2653 8008660: Failure in 2D Queue Flusher thread on Mac Reviewed-by: swingler, bae ! src/macosx/classes/sun/awt/CGraphicsConfig.java ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/macosx/classes/sun/lwawt/macosx/CRobot.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/CRobot.m ! src/macosx/native/sun/awt/LWCToolkit.h ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m Changeset: 554d0f41a6ab Author: serb Date: 2013-02-28 20:27 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/554d0f41a6ab 8003169: [macosx] JVM crash after disconnecting from projector Reviewed-by: anthony, alexsch ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/CGraphicsDevice.m Changeset: 657a02fcaa00 Author: malenkov Date: 2013-03-01 14:30 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/657a02fcaa00 7163696: JCK Swing interactive test JScrollBarTest0013 fails with Nimbus and GTK L&Fs Reviewed-by: alexsch ! src/share/classes/java/beans/PropertyDescriptor.java ! test/java/beans/Introspector/Test7192955.java Changeset: 5816595a4cdc Author: serb Date: 2013-03-01 15:31 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5816595a4cdc 7194902: [macosx] closed/java/awt/Button/DoubleActionEventTest/DoubleActionEventTest failed since jdk8b49 7181403: Invalid MouseEvent conversion with SwingUtilities.convertMouseEvent Reviewed-by: malenkov, alexsch ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/share/classes/javax/swing/SwingUtilities.java Changeset: 4912a9e3a95e Author: serb Date: 2013-03-01 21:50 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4912a9e3a95e 7184945: [macosx] NPE in AquaComboBoxUI since jdk7u6b17, jdk8b47 Reviewed-by: malenkov, alexsch ! src/macosx/classes/com/apple/laf/AquaComboBoxUI.java Changeset: 91e17a813483 Author: alexsch Date: 2013-03-06 19:42 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/91e17a813483 6877495: JTextField and JTextArea does not support supplementary characters Reviewed-by: serb, alexp ! src/share/classes/sun/awt/datatransfer/DataTransferer.java + test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java Changeset: 7962014b1729 Author: mcherkas Date: 2013-03-06 20:10 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7962014b1729 8007295: Reduce number of warnings in awt classes Reviewed-by: bae, anthony ! src/share/classes/java/awt/CheckboxMenuItem.java ! src/share/classes/java/awt/Cursor.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/Menu.java ! src/share/classes/java/awt/MenuBar.java ! src/share/classes/java/awt/MenuComponent.java ! src/share/classes/java/awt/MenuItem.java ! src/share/classes/java/awt/RenderingHints.java ! src/share/classes/java/awt/datatransfer/Clipboard.java ! src/share/classes/java/awt/dnd/DragGestureEvent.java ! src/share/classes/java/awt/dnd/DragGestureRecognizer.java ! src/share/classes/java/awt/dnd/DragSource.java ! src/share/classes/java/awt/dnd/InvalidDnDOperationException.java ! src/share/classes/java/awt/geom/AffineTransform.java Changeset: f3ffead3069e Author: lana Date: 2013-03-12 16:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f3ffead3069e Merge Changeset: 153884b550f0 Author: chegar Date: 2013-02-14 13:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/153884b550f0 8008201: Add java/lang/Class/asSubclass/BasicUnit.java to the ProblemList Reviewed-by: mcimadamore ! test/ProblemList.txt Changeset: e57019d2f34a Author: mduigou Date: 2013-02-13 14:50 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e57019d2f34a 8008167: IdentityHashMap.[keySet|values|entrySet].toArray speed-up Reviewed-by: mduigou, martin Contributed-by: Peter Levart ! src/share/classes/java/util/IdentityHashMap.java Changeset: 1405ad6afb1e Author: bharadwaj Date: 2013-02-14 11:09 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1405ad6afb1e 8007736: VerifyError for use of static method in interface Reviewed-by: mchung ! src/share/native/common/check_code.c + test/vm/verifier/TestStaticIF.java Changeset: 1ce1a307cded Author: sherman Date: 2013-02-15 01:17 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1ce1a307cded 8008254: j.u.Calendar.JavatimeTest failed at TL b78 pit testing Summary: to use j.t.ZoneId zone name to keep round-trip Reviewed-by: okutsu ! test/java/util/Calendar/JavatimeTest.java Changeset: 048637b40787 Author: chegar Date: 2013-02-15 11:06 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/048637b40787 8008223: java/net/BindException/Test.java fails rarely Reviewed-by: khazra, alanb ! test/java/net/BindException/Test.java Changeset: 7748ffdca16a Author: rfield Date: 2013-02-16 12:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7748ffdca16a 8004970: Implement serialization in the lambda metafactory Reviewed-by: forax ! src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java + src/share/classes/java/lang/invoke/SerializedLambda.java ! src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java + test/java/lang/invoke/lambda/LambdaSerialization.java Changeset: 43726ed11fb3 Author: sherman Date: 2013-02-17 01:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/43726ed11fb3 8008348: The leftover jdk/make/tools/javazic causes build problems with hs25-b19 control Summary: To remove jdk/make/tools/javazic from the jdk repo Reviewed-by: alanb - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java Changeset: ce6a2fcb4c9b Author: yhuang Date: 2013-02-16 21:22 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ce6a2fcb4c9b 8006748: getISO3Country() returns wrong value Reviewed-by: naoto ! src/share/classes/java/util/LocaleISOData.java Changeset: bcde0486261e Author: dingxmin Date: 2013-02-18 08:14 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bcde0486261e 6429204: (se) Concurrent Selector.register and SelectionKey.interestOps can ignore interestOps Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + test/java/nio/channels/Selector/RacyDeregister.java Changeset: 49b3d8efd30a Author: darcy Date: 2013-02-19 00:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/49b3d8efd30a 8008434: Misc javadoc warning fixes in DateTimeFormatterBuilder and TimeZone Reviewed-by: mduigou, okutsu ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/share/classes/java/util/TimeZone.java Changeset: 885bb24f6018 Author: coffeys Date: 2013-02-19 14:07 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/885bb24f6018 7197187: Currency.isPastCutoverDate should be made more robust Reviewed-by: alanb ! src/share/classes/java/util/Currency.java Changeset: 01b6b0dd2006 Author: coffeys Date: 2013-02-19 14:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/01b6b0dd2006 8007315: HttpURLConnection.filterHeaderField method returns null where empty string is expected Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/sun/net/www/protocol/http/HttpOnly.java Changeset: 824187de1591 Author: jzavgren Date: 2013-02-19 16:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/824187de1591 8007609: WinNTFileSystem_md.c should correctly check value returned from realloc Reviewed-by: alanb, chegar, dholmes ! src/windows/native/java/io/WinNTFileSystem_md.c Changeset: e20c1c9197bf Author: emc Date: 2013-02-19 17:09 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e20c1c9197bf 8008312: Re-enable MethodParameter tests in JDK Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Parameter.java ! test/java/lang/reflect/Parameter/WithParameters.java Changeset: af396ec087f4 Author: naoto Date: 2013-02-19 10:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/af396ec087f4 7092447: Clarify the default locale used in each locale sensitive operation Reviewed-by: okutsu ! src/share/classes/java/text/DateFormat.java ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/DecimalFormat.java ! src/share/classes/java/text/DecimalFormatSymbols.java ! src/share/classes/java/text/MessageFormat.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/text/SimpleDateFormat.java ! src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/Currency.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/Scanner.java Changeset: 16efb7ba188f Author: mduigou Date: 2013-02-19 11:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/16efb7ba188f 8004561: Additional functional interfaces, extension methods and name changes Summary: Adds additional functional interfaces for primitives and "Bi" (two operand). Adds utility extension methods. Includes some name changes for existing functional interfaces per EG decisions. Reviewed-by: briangoetz, darcy, chegar, dholmes ! src/share/classes/java/time/chrono/HijrahDeviationReader.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java ! src/share/classes/java/util/concurrent/atomic/LongAccumulator.java ! src/share/classes/java/util/concurrent/atomic/Striped64.java + 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/BinaryOperator.java - src/share/classes/java/util/function/Block.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/DoubleBlock.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/IntBlock.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/LongBlock.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/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 ! src/share/classes/java/util/function/package-info.java ! test/java/lang/PrimitiveSumMinMaxTest.java Changeset: 267bca6af07e Author: jzavgren Date: 2013-02-19 15:31 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/267bca6af07e 8008107: [parfait] Use after free of pointer in jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Reviewed-by: mullan, chegar ! src/share/native/sun/security/pkcs11/wrapper/p11_convert.c Changeset: ec1a79c3a99c Author: ksrini Date: 2013-02-19 16:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ec1a79c3a99c 8008262: pack200 should support MethodParameters - part 2 Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/Utils.java Changeset: 85a44860f5bb Author: lana Date: 2013-02-19 20:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/85a44860f5bb Merge - src/macosx/classes/sun/lwawt/macosx/EventDispatchAccess.java Changeset: ca43e2761a1d Author: ykantser Date: 2013-02-13 10:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ca43e2761a1d 8008089: Delete OS dependent check in JdkFinder.getExecutable() Reviewed-by: egahlin, alanb ! test/lib/testlibrary/jdk/testlibrary/JdkFinder.java Changeset: 0a2b308cc82d Author: uta Date: 2013-02-20 16:39 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0a2b308cc82d 8007454: (process) SetHandleInformation parameters DWORD (not BOOLEAN) Summary: the SetHandleInformation arguments list was fixed. Reviewed-by: alanb ! src/windows/native/java/lang/ProcessImpl_md.c Changeset: 5772e9edbc4c Author: dcubed Date: 2013-02-20 13:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5772e9edbc4c 8008352: java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh fails on MKS Summary: Use more portable pattern counting constructs in test driver. Reviewed-by: sspitsyn, sla, coleenp ! test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh Changeset: 1da987f0311a Author: rfield Date: 2013-02-21 15:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1da987f0311a 8008356: Test LambdaSerialization.java failing Summary: run in /othervm mode Reviewed-by: ksrini ! test/java/lang/invoke/lambda/LambdaSerialization.java Changeset: 03db11a7fb8e Author: lana Date: 2013-02-21 17:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/03db11a7fb8e Merge Changeset: 9078c34437ab Author: msheppar Date: 2013-02-21 20:01 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9078c34437ab 8006182: cleanup to use java.util.Base64 in java security component, providers, and regression tests Summary: Refactored code to use java.util.Base64 Mime Encoder and Decoder as a replacement for sun.misc.BASE64Encoder and sun.misc.BASE64Decoder Reviewed-by: vinnie, chegar, sherman ! src/share/classes/sun/security/pkcs10/PKCS10.java ! src/share/classes/sun/security/provider/X509Factory.java ! src/share/classes/sun/security/tools/jarsigner/Main.java ! src/share/classes/sun/security/tools/keytool/Main.java ! src/share/classes/sun/security/util/ManifestEntryVerifier.java ! src/share/classes/sun/security/util/SignatureFileVerifier.java ! src/share/classes/sun/security/x509/X509CertImpl.java ! src/share/classes/sun/tools/jar/Manifest.java ! src/share/classes/sun/tools/jar/SignatureFile.java ! test/javax/security/auth/kerberos/KerberosTixDateTest.java ! test/sun/security/krb5/auto/HttpNegotiateServer.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/BasicConstraints.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java ! test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java ! test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketSNISensitive.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java Changeset: c6d77b2b4478 Author: stefank Date: 2013-01-22 13:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c6d77b2b4478 8006506: Add test for redefining methods in backtraces to java/lang/instrument tests Reviewed-by: sspitsyn, coleenp + test/java/lang/instrument/RedefineMethodInBacktrace.sh + test/java/lang/instrument/RedefineMethodInBacktraceAgent.java + test/java/lang/instrument/RedefineMethodInBacktraceApp.java + test/java/lang/instrument/RedefineMethodInBacktraceTarget.java + test/java/lang/instrument/RedefineMethodInBacktraceTarget_2.java Changeset: 0e93015e77f6 Author: stefank Date: 2013-01-22 15:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0e93015e77f6 7140852: Add test for 7022100 Reviewed-by: sspitsyn, coleenp + test/java/lang/instrument/RedefineMethodWithAnnotations.sh + test/java/lang/instrument/RedefineMethodWithAnnotationsAgent.java + test/java/lang/instrument/RedefineMethodWithAnnotationsAnnotations.java + test/java/lang/instrument/RedefineMethodWithAnnotationsApp.java + test/java/lang/instrument/RedefineMethodWithAnnotationsTarget.java + test/java/lang/instrument/RedefineMethodWithAnnotationsTarget_2.java Changeset: 63fe6a9820b6 Author: alanb Date: 2013-02-22 14:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/63fe6a9820b6 8008290: (profiles) Startup regression due to additional checking of JAR file manifests Reviewed-by: lancea, chegar, iris, mchung, sherman ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java ! src/share/classes/sun/misc/JavaUtilJarAccess.java ! src/share/classes/sun/misc/URLClassPath.java Changeset: 9f9dac5a9e74 Author: lancea Date: 2013-02-22 09:29 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9f9dac5a9e74 8008716: address typo in CallableStatement javadocs Reviewed-by: chegar ! src/share/classes/java/sql/CallableStatement.java Changeset: 8d8a35ac7d40 Author: lancea Date: 2013-02-22 09:58 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/8d8a35ac7d40 Merge Changeset: 6f9b3e216b01 Author: darcy Date: 2013-02-23 13:32 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6f9b3e216b01 6556996: (ann spec) SuppressWarnings strings should be documented Reviewed-by: mduigou, chegar, abuckley ! src/share/classes/java/lang/Deprecated.java ! src/share/classes/java/lang/Override.java ! src/share/classes/java/lang/SafeVarargs.java ! src/share/classes/java/lang/SuppressWarnings.java ! src/share/classes/java/lang/annotation/Inherited.java ! src/share/classes/java/lang/annotation/Retention.java ! src/share/classes/java/lang/annotation/Target.java Changeset: 155095c245b4 Author: alanb Date: 2013-02-25 17:17 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/155095c245b4 8008808: Allowed dependencies added by JDK-8008481 no longer required Reviewed-by: tbell, chegar ! make/tools/src/build/tools/deps/refs.allowed Changeset: 58f829566fe3 Author: bchristi Date: 2013-02-25 14:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/58f829566fe3 8006039: test/tools/launcher/I18NJarTest.java fails on Mac w/ LANG=C, LC_ALL=C Summary: Avoid automated test failure by just exiting when in 'C' locale Reviewed-by: naoto, ksrini ! test/ProblemList.txt ! test/tools/launcher/I18NJarTest.java Changeset: 4cf4403c9bf2 Author: jjg Date: 2013-02-25 15:08 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4cf4403c9bf2 8008914: Add nashorn to the tl build Reviewed-by: mr, tbell, jjh Contributed-by: erik.joelsson at oracle.com, james.laskey at oracle.com ! make/launchers/Makefile ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! test/tools/launcher/VersionCheck.java Changeset: bc92e4b044e2 Author: kmo Date: 2013-02-26 11:05 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/bc92e4b044e2 7087570: java.lang.invoke.MemberName information wrong for method handles created with findConstructor Summary: REF_invokeSpecial DMHs (which are unusual) get marked explicitly; tweak the MHI to use this bit Reviewed-by: jrose, twisti ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleInfo.java ! src/share/classes/java/lang/invoke/MethodHandles.java + test/java/lang/invoke/7087570/Test7087570.java Changeset: 5fcecbcefb71 Author: chegar Date: 2013-02-26 11:06 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5fcecbcefb71 Merge Changeset: 77447981db73 Author: chegar Date: 2013-02-26 11:18 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/77447981db73 Merge Changeset: 022cd5adc0fa Author: alanb Date: 2013-02-26 14:16 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/022cd5adc0fa 8008977: profiles build broken by Nashorn build changes Reviewed-by: chegar ! makefiles/profile-rtjar-includes.txt Changeset: 5ebc62421717 Author: rfield Date: 2013-02-26 10:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5ebc62421717 8008770: SerializedLambda incorrect class loader for lambda deserializing class Summary: current thread's context ClassLoader was used to load class by name, pass class not name in serialization (Thank you Peter Levart for test and prototype. Thank you Sundar and Peter for unofficial reviews) Reviewed-by: forax ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/SerializedLambda.java + test/java/lang/invoke/lambda/LambdaClassLoaderSerialization.java ! test/java/lang/invoke/lambda/LambdaSerialization.java Changeset: ecd33c6ab12f Author: alanb Date: 2013-02-26 22:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ecd33c6ab12f 8009029: SunEC provider classes ending up in rt.jar after Nashorn build changes Reviewed-by: mduigou ! makefiles/CreateJars.gmk Changeset: 543be9488e50 Author: darcy Date: 2013-02-26 17:01 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/543be9488e50 8009102: Several docs warnings in Project Lambda APIs Reviewed-by: mduigou ! src/share/classes/java/lang/invoke/LambdaMetafactory.java ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/ToDoubleBiFunction.java Changeset: d623f520557b Author: darcy Date: 2013-02-26 17:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d623f520557b 8008279: Remove InvalidContainerAnnotationError.java Reviewed-by: jfranck - src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java Changeset: f5416026cdf5 Author: sundar Date: 2013-02-27 17:22 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f5416026cdf5 8009115: jtreg tests under jdk/test/javax/script should use nashorn as script engine Reviewed-by: alanb ! test/javax/script/CauseExceptionTest.java + test/javax/script/ExceptionTest.java ! test/javax/script/GetInterfaceTest.java ! test/javax/script/Helper.java - test/javax/script/RhinoExceptionTest.java ! test/javax/script/StringWriterPrintTest.java ! test/javax/script/Test3.js ! test/javax/script/Test5.java ! test/javax/script/Test5.js ! test/javax/script/Test6.java ! test/javax/script/Test7.js ! test/javax/script/UnescapedBracketRegExTest.java ! test/javax/script/VersionTest.java Changeset: 13013dedcdfd Author: alanb Date: 2013-02-27 14:24 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/13013dedcdfd 8008793: SecurityManager.checkXXX behavior not specified for methods that check AWTPermission and AWT not present Reviewed-by: hawtin, mullan, dsamersoff, mchung ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/sun/security/util/SecurityConstants.java ! test/java/lang/SecurityManager/NoAWT.java Changeset: 1b3173c326e6 Author: sundar Date: 2013-02-27 20:34 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1b3173c326e6 8009140: jtreg tests under sun/tools/jrunscript should use nashorn engine Reviewed-by: alanb ! test/sun/tools/jrunscript/CheckEngine.java ! test/sun/tools/jrunscript/jrunscript-DTest.sh ! test/sun/tools/jrunscript/jrunscript-argsTest.sh ! test/sun/tools/jrunscript/jrunscript-cpTest.sh ! test/sun/tools/jrunscript/jrunscript-eTest.sh ! test/sun/tools/jrunscript/jrunscript-fTest.sh ! test/sun/tools/jrunscript/jrunscriptTest.sh ! test/sun/tools/jrunscript/repl.out Changeset: 093fdf8937bd Author: vladidan Date: 2013-02-22 17:12 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/093fdf8937bd 8005545: Add System property to identify ARCH specific details such as ARM hard-float binaries Summary: Adding sun.os.abi Java Property support Reviewed-by: bobv, alanb, dholmes ! makefiles/Images.gmk ! src/share/native/java/lang/System.c ! src/share/native/java/lang/java_props.h ! src/solaris/native/java/lang/java_props_md.c Changeset: f4b01f4e8f35 Author: mduigou Date: 2013-02-27 11:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f4b01f4e8f35 8008785: IdentityHashMap.values().toArray(V[]) broken by JDK-8008167 Reviewed-by: alanb ! src/share/classes/java/util/IdentityHashMap.java + test/java/util/Map/ToArray.java Changeset: 7d272e524768 Author: chegar Date: 2013-02-28 12:39 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7d272e524768 8006409: ThreadLocalRandom should dropping padding fields from its serialized form Reviewed-by: dl, martin, alanb, shade ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: 7246a6e4dd5a Author: juh Date: 2013-02-28 16:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7246a6e4dd5a 8006853: OCSP timeout set to wrong value if com.sun.security.ocsp.timeout < 0 Reviewed-by: mullan ! src/share/classes/sun/security/provider/certpath/OCSP.java Changeset: def2e05299b7 Author: xuelei Date: 2013-03-01 02:34 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/def2e05299b7 7030966: Support AEAD CipherSuites Reviewed-by: weijun, wetmore, valeriep ! src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java ! src/share/classes/sun/security/internal/spec/TlsKeyMaterialParameterSpec.java ! src/share/classes/sun/security/internal/spec/TlsKeyMaterialSpec.java ! src/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java + src/share/classes/sun/security/ssl/Authenticator.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/EngineInputRecord.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/EngineWriter.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/InputRecord.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/MAC.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/Record.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/sun/security/ec/TestEC.java ! test/sun/security/pkcs11/fips/CipherTest.java ! test/sun/security/pkcs11/sslecc/CipherTest.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java + test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java ! test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java ! test/sun/security/ssl/sanity/interop/CipherTest.java ! test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java Changeset: 1652ac7b4bfd Author: mullan Date: 2013-03-01 16:12 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1652ac7b4bfd 8008908: Access denied when invoking Subject.doAsPrivileged() Summary: wildcard principal names are not processed correctly Reviewed-by: xuelei ! src/share/classes/sun/security/provider/PolicyFile.java + test/sun/security/provider/PolicyFile/WildcardPrincipalName.java + test/sun/security/provider/PolicyFile/wildcard.policy Changeset: 1ca712765acb Author: mullan Date: 2013-03-01 16:15 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1ca712765acb Merge Changeset: 30e30ef6077e Author: dxu Date: 2013-03-01 14:12 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/30e30ef6077e 8006645: TEST_BUG: java/nio/file/Files/CopyAndMove.java failing intermittently (sol) Summary: Fix test failures and update java doc of Files.move Reviewed-by: alanb, chegar ! src/share/classes/java/nio/file/Files.java ! test/java/nio/file/Files/CopyAndMove.java Changeset: f08ad5938709 Author: chegar Date: 2013-03-02 08:54 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f08ad5938709 8008378: FJP.commonPool support parallelism 0, add awaitQuiescence Reviewed-by: chegar Contributed-by: Doug Lea
, Chris Hegarty ! src/share/classes/java/util/concurrent/ForkJoinPool.java ! src/share/classes/java/util/concurrent/ForkJoinTask.java + test/java/util/concurrent/forkjoin/ThreadLessCommon.java + test/java/util/concurrent/forkjoin/ThrowingRunnable.java Changeset: df76ba760eec Author: ksrini Date: 2013-03-03 20:52 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/df76ba760eec 8007297: [pack200] allow opcodes with InterfaceMethodRefs Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/Instruction.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/native/com/sun/java/util/jar/pack/constants.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/InstructionTests.java ! test/tools/pack200/Utils.java Changeset: 83e847f59fd6 Author: darcy Date: 2013-03-04 19:42 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/83e847f59fd6 8009267: Restore isAnnotationPresent methods in public AnnotatedElement implementations Reviewed-by: jjg ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/reflect/AccessibleObject.java + test/java/lang/reflect/OldenCompilingWithDefaults.java Changeset: 1a2e59d19d3e Author: naoto Date: 2013-03-04 20:46 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1a2e59d19d3e 8004240: Return value from getAdapterPrefence() can be modified Reviewed-by: okutsu ! src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java + test/java/util/Locale/Bug8004240.java Changeset: 62639ca66ab9 Author: ewang Date: 2013-03-05 10:10 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/62639ca66ab9 8009259: TEST_BUG: sun/misc/Cleaner/exitOnThrow.sh failing intermittently Reviewed-by: chegar, alanb ! test/sun/misc/Cleaner/ExitOnThrow.java ! test/sun/misc/Cleaner/exitOnThrow.sh Changeset: b5bef1f71de6 Author: jzavgren Date: 2013-03-05 14:30 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b5bef1f71de6 8008804: file descriptor leak in src/windows/native/java/net/DualStackPlainSocketImpl.c Reviewed-by: alanb, chegar, dsamersoff ! src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c Changeset: be79440b8026 Author: jzavgren Date: 2013-03-05 09:50 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/be79440b8026 4880778: URL final class has protected methods Summary: The two set() methods have been defined to be package private. Reviewed-by: alanb, chegar, khazra ! src/share/classes/java/net/URL.java ! src/share/classes/java/net/URLStreamHandler.java Changeset: f960a34f05ce Author: lana Date: 2013-03-05 11:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f960a34f05ce Merge ! makefiles/Images.gmk Changeset: 34372bb9115d Author: sla Date: 2013-03-05 19:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/34372bb9115d 8009397: test/com/sun/jdi/PrivateTransportTest.sh: ERROR: transport library missing onLoad entry: private_dt_socket Reviewed-by: alanb ! src/share/back/transport.c ! src/share/demo/jvmti/hprof/hprof_init.c ! src/solaris/back/linker_md.c ! src/solaris/demo/jvmti/hprof/hprof_md.c ! src/windows/back/linker_md.c ! src/windows/demo/jvmti/hprof/hprof_md.c Changeset: 38e1821c4472 Author: jfranck Date: 2013-03-06 18:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/38e1821c4472 8007808: Missing method: Executable.getAnnotatedReturnType() Reviewed-by: darcy, forax ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Method.java Changeset: 14e49a70729a Author: martin Date: 2013-03-06 17:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/14e49a70729a 8008759: Do not let internal JDK zlib symbols leak out of fastdebug libzip.so Summary: Define FILES_m to force use of linker script Reviewed-by: sherman, alanb, ohair ! make/java/zip/Makefile ! src/share/native/java/util/zip/Inflater.c Changeset: cf54f6be3e9e Author: weijun Date: 2013-03-07 11:32 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/cf54f6be3e9e 8009604: old make images failed: JarBASE64Encoder class not found Reviewed-by: xuelei, wetmore ! make/common/Release.gmk Changeset: 48b7295f02f8 Author: chegar Date: 2013-03-07 10:07 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/48b7295f02f8 6370908: Add support for HTTP_CONNECT proxy in Socket class Reviewed-by: chegar Contributed-by: Damjan Jovanovic , Chris Hegarty + src/share/classes/java/net/HttpConnectSocketImpl.java ! src/share/classes/java/net/Socket.java + test/java/net/Socket/HttpProxy.java Changeset: 98cf76df3e6e Author: alanb Date: 2013-03-08 12:03 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/98cf76df3e6e 8006000: TEST_BUG: java/lang/invoke/lambda/LambdaAccessControlTest.java fails intermittently Reviewed-by: chegar + test/java/lang/invoke/lambda/LUtils.java ! test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java ! test/java/lang/invoke/lambda/LambdaAccessControlTest.java Changeset: 01908630df14 Author: alanb Date: 2013-03-08 19:51 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/01908630df14 8009645: ClassFileTransformer hooks in ClassLoader no longer required Reviewed-by: mchung, iris ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/sun/misc/ClassFileTransformer.java Changeset: e38b46041049 Author: mduigou Date: 2013-03-08 15:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e38b46041049 8001667: Comparator combinators and extension methods Reviewed-by: mduigou, briangoetz Contributed-by: henry.jen at oracle.com ! make/java/java/FILES_java.gmk ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/Comparator.java + src/share/classes/java/util/Comparators.java ! test/java/util/Collections/ReverseOrder.java + test/java/util/ComparatorsTest.java Changeset: 230bafd05509 Author: weijun Date: 2013-03-09 17:27 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/230bafd05509 8000653: SPNEGO tests fail at context.getDelegCred().getRemainingInitLifetime(mechOid) Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/GSSCredentialImpl.java ! src/share/classes/sun/security/jgss/spnego/SpNegoCredElement.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/SpnegoLifeTime.java Changeset: 334ddf3b101f Author: coleenp Date: 2013-03-12 10:35 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/334ddf3b101f 7154889: Non-zero padding is still not allowed in the tableswitch/lookupswitch instructions. Summary: Do not check that the padding bytes are zero if class file format version >=51. Reviewed-by: dholmes, coleenp, mullan, kvn Contributed-by: harold.seigel at oracle.com ! src/share/native/common/check_code.c Changeset: 6379415d8fca Author: wetmore Date: 2013-03-12 15:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6379415d8fca 8009925: Back out AEAD CipherSuites temporarily Reviewed-by: valeriep ! src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java ! src/share/classes/sun/security/internal/spec/TlsKeyMaterialParameterSpec.java ! src/share/classes/sun/security/internal/spec/TlsKeyMaterialSpec.java ! src/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java - src/share/classes/sun/security/ssl/Authenticator.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/EngineInputRecord.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/EngineWriter.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/InputRecord.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/MAC.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/Record.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/sun/security/ec/TestEC.java ! test/sun/security/pkcs11/fips/CipherTest.java ! test/sun/security/pkcs11/sslecc/CipherTest.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java - test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java ! test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java ! test/sun/security/ssl/sanity/interop/CipherTest.java ! test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java Changeset: 5880bfd30db1 Author: lana Date: 2013-03-12 16:40 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5880bfd30db1 Merge - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java - src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java - src/share/classes/java/util/function/Block.java - src/share/classes/java/util/function/DoubleBlock.java - src/share/classes/java/util/function/IntBlock.java - src/share/classes/java/util/function/LongBlock.java - test/javax/script/RhinoExceptionTest.java Changeset: 72ffb2bc15bb Author: lana Date: 2013-03-12 18:12 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/72ffb2bc15bb Merge - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java - src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java - src/share/classes/java/util/function/Block.java - src/share/classes/java/util/function/DoubleBlock.java - src/share/classes/java/util/function/IntBlock.java - src/share/classes/java/util/function/LongBlock.java ! test/ProblemList.txt - test/javax/script/RhinoExceptionTest.java Changeset: 66a892bb28b7 Author: anthony Date: 2012-10-12 15:51 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/66a892bb28b7 7173145: Improve in-memory representation of splashscreens Reviewed-by: bae, mschoene ! src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c Changeset: 85bf51db473c Author: xuelei Date: 2012-10-15 07:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/85bf51db473c 7192393: Better Checking of order of TLS Messages Summary: Also reviewed by Andrew Gross Reviewed-by: weijun ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java Changeset: 24a3eb2f0553 Author: malenkov Date: 2012-10-15 19:00 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/24a3eb2f0553 7200493: Improve cache handling Reviewed-by: art, ahgross ! src/share/classes/com/sun/beans/finder/MethodFinder.java Changeset: c7c39320bc6c Author: rupashka Date: 2012-10-16 14:13 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c7c39320bc6c 7186948: Improve Swing data validation Reviewed-by: art, ahgross ! src/share/classes/javax/swing/UIDefaults.java Changeset: 3c8d0085b094 Author: ksrini Date: 2012-10-16 12:29 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/3c8d0085b094 7186945: Unpack200 improvement Reviewed-by: jrose, jjh, mschoene ! src/share/native/com/sun/java/util/jar/pack/jni.cpp Changeset: 01f67953c057 Author: ksrini Date: 2012-10-16 12:35 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/01f67953c057 7186957: Improve Pack200 data validation Reviewed-by: jrose, jjh, mschoene ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp Changeset: b0bf41ba1cf8 Author: ksrini Date: 2012-10-16 12:38 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b0bf41ba1cf8 7186946: Refine unpacker resource usage Reviewed-by: jrose, jjh, mschoene ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ! src/share/native/com/sun/java/util/jar/pack/jni.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp Changeset: f0bc5a6dff2b Author: ksrini Date: 2012-10-16 16:38 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f0bc5a6dff2b 7200499: Better data validation for options Reviewed-by: darcy, jjh, mschoene ! src/share/bin/jli_util.h ! src/windows/bin/java_md.c Changeset: 7e19ab4ff5d3 Author: ksrini Date: 2012-10-16 10:56 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7e19ab4ff5d3 7200500: Launcher better input validation Reviewed-by: darcy, jjh, mschoene ! src/share/bin/parse_manifest.c Changeset: 62f3270f03fa Author: dholmes Date: 2012-08-22 21:40 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/62f3270f03fa 6776941: Improve thread pool shutdown Reviewed-by: dl, skoivu ! src/share/classes/java/util/concurrent/ThreadPoolExecutor.java Changeset: e7cce63bf293 Author: xuelei Date: 2012-10-22 07:28 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e7cce63bf293 7192392: Better validation of client keys Summary: Also reviewed by Andrew Gross Reviewed-by: vinnie ! src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java ! src/share/classes/sun/security/pkcs11/P11KeyAgreement.java ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/DHClientKeyExchange.java ! src/share/classes/sun/security/ssl/DHCrypt.java ! src/share/classes/sun/security/ssl/HandshakeMessage.java ! src/share/classes/sun/security/ssl/RSAClientKeyExchange.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java ! src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java - src/share/classes/sun/security/util/KeyLength.java + src/share/classes/sun/security/util/KeyUtil.java ! test/sun/security/mscapi/ShortRSAKeyWithinTLS.java Changeset: 091dd6eb30aa Author: khazra Date: 2012-10-22 11:49 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/091dd6eb30aa 7186954: Improve connection performance Reviewed-by: chegar, skoivu ! src/share/classes/sun/net/httpserver/ChunkedInputStream.java ! src/share/classes/sun/net/www/http/ChunkedInputStream.java Changeset: c26d42a92bd8 Author: weijun Date: 2012-09-19 12:58 +0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c26d42a92bd8 8000210: Improve JarFile code quality Reviewed-by: ahgross, xuelei, mschoene ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/sun/security/util/DerIndefLenConverter.java Changeset: a54b61ae6f12 Author: mullan Date: 2012-10-26 15:21 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/a54b61ae6f12 7201068: Better handling of UI elements Reviewed-by: xuelei ! src/share/lib/security/java.security ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 71ab8d79c6b4 Author: asaha Date: 2012-10-26 10:01 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/71ab8d79c6b4 Merge - src/macosx/classes/sun/awt/SunToolkitSubclass.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/util/ServiceLoader.java ! src/share/classes/sun/invoke/util/ValueConversions.java - src/share/classes/sun/management/LockDataConverter.java - src/share/classes/sun/management/LockDataConverterMXBean.java ! src/share/classes/sun/security/ssl/HandshakeMessage.java - src/share/classes/sun/security/x509/CertificateIssuerUniqueIdentity.java - src/share/classes/sun/security/x509/CertificateSubjectUniqueIdentity.java - src/share/classes/sun/util/xml/XMLUtils.java - src/share/test/pack200/pack.conf - test/sun/misc/URLClassPath/ClassnameCharTest.sh - test/sun/net/www/httptest/HttpServer.java - test/sun/security/ssl/sun/net/www/httpstest/HttpServer.java Changeset: be07910b3fad Author: asaha Date: 2012-10-26 13:48 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/be07910b3fad Merge Changeset: e14221289076 Author: dsamersoff Date: 2012-10-30 17:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e14221289076 8000539: JMX implementation allows invocation of methods of a system class Summary: Added extra packageAccess check call Reviewed-by: ahgross, dfuchs Contributed-by: jaroslav.bachorik at oracle.com ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java Changeset: 64440cc2ea8b Author: mchung Date: 2012-11-02 16:50 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/64440cc2ea8b 7197546: (proxy) Reflect about creating reflective proxies Reviewed-by: alanb, jdn, jrose ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/sun/reflect/misc/ReflectUtil.java ! test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy Changeset: f936be5be1e7 Author: rupashka Date: 2012-11-06 15:30 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f936be5be1e7 7200491: Tighten up JTable layout code Reviewed-by: art, skoivu ! src/share/classes/javax/swing/JTable.java ! src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java Changeset: 3069b91ff041 Author: chegar Date: 2012-11-07 14:26 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/3069b91ff041 7201071: InetSocketAddress serialization issue Reviewed-by: alanb, michaelm, skoivu ! src/share/classes/java/net/InetSocketAddress.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java ! src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ! src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c ! test/java/nio/channels/DatagramChannel/SendToUnresolved.java Changeset: 69fd15e0437d Author: smarks Date: 2012-11-08 15:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/69fd15e0437d 7201070: Serialization to conform to protocol Reviewed-by: dmocek, ahgross, skoivu ! src/share/classes/java/io/ObjectInputStream.java Changeset: 9097b6ec0ecd Author: ksrini Date: 2012-11-09 14:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9097b6ec0ecd 8002091: tools/launcher/ToolsOpts.java test started to fail since 7u11 b01 on Windows Reviewed-by: darcy, jjh, mschoene ! src/share/bin/jli_util.h ! src/windows/bin/java_md.c ! test/tools/launcher/ToolsOpts.java Changeset: 7bc8d5a63d9e Author: bagiras Date: 2012-11-15 23:03 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7bc8d5a63d9e 7192977: Issue in toolkit thread Reviewed-by: skoivu, rupashka, art ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/awt/Window.java ! src/share/classes/javax/swing/RepaintManager.java ! src/share/classes/sun/applet/AppletPanel.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java Changeset: 09e2dcd476cf Author: bae Date: 2012-11-16 11:05 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/09e2dcd476cf 8001972: Improve image processing Reviewed-by: prr, ahgross ! src/share/classes/sun/awt/image/ByteComponentRaster.java ! src/share/classes/sun/awt/image/ByteInterleavedRaster.java ! src/share/classes/sun/awt/image/ShortComponentRaster.java ! src/share/classes/sun/awt/image/ShortInterleavedRaster.java ! src/share/native/sun/awt/image/awt_parseImage.c ! src/share/native/sun/awt/medialib/safe_alloc.h Changeset: 1b616e1ca09c Author: dmocek Date: 2012-11-19 13:54 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1b616e1ca09c 6563318: RMI data sanitization Reviewed-by: ahgross, hawtin, mchung, smarks ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java ! test/java/rmi/testlibrary/JavaVM.java Changeset: aa8717a5c9cd Author: dmocek Date: 2012-11-19 15:38 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/aa8717a5c9cd 8001242: Improve RMI HTTP conformance Reviewed-by: ahgross, mchung, smarks ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java ! src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java Changeset: ecedf46ae7db Author: bae Date: 2012-11-20 11:46 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ecedf46ae7db 8002325: Improve management of images Reviewed-by: prr, ahgross ! src/share/native/sun/awt/image/awt_parseImage.c ! src/share/native/sun/awt/image/awt_parseImage.h Changeset: eda84d5738e3 Author: denis Date: 2012-11-26 20:49 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/eda84d5738e3 7186952: Improve clipboard access Reviewed-by: serb, ahgross ! src/share/classes/java/awt/TextComponent.java ! src/windows/native/sun/windows/awt_TextComponent.cpp ! src/windows/native/sun/windows/awt_TextComponent.h Changeset: d1668eca22bf Author: mchung Date: 2012-11-26 22:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d1668eca22bf 6664509: Add logging context 6664528: Find log level matching its name or value given at construction time Reviewed-by: alanb, ahgross, jgish, hawtin ! src/share/classes/java/util/logging/Level.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/java/util/logging/LoggingProxyImpl.java ! src/share/classes/java/util/logging/SimpleFormatter.java ! src/share/classes/sun/awt/AppContext.java ! src/share/classes/sun/misc/JavaAWTAccess.java ! src/share/lib/security/java.security Changeset: b8ee2e9ff7e3 Author: denis Date: 2012-11-30 15:51 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/b8ee2e9ff7e3 7201064: Better dialogue checking Reviewed-by: serb, skoivu ! src/share/classes/java/awt/Dialog.java Changeset: 90bbdae7aaa4 Author: ewendeli Date: 2013-02-03 23:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/90bbdae7aaa4 Merge ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/TextComponent.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/io/FilePermission.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/java/util/logging/Logging.java ! src/share/classes/java/util/logging/LoggingProxyImpl.java ! src/share/classes/java/util/logging/SimpleFormatter.java ! src/share/classes/javax/swing/JTable.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! src/share/classes/sun/reflect/misc/ReflectUtil.java ! src/share/classes/sun/rmi/transport/proxy/CGIHandler.java ! src/share/classes/sun/rmi/transport/proxy/HttpInputStream.java ! src/share/classes/sun/security/ssl/ClientHandshaker.java ! src/share/classes/sun/security/ssl/DHClientKeyExchange.java ! src/share/classes/sun/security/ssl/HandshakeMessage.java ! src/share/classes/sun/security/ssl/RSAClientKeyExchange.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java - src/share/classes/sun/security/util/KeyLength.java ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java ! src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java ! src/solaris/native/sun/nio/ch/DatagramChannelImpl.c ! src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c ! src/windows/native/sun/nio/ch/DatagramChannelImpl.c ! test/java/rmi/testlibrary/JavaVM.java Changeset: cc2057f84eb7 Author: mchung Date: 2012-12-05 14:02 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/cc2057f84eb7 8004175: Restricted packages added in java.security are missing in java.security-{macosx, solaris, windows} Reviewed-by: alanb, ahgross, mullan ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 89e43b8940c9 Author: dsamersoff Date: 2012-12-07 22:49 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/89e43b8940c9 8000537: Contextualize RequiredModelMBean class Summary: Contextualize RequiredModelMBean class Reviewed-by: asaha Contributed-by: jaroslav.bachorik at oracle.com ! src/share/classes/javax/management/modelmbean/RequiredModelMBean.java Changeset: 7933c80c162a Author: denis Date: 2012-12-12 21:08 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7933c80c162a 8004341: Two JCK tests fails with 7u11 b06 Reviewed-by: serb, skoivu ! src/share/classes/java/awt/Dialog.java Changeset: ed08394e1a15 Author: mullan Date: 2012-12-18 13:48 -0500 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ed08394e1a15 8004302: javax/xml/soap/Test7013971.java fails since jdk6u39b01 Reviewed-by: vinnie, skoivu, mgrebac, ohair, tbell ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/Makefile Changeset: 32cd4975d2d6 Author: mchung Date: 2013-01-10 19:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/32cd4975d2d6 8005615: Java Logger fails to load tomcat logger implementation (JULI) Reviewed-by: alanb, ahgross ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/CustomLogManager.java + test/java/util/logging/CustomLogManagerTest.java + test/java/util/logging/SimpleLogManager.java Changeset: c0fbd737aef0 Author: ewendeli Date: 2013-01-28 11:07 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c0fbd737aef0 8006864: Update java.security-linux to include changes in java.security Reviewed-by: mchung, mullan ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 12491fa16985 Author: ewendeli Date: 2013-02-05 15:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/12491fa16985 Merge ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ! src/share/classes/com/sun/jmx/mbeanserver/Introspector.java ! src/share/classes/java/lang/Class.java - src/share/classes/sun/security/util/KeyLength.java Changeset: de419ea8ed8f Author: mchung Date: 2013-01-28 15:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/de419ea8ed8f 8006882: Proxy generated classes in sun.proxy package breaks JMockit Reviewed-by: alanb, ahgross ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/sun/reflect/misc/ReflectUtil.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 8effe3b7489d Author: dfuchs Date: 2013-01-30 11:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/8effe3b7489d 8006446: Restrict MBeanServer access Reviewed-by: alanb, mchung, darcy, jrose, ahgross, skoivu ! src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java ! src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java ! src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java ! src/share/classes/java/lang/management/ManagementFactory.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java ! test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java Changeset: ebfb0bb58428 Author: mchung Date: 2013-01-24 16:45 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ebfb0bb58428 8004937: Improve proxy construction Reviewed-by: jrose, ahgross ! src/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java Changeset: af11c227a91e Author: mchung Date: 2013-02-05 22:56 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/af11c227a91e 8007393: Possible race condition after JDK-6664509 Reviewed-by: alanb, jgish ! src/share/classes/java/util/logging/LogManager.java Changeset: 1143bb5e7064 Author: mchung Date: 2013-02-07 09:41 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/1143bb5e7064 8007611: logging behavior in applet changed Reviewed-by: alanb, jgish ! src/share/classes/java/util/logging/LogManager.java Changeset: 5925630b7a7d Author: xuelei Date: 2013-02-07 16:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5925630b7a7d 8006777: Improve TLS handling of invalid messages Reviewed-by: wetmore, ahgross ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/EngineInputRecord.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/InputRecord.java ! src/share/classes/sun/security/ssl/MAC.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java Changeset: d57363ff612f Author: valeriep Date: 2013-02-07 16:03 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/d57363ff612f 8007688: Blacklist known bad certificate Summary: Added two known bad certs to the blacklist certs. Reviewed-by: mullan ! src/share/classes/sun/security/util/UntrustedCertificates.java Changeset: c18aeb4ca957 Author: ewendeli Date: 2013-02-19 21:48 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/c18aeb4ca957 Merge ! src/share/bin/parse_manifest.c ! src/share/classes/java/lang/Class.java - src/share/classes/sun/security/util/KeyLength.java ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/share/native/sun/awt/image/awt_parseImage.c ! test/Makefile Changeset: f7fb3de623ba Author: ewendeli Date: 2013-02-19 21:53 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f7fb3de623ba Merge Changeset: f686c8e3c8e0 Author: ewendeli Date: 2013-02-25 08:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f686c8e3c8e0 Merge ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/logging/LogManager.java - src/share/classes/sun/security/util/KeyLength.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp Changeset: e3cac5962e32 Author: vlivanov Date: 2013-02-22 03:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/e3cac5962e32 8006439: Improve MethodHandles coverage Reviewed-by: jrose, twisti ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 62be74f35886 Author: vlivanov Date: 2013-02-22 03:00 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/62be74f35886 8006179: JSR292 MethodHandles lookup with interface using findVirtual() Reviewed-by: jrose, twisti ! src/share/classes/java/lang/invoke/DirectMethodHandle.java Changeset: 9995881dfb4e Author: vlivanov Date: 2013-02-22 02:59 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9995881dfb4e 8006125: Update MethodHandles library interactions Reviewed-by: jrose ! src/share/classes/sun/reflect/misc/MethodUtil.java Changeset: 0807820fca96 Author: vlivanov Date: 2013-02-22 02:58 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/0807820fca96 8004933: Improve MethodHandle interaction with libraries Reviewed-by: jrose ! src/share/classes/java/lang/invoke/MethodHandleNatives.java Changeset: ae1fed8d80e1 Author: ewendeli Date: 2013-02-26 06:47 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ae1fed8d80e1 Merge - src/share/classes/sun/security/util/KeyLength.java Changeset: 5e4c2d7f3b67 Author: ewendeli Date: 2013-02-26 20:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/5e4c2d7f3b67 Merge ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java - src/share/classes/sun/security/util/KeyLength.java Changeset: 4d4848124bff Author: ewendeli Date: 2013-02-27 09:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/4d4848124bff Merge - src/share/classes/sun/security/util/KeyLength.java Changeset: 36ff48ae6ffe Author: ewendeli Date: 2013-02-27 18:13 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/36ff48ae6ffe Merge - src/share/classes/sun/security/util/KeyLength.java Changeset: 931fb59eae26 Author: lana Date: 2013-03-12 19:04 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/931fb59eae26 Merge ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ! src/share/classes/java/awt/EventQueue.java ! src/share/classes/java/lang/Class.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/EngineInputRecord.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/InputRecord.java ! src/share/classes/sun/security/ssl/MAC.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java - src/share/classes/sun/security/util/KeyLength.java ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! src/windows/classes/sun/awt/windows/WEmbeddedFrame.java Changeset: 9528e88f8d53 Author: lana Date: 2013-03-13 23:39 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/9528e88f8d53 Merge - make/tools/javazic/Makefile - make/tools/src/build/tools/javazic/BackEnd.java - make/tools/src/build/tools/javazic/Checksum.java - make/tools/src/build/tools/javazic/DayOfWeek.java - make/tools/src/build/tools/javazic/Gen.java - make/tools/src/build/tools/javazic/GenDoc.java - make/tools/src/build/tools/javazic/Main.java - make/tools/src/build/tools/javazic/Mappings.java - make/tools/src/build/tools/javazic/Month.java - make/tools/src/build/tools/javazic/Rule.java - make/tools/src/build/tools/javazic/RuleDay.java - make/tools/src/build/tools/javazic/RuleRec.java - make/tools/src/build/tools/javazic/Simple.java - make/tools/src/build/tools/javazic/Time.java - make/tools/src/build/tools/javazic/Timezone.java - make/tools/src/build/tools/javazic/Zone.java - make/tools/src/build/tools/javazic/ZoneRec.java - make/tools/src/build/tools/javazic/Zoneinfo.java ! makefiles/CompileNativeLibraries.gmk ! makefiles/Images.gmk - src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java - src/share/classes/java/util/function/Block.java - src/share/classes/java/util/function/DoubleBlock.java - src/share/classes/java/util/function/IntBlock.java - src/share/classes/java/util/function/LongBlock.java - src/share/classes/sun/security/util/KeyLength.java - test/javax/script/RhinoExceptionTest.java Changeset: f282190e931a Author: lana Date: 2013-03-14 19:26 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/f282190e931a Merge Changeset: 624bcb480006 Author: omajid Date: 2013-03-18 10:46 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/624bcb480006 8010030: Allow configure to detect if EC implementation is present Reviewed-by: andrew, dholmes ! makefiles/CompileNativeLibraries.gmk Changeset: cdcd4512c6f1 Author: katleman Date: 2013-03-21 10:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/cdcd4512c6f1 Added tag jdk8-b82 for changeset 624bcb480006 ! .hgtags From john.coomes at oracle.com Thu Mar 21 23:05:54 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 06:05:54 +0000 Subject: hg: hsx/hotspot-comp/langtools: 58 new changesets Message-ID: <20130322060836.EFD5F48319@hg.openjdk.java.net> Changeset: 58289451d9ed Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/58289451d9ed Added tag jdk8-b81 for changeset ed69d087fdfd ! .hgtags Changeset: 63872da94576 Author: darcy Date: 2013-02-13 23:05 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/63872da94576 8001457: New tests needed for library-side changes for repeating annotations Reviewed-by: darcy Contributed-by: sonali.goel at oracle.com ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java + test/tools/javac/annotations/repeatingAnnotations/combo/ReflectionTest.java + test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java + test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java Changeset: 88286a36bb34 Author: mchung Date: 2013-02-14 09:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/88286a36bb34 8006225: tools/jdeps/Basic.java failes with AssertionError Reviewed-by: alanb + src/share/classes/com/sun/tools/jdeps/Analyzer.java ! src/share/classes/com/sun/tools/jdeps/Archive.java ! src/share/classes/com/sun/tools/jdeps/JdepsTask.java ! test/tools/jdeps/Basic.java Changeset: 040f02711b73 Author: jjg Date: 2013-02-15 08:28 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/040f02711b73 8007052: javap should include the descriptor for a method in verbose mode Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! src/share/classes/com/sun/tools/javap/JavapTask.java ! src/share/classes/com/sun/tools/javap/Options.java + test/tools/javap/DescriptorTest.java Changeset: 0baaae675b19 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/0baaae675b19 8006749: compiler does not allow Object protected methods to be used in lambda Summary: Check.checkFunctionalInterface should take into account 'fake' override Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/lambda/LambdaConv26.java Changeset: f6e667f52af4 Author: mcimadamore Date: 2013-02-15 16:28 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/f6e667f52af4 8007285: AbstractMethodError instead of compile-time error when method reference with super and abstract Summary: Missing abstractness check on super rmethod references Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/MethodReference62.java + test/tools/javac/lambda/MethodReference62.out Changeset: 4ff468de829d Author: mcimadamore Date: 2013-02-15 16:29 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/4ff468de829d 8007462: Fix provisional applicability for method references Summary: Add speculative arity-based check to rule out potential candidates when stuck reference is passed to method Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/IncompatibleArgTypesInMethodRef.java + test/tools/javac/lambda/TargetType60.java + test/tools/javac/lambda/TargetType60.out Changeset: 3cd997b9fd84 Author: mcimadamore Date: 2013-02-15 16:30 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/3cd997b9fd84 8007535: Compiler crashes on @FunctionalInterface used on interface with two inherited methods with same signatures Summary: Bad check in Types.interfaceCandidates Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/FunctionalInterfaceAnno02.java Changeset: 186023614cd3 Author: mcimadamore Date: 2013-02-15 16:31 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/186023614cd3 8007427: Annotation element as '_' gives compiler error instead of a warning 8007401: Write test to check for generation of warnings when '_' is used as an identifier Summary: Extended identifier production not used in annotation values Reviewed-by: jjg Contributed-by: sonali.goel at oracle.com ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java + test/tools/javac/lambda/IdentifierTest.java + test/tools/javac/lambda/IdentifierTest.out Changeset: 258c72fa7fa2 Author: mcimadamore Date: 2013-02-15 16:37 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/258c72fa7fa2 Merge Changeset: da2f7dd53915 Author: mcimadamore Date: 2013-02-15 18:13 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/da2f7dd53915 8008309: TargetType60 fails because of bad golden file Summary: bad golden file Reviewed-by: jjg ! test/tools/javac/lambda/TargetType60.out Changeset: 9fb4f223a90d Author: jjg Date: 2013-02-15 11:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/9fb4f223a90d 8008313: 8007052 breaks test/tools/javap/MethodParameters.java Reviewed-by: darcy ! test/tools/javap/MethodParameters.java Changeset: f1f605f85850 Author: rfield Date: 2013-02-15 18:40 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/f1f605f85850 8004969: Generate $deserializeLambda$ method 8006763: super in method reference used in anonymous class - ClassFormatError is produced 8005632: Inner classes within lambdas cause build failures 8005653: Lambdas containing inner classes referencing external type variables do not correctly parameterize the inner classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/util/Names.java + test/tools/javac/lambda/LambdaInnerTypeVarArgs.java + test/tools/javac/lambda/LambdaInnerTypeVarReflect.java + test/tools/javac/lambda/MethodReference61.java Changeset: 2620c953e9fe Author: vromero Date: 2013-02-18 14:33 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/2620c953e9fe 6563143: javac should issue a warning for overriding equals without hashCode Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java + test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out ! test/tools/javac/diags/examples.not-yet.txt Changeset: 87884cd0fea3 Author: jjg Date: 2013-02-18 14:29 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/87884cd0fea3 8008339: Test TargetAnnoCombo.java is broken Reviewed-by: jjh ! test/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 011cf7e0a148 Author: darcy Date: 2013-02-19 00:31 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/011cf7e0a148 8008267: Add @Supported annotation to com.sun.source types Reviewed-by: jjg ! src/share/classes/com/sun/source/doctree/AttributeTree.java ! src/share/classes/com/sun/source/doctree/AuthorTree.java ! src/share/classes/com/sun/source/doctree/BlockTagTree.java ! src/share/classes/com/sun/source/doctree/CommentTree.java ! src/share/classes/com/sun/source/doctree/DeprecatedTree.java ! src/share/classes/com/sun/source/doctree/DocCommentTree.java ! src/share/classes/com/sun/source/doctree/DocRootTree.java ! src/share/classes/com/sun/source/doctree/DocTree.java ! src/share/classes/com/sun/source/doctree/DocTreeVisitor.java ! src/share/classes/com/sun/source/doctree/EndElementTree.java ! src/share/classes/com/sun/source/doctree/EntityTree.java ! src/share/classes/com/sun/source/doctree/ErroneousTree.java ! src/share/classes/com/sun/source/doctree/IdentifierTree.java ! src/share/classes/com/sun/source/doctree/InheritDocTree.java ! src/share/classes/com/sun/source/doctree/InlineTagTree.java ! src/share/classes/com/sun/source/doctree/LinkTree.java ! src/share/classes/com/sun/source/doctree/LiteralTree.java ! src/share/classes/com/sun/source/doctree/ParamTree.java ! src/share/classes/com/sun/source/doctree/ReferenceTree.java ! src/share/classes/com/sun/source/doctree/ReturnTree.java ! src/share/classes/com/sun/source/doctree/SeeTree.java ! src/share/classes/com/sun/source/doctree/SerialDataTree.java ! src/share/classes/com/sun/source/doctree/SerialFieldTree.java ! src/share/classes/com/sun/source/doctree/SerialTree.java ! src/share/classes/com/sun/source/doctree/SinceTree.java ! src/share/classes/com/sun/source/doctree/StartElementTree.java ! src/share/classes/com/sun/source/doctree/TextTree.java ! src/share/classes/com/sun/source/doctree/ThrowsTree.java ! src/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java ! src/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java ! src/share/classes/com/sun/source/doctree/ValueTree.java ! src/share/classes/com/sun/source/doctree/VersionTree.java ! src/share/classes/com/sun/source/doctree/package-info.java ! src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/AnnotationTree.java ! src/share/classes/com/sun/source/tree/ArrayAccessTree.java ! src/share/classes/com/sun/source/tree/ArrayTypeTree.java ! src/share/classes/com/sun/source/tree/AssertTree.java ! src/share/classes/com/sun/source/tree/AssignmentTree.java ! src/share/classes/com/sun/source/tree/BinaryTree.java ! src/share/classes/com/sun/source/tree/BlockTree.java ! src/share/classes/com/sun/source/tree/BreakTree.java ! src/share/classes/com/sun/source/tree/CaseTree.java ! src/share/classes/com/sun/source/tree/CatchTree.java ! src/share/classes/com/sun/source/tree/ClassTree.java ! src/share/classes/com/sun/source/tree/CompilationUnitTree.java ! src/share/classes/com/sun/source/tree/CompoundAssignmentTree.java ! src/share/classes/com/sun/source/tree/ConditionalExpressionTree.java ! src/share/classes/com/sun/source/tree/ContinueTree.java ! src/share/classes/com/sun/source/tree/DoWhileLoopTree.java ! src/share/classes/com/sun/source/tree/EmptyStatementTree.java ! src/share/classes/com/sun/source/tree/EnhancedForLoopTree.java ! src/share/classes/com/sun/source/tree/ErroneousTree.java ! src/share/classes/com/sun/source/tree/ExpressionStatementTree.java ! src/share/classes/com/sun/source/tree/ExpressionTree.java ! src/share/classes/com/sun/source/tree/ForLoopTree.java ! src/share/classes/com/sun/source/tree/IdentifierTree.java ! src/share/classes/com/sun/source/tree/IfTree.java ! src/share/classes/com/sun/source/tree/ImportTree.java ! src/share/classes/com/sun/source/tree/InstanceOfTree.java ! src/share/classes/com/sun/source/tree/IntersectionTypeTree.java ! src/share/classes/com/sun/source/tree/LabeledStatementTree.java ! src/share/classes/com/sun/source/tree/LambdaExpressionTree.java ! src/share/classes/com/sun/source/tree/LineMap.java ! src/share/classes/com/sun/source/tree/LiteralTree.java ! src/share/classes/com/sun/source/tree/MemberReferenceTree.java ! src/share/classes/com/sun/source/tree/MemberSelectTree.java ! src/share/classes/com/sun/source/tree/MethodInvocationTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/ModifiersTree.java ! src/share/classes/com/sun/source/tree/NewArrayTree.java ! src/share/classes/com/sun/source/tree/NewClassTree.java ! src/share/classes/com/sun/source/tree/ParameterizedTypeTree.java ! src/share/classes/com/sun/source/tree/ParenthesizedTree.java ! src/share/classes/com/sun/source/tree/PrimitiveTypeTree.java ! src/share/classes/com/sun/source/tree/ReturnTree.java ! src/share/classes/com/sun/source/tree/Scope.java ! src/share/classes/com/sun/source/tree/StatementTree.java ! src/share/classes/com/sun/source/tree/SwitchTree.java ! src/share/classes/com/sun/source/tree/SynchronizedTree.java ! src/share/classes/com/sun/source/tree/ThrowTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TryTree.java ! src/share/classes/com/sun/source/tree/TypeCastTree.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/tree/UnaryTree.java ! src/share/classes/com/sun/source/tree/UnionTypeTree.java ! src/share/classes/com/sun/source/tree/VariableTree.java ! src/share/classes/com/sun/source/tree/WhileLoopTree.java ! src/share/classes/com/sun/source/tree/WildcardTree.java ! src/share/classes/com/sun/source/tree/package-info.java ! src/share/classes/com/sun/source/util/DocTreeScanner.java ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/source/util/JavacTask.java ! src/share/classes/com/sun/source/util/Plugin.java ! src/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/SourcePositions.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TaskListener.java ! src/share/classes/com/sun/source/util/TreePath.java ! src/share/classes/com/sun/source/util/TreePathScanner.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/source/util/Trees.java ! src/share/classes/com/sun/source/util/package-info.java ! src/share/classes/com/sun/tools/javac/Main.java ! src/share/classes/com/sun/tools/javac/Server.java Changeset: dc8b7aa7cef3 Author: vromero Date: 2013-02-19 17:53 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/dc8b7aa7cef3 8006212: javac, convert jtreg tests from shell script to java Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/util/ArrayUtils.java + test/tools/apt/Basics/CheckAptIsRemovedTest.java - test/tools/apt/Basics/NullAPF.java - test/tools/apt/Basics/apt.sh - test/tools/apt/verifyVariables.sh + test/tools/javac/4846262/CheckEBCDICLocaleTest.java - test/tools/javac/4846262/Test.java - test/tools/javac/4846262/Test.out - test/tools/javac/4846262/Test.sh + test/tools/javac/6302184/HiddenOptionsShouldUseGivenEncodingTest.java - test/tools/javac/6302184/T6302184.sh + test/tools/javac/ClassPathTest/ClassPathTest.java - test/tools/javac/ClassPathTest/ClassPathTest.sh - test/tools/javac/ClassPathTest/ClassPathTest1.java - test/tools/javac/ClassPathTest/ClassPathTest2.java - test/tools/javac/ClassPathTest/ClassPathTest3.java - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java + test/tools/javac/ExtDirs/ExtDirTest.java - test/tools/javac/ExtDirs/ExtDirTest_1.java - test/tools/javac/ExtDirs/ExtDirTest_2.java - test/tools/javac/ExtDirs/ExtDirTest_3.java - test/tools/javac/ExtDirs/ExtDirs.sh - test/tools/javac/MissingInclude.java - test/tools/javac/MissingInclude.sh + test/tools/javac/MissingInclude/MissingIncludeTest.java - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java + test/tools/javac/ProtectedInnerClass/ProtectedInnerClassesTest.java - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java + test/tools/javac/T5090006/AssertionFailureTest.java - test/tools/javac/T5090006/T5090006.java - test/tools/javac/T5090006/compiler.sh - test/tools/javac/constDebug/ConstDebug.java - test/tools/javac/constDebug/ConstDebug.sh + test/tools/javac/constDebug/ConstDebugTest.java - test/tools/javac/fatalErrors/NoJavaLang.java - test/tools/javac/fatalErrors/NoJavaLang.out - test/tools/javac/fatalErrors/NoJavaLang.sh + test/tools/javac/fatalErrors/NoJavaLangTest.java - test/tools/javac/innerClassFile/Driver.sh + test/tools/javac/innerClassFile/InnerClassFileTest.java - test/tools/javac/innerClassFile/x/B.java - test/tools/javac/innerClassFile/x/C.java - test/tools/javac/innerClassFile/y/Main.java - test/tools/javac/innerClassFile/y/R1.java - test/tools/javac/innerClassFile/y/R2.java - test/tools/javac/innerClassFile/y/R3.java - test/tools/javac/javazip/A.java + test/tools/javac/javazip/JavaZipTest.java - test/tools/javac/javazip/Test.sh - test/tools/javac/javazip/bad/B.java - test/tools/javac/javazip/good/B.java + test/tools/javac/lib/ToolBox.java + test/tools/javac/links/LinksTest.java - test/tools/javac/links/T.java - test/tools/javac/links/b/B.java - test/tools/javac/links/links.sh + test/tools/javac/newlines/NewLineTest.java - test/tools/javac/newlines/Newlines.sh + test/tools/javac/stackmap/StackMapTest.java - test/tools/javac/stackmap/T4955930.java - test/tools/javac/stackmap/T4955930.sh ! test/tools/javac/unicode/SupplementaryJavaID6.java - test/tools/javac/unicode/SupplementaryJavaID6.sh + test/tools/javah/6257087/T6257087.java - test/tools/javah/6257087/foo.java - test/tools/javah/6257087/foo.sh - test/tools/javah/6257087/foo_bar.h - test/tools/javah/ConstMacroTest.sh - test/tools/javah/MissingParamClassException.java - test/tools/javah/MissingParamClassTest.sh - test/tools/javah/ParamClassTest.java - test/tools/javah/SubClassConsts.java - test/tools/javah/SubClassConsts.out - test/tools/javah/SubClassConsts.win - test/tools/javah/SuperClassConsts.java + test/tools/javah/T4942232/MissingParamClassTest.java + test/tools/javah/constMacroTest/ConstMacroTest.java + test/tools/javap/4798312/JavapShouldLoadClassesFromRTJarTest.java + test/tools/javap/4866831/PublicInterfaceTest.java - test/tools/javap/NotPackagePrivateInterface.java - test/tools/javap/PublicInterfaceTest.sh - test/tools/javap/pathsep.sh + test/tools/javap/stackmap/StackmapTest.java - test/tools/javap/stackmap/T6271292.java - test/tools/javap/stackmap/T6271292.out - test/tools/javap/stackmap/T6271292.sh Changeset: 9345394ac8fe Author: ksrini Date: 2013-02-19 17:19 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/9345394ac8fe 8006948: Update javac for MethodParameters format change Reviewed-by: ksrini, forax Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Changeset: 4cf6e84f844f Author: lana Date: 2013-02-19 20:53 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/4cf6e84f844f Merge Changeset: 267225edc1fe Author: strarup Date: 2013-02-20 15:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/267225edc1fe 8006582: Test for parameter names feature Reviewed-by: jjg, darcy, emc - test/tools/javac/MethodParameters.java + test/tools/javac/MethodParameters/AnnotationTest.java + test/tools/javac/MethodParameters/AnonymousClass.java + test/tools/javac/MethodParameters/AttributeVisitor.java + test/tools/javac/MethodParameters/ClassFileVisitor.java + test/tools/javac/MethodParameters/Constructors.java + test/tools/javac/MethodParameters/EnumTest.java + test/tools/javac/MethodParameters/InstanceMethods.java + test/tools/javac/MethodParameters/LambdaTest.java + test/tools/javac/MethodParameters/LocalClassTest.java + test/tools/javac/MethodParameters/MemberClassTest.java + test/tools/javac/MethodParameters/ReflectionVisitor.java + test/tools/javac/MethodParameters/StaticMethods.java + test/tools/javac/MethodParameters/Tester.java + test/tools/javac/MethodParameters/UncommonParamNames.java + test/tools/javac/MethodParametersTest.java Changeset: d686d8a7eb78 Author: mcimadamore Date: 2013-02-21 15:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/d686d8a7eb78 8008227: Mixing lambdas with anonymous classes leads to NPE thrown by compiler Summary: Disentangle cyclic dependency between static-ness of synthetic lambda method and static-ness of classes nested within lambdas Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaConv27.java Changeset: 3a39d123d33a Author: mcimadamore Date: 2013-02-21 15:21 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/3a39d123d33a 8008276: assertion error in com.sun.tools.javac.comp.TransTypes.visitApply Summary: DiagnosticFilter used during speculative attribution is too broad Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java + test/tools/javac/lambda/speculative/MissingError.java + test/tools/javac/lambda/speculative/MissingError.out Changeset: f4fdd53f8b3e Author: mcimadamore Date: 2013-02-21 15:23 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/f4fdd53f8b3e 8005183: Missing accessor for constructor reference pointing to private inner class ctor Summary: Compiler should add bridges when translating private constructor reference Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/MethodReference63.java Changeset: 7ac9242d2ca6 Author: mcimadamore Date: 2013-02-21 15:25 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/7ac9242d2ca6 8008293: Declared bounds not considered when functional interface containing unbound wildcards is instantiated Summary: Wildcards inference should re-use some of the bounds info generated during capture conversion Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/TargetType64.java Changeset: 9f0ec00514b6 Author: mcimadamore Date: 2013-02-21 15:26 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/9f0ec00514b6 8007461: Regression: bad overload resolution when inner class and outer class have method with same name Summary: Fix regression in varargs method resolution introduced by bad refactoring Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/resolve/Pos.java + test/tools/javac/resolve/tests/InnerOverOuter.java Changeset: 3fef0cae83b3 Author: mcimadamore Date: 2013-02-21 15:27 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/3fef0cae83b3 8008444: Inherited generic functional descriptors are merged incorrectly Summary: Missing call to Types.createMethodWithThrownTypes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/LambdaConv25.java + test/tools/javac/lambda/LambdaConv25.out Changeset: cd7340a84bb8 Author: rfield Date: 2013-02-21 14:43 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/cd7340a84bb8 8008405: Now that metafactory is in place, add javac lambda serialization tests Summary: Tests part of original langtools serialization review. Reviewed-by: mcimadamore + test/tools/javac/T8004969.java + test/tools/javac/lambda/LambdaInnerTypeVarArgsSerialize.java + test/tools/javac/lambda/LambdaInnerTypeVarSerialize.java Changeset: dabb36173c63 Author: ksrini Date: 2013-02-21 12:23 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/dabb36173c63 8008658: Four new method param jtreg tests fail in nightly tests Reviewed-by: jjg, ksrini, mcimadamore Contributed-by: eric.mccorkle at oracle.com ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! test/tools/javac/MethodParameters/EnumTest.java ! test/tools/javac/MethodParameters/LocalClassTest.java ! test/tools/javac/MethodParameters/MemberClassTest.java Changeset: 6118072811e5 Author: lana Date: 2013-02-21 17:49 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/6118072811e5 Merge ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties Changeset: 8e82e4f225e4 Author: mcimadamore Date: 2013-02-22 13:31 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/8e82e4f225e4 8008337: Write test to check for compiler error when static method in interface is called via super() Reviewed-by: mcimadamore Contributed-by: sonali.goel at oracle.com + test/tools/javac/lambda/StaticMethodNegTest.java + test/tools/javac/lambda/StaticMethodNegTest.out Changeset: 94e67bed460d Author: mcimadamore Date: 2013-02-22 18:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/94e67bed460d 8008708: Regression: separate compilation causes crash in wildcards inference logic Summary: Invalid use of WildcardType.bound in Types.removeWildcards Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/lambda/separate/Foo.java + test/tools/javac/lambda/separate/Test.java Changeset: ccbe7ffdd867 Author: jjg Date: 2013-02-24 11:36 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/ccbe7ffdd867 7112427: The doclet needs to be able to generate JavaFX documentation. Reviewed-by: jjg Contributed-by: jan.valenta at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java + src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/WriterFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlConstants.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/WriterFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/AnnotationTypeRequiredMemberBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/BuilderFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ClassBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstantsSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/ConstructorBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/EnumConstantBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/FieldBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java + src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/IndexBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java + test/com/sun/javadoc/testJavaFX/C.java + test/com/sun/javadoc/testJavaFX/D.java + test/com/sun/javadoc/testJavaFX/TestJavaFX.java ! test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java Changeset: bd49e0304281 Author: vromero Date: 2013-02-26 09:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/bd49e0304281 8008436: javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java ! test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out Changeset: 133a0a0c2cbc Author: mcimadamore Date: 2013-02-28 14:00 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/133a0a0c2cbc 8008723: Graph Inference: bad graph calculation leads to assertion error Summary: Dependencies are not propagated correctly through merged nodes during inference graph initialization Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/lambda/TargetType65.java Changeset: 332f23993353 Author: mcimadamore Date: 2013-02-28 14:05 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/332f23993353 8008813: Structural most specific fails when method reference is passed to overloaded method Summary: Bad logic for checking most specific method reference type Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/lambda/MostSpecific08.java Changeset: 08782b8b03ce Author: mcimadamore Date: 2013-02-28 14:05 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/08782b8b03ce 8008537: Missing method reference lookup error when unbound search finds a static method Summary: Static-ness check should be applied after member reference resolution Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java + test/tools/javac/diags/examples/StaticMethodInUnboundLookup.java ! test/tools/javac/lambda/MethodReference22.java ! test/tools/javac/lambda/MethodReference22.out ! test/tools/javac/lambda/MethodReference28.out ! test/tools/javac/lambda/MethodReference51.out ! test/tools/javac/lambda/TargetType60.java ! test/tools/javac/lambda/TargetType60.out Changeset: 6f988040a1c8 Author: jjg Date: 2013-03-01 10:47 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/6f988040a1c8 8008949: javadoc stopped copying doc-files Reviewed-by: bpatel ! src/share/classes/com/sun/tools/doclets/internal/toolkit/AbstractDoclet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java + test/com/sun/javadoc/testDocFiles/TestDocFiles.java + test/com/sun/javadoc/testDocFiles/pkg/Test.java + test/com/sun/javadoc/testDocFiles/pkg/doc-files/test.txt Changeset: 69cd2bfd4a31 Author: mcimadamore Date: 2013-03-05 14:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/69cd2bfd4a31 8004962: Code generation crash with lambda and local classes Summary: Translation info should be propagated from LambdaToMethod to Lower Reviewed-by: jjg, rfield ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/lambda/LambdaCapture07.java Changeset: d2a98dde7ecc Author: mcimadamore Date: 2013-03-05 14:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/d2a98dde7ecc 8009227: Certain diagnostics should not be deferred Summary: Add new diagnostic flag to mark non deferrable diagnostics Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java + test/tools/javac/lambda/abort/CompletionFailure.java Changeset: a708c5f1da06 Author: mcimadamore Date: 2013-03-05 14:16 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/a708c5f1da06 8009154: Missing cast in method reference bridge leads to NoSuchMethodError Summary: Missing cast in generated method reference bridge Reviewed-by: rfield, jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/MethodReference65.java Changeset: 12202e6ab78a Author: mcimadamore Date: 2013-03-05 14:19 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/12202e6ab78a 8009129: Illegal access error when calling method reference Summary: Javac generates method handle referencing non public type Reviewed-by: jjg, rfield ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/diags/examples/NotDefPublicCantAccessFragment/NotDefPublicCantAccessFragment.java + test/tools/javac/diags/examples/NotDefPublicCantAccessFragment/p/C.java + test/tools/javac/lambda/inaccessibleMref01/InaccessibleMref01.java + test/tools/javac/lambda/inaccessibleMref01/InaccessibleMref01.out + test/tools/javac/lambda/inaccessibleMref01/p1/C.java + test/tools/javac/lambda/inaccessibleMref02/InaccessibleMref02.java + test/tools/javac/lambda/inaccessibleMref02/p1/C.java Changeset: 188a07a0a7a0 Author: lana Date: 2013-03-05 11:51 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/188a07a0a7a0 Merge Changeset: d0178bd8125c Author: mcimadamore Date: 2013-03-06 15:29 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/d0178bd8125c 8009299: Javac crashes when compiling method reference to static interface method Summary: Assertion in Check.checMethod is too strict Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/jvm/Pool.java + test/tools/javac/lambda/MethodReference66.java Changeset: 8a78243291ef Author: mcimadamore Date: 2013-03-06 15:33 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/8a78243291ef 8009459: Wrong behavior of diamond finder with source level 7 Summary: Diamond finder doesn't take into account different inference behaviors Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/generics/diamond/6939780/T6939780.java + test/tools/javac/generics/diamond/6939780/T6939780_7.out + test/tools/javac/generics/diamond/6939780/T6939780_8.out - test/tools/javac/generics/diamond/T6939780.java - test/tools/javac/generics/diamond/T6939780.out Changeset: c98b3e96c726 Author: mcimadamore Date: 2013-03-06 15:33 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/c98b3e96c726 8009391: Synthetic name of serializable lambda methods should not contain negative numbers Summary: Use hex representation of method signature hashcode to avoid negative numbers Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Changeset: 3806171b52d8 Author: vromero Date: 2013-03-07 10:04 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/3806171b52d8 8009138: javac, equals-hashCode warning tuning Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/6563143/EqualsHashCodeWarningTest.java + test/tools/javac/6563143/EqualsHashCodeWarningTest.out - test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java - test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.out Changeset: 823fb9229724 Author: vromero Date: 2013-03-07 10:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/823fb9229724 8009170: Regression: javac generates redundant bytecode in assignop involving arrays Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! test/tools/javac/7167125/DiffResultAfterSameOperationInnerClasses.java + test/tools/javac/8009170/RedundantByteCodeInArrayTest.java Changeset: a02c3ddc182b Author: rfield Date: 2013-03-07 08:26 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/a02c3ddc182b 8009582: Method reference generic constructor gives: IllegalArgumentException: Invalid lambda deserialization Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/GenericMethodRefImplClass.java Changeset: c61add6bf8ac Author: vromero Date: 2013-03-11 15:35 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/c61add6bf8ac 6181889: Empty try/finally results in bytecodes being generated Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java + test/tools/javac/T6181889/EmptyFinallyTest.java Changeset: d0ae21e3a382 Author: rfield Date: 2013-03-11 10:02 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/d0ae21e3a382 8009742: Bad lambda name for lambda in a static initializer or ctor Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/SerializedLambdaInInit.java Changeset: fbb6e470079d Author: ohrstrom Date: 2013-03-11 19:03 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/fbb6e470079d 8009843: sjavac should accept -cp as synonym for -classpath Reviewed-by: jjg ! src/share/classes/com/sun/tools/sjavac/Main.java Changeset: 7fe9b9d29095 Author: jfranck Date: 2013-03-12 11:16 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/7fe9b9d29095 8005205: tests missing bugid for repeating annotation change Reviewed-by: jjg, ssides ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.java Changeset: 6db9a3b1a93f Author: mcimadamore Date: 2013-03-12 16:02 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/6db9a3b1a93f 8008540: Constructor reference to non-reifiable array should be rejected 8008539: Spurious error when constructor reference mention an interface type 8008538: Constructor reference accepts wildcard parameterized types Summary: Overhaul of Check.checkConstructorRefType Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! test/tools/javac/lambda/MethodReference38.out + test/tools/javac/lambda/MethodReference64.java + test/tools/javac/lambda/MethodReference64.out Changeset: 5ddecb91d843 Author: mcimadamore Date: 2013-03-12 16:02 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/5ddecb91d843 8009545: Graph inference: dependencies between inference variables should be set during incorporation Summary: Move all transitivity checks into the incorporation round Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! test/tools/javac/lambda/TargetType28.out Changeset: f427043f8c65 Author: jfranck Date: 2013-03-12 17:39 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/f427043f8c65 7196531: Duplicate error messages on repeating annotations Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Annotate.java + test/tools/javac/annotations/repeatingAnnotations/DuplicateErrors.java + test/tools/javac/annotations/repeatingAnnotations/DuplicateErrors.out ! test/tools/javac/annotations/repeatingAnnotations/NoRepeatableAnno.out ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out Changeset: 39f8eb897ec6 Author: lana Date: 2013-03-12 16:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/39f8eb897ec6 Merge - test/tools/apt/Basics/NullAPF.java - test/tools/apt/Basics/apt.sh - test/tools/apt/verifyVariables.sh - test/tools/javac/4846262/Test.java - test/tools/javac/4846262/Test.out - test/tools/javac/4846262/Test.sh - test/tools/javac/6302184/T6302184.sh - test/tools/javac/ClassPathTest/ClassPathTest.sh - test/tools/javac/ClassPathTest/ClassPathTest1.java - test/tools/javac/ClassPathTest/ClassPathTest2.java - test/tools/javac/ClassPathTest/ClassPathTest3.java - test/tools/javac/ClassPathTest/bar/pkg/ClassPathTestAux2.java - test/tools/javac/ClassPathTest/foo/pkg/ClassPathTestAux1.java - test/tools/javac/ClassPathTest/pkg/ClassPathTestAux3.java - test/tools/javac/ExtDirs/ExtDirTest_1.java - test/tools/javac/ExtDirs/ExtDirTest_2.java - test/tools/javac/ExtDirs/ExtDirTest_3.java - test/tools/javac/ExtDirs/ExtDirs.sh - test/tools/javac/MethodParameters.java - test/tools/javac/MissingInclude.java - test/tools/javac/MissingInclude.sh - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass.sh - test/tools/javac/ProtectedInnerClass/ProtectedInnerClass_2.java - test/tools/javac/ProtectedInnerClass/p1/ProtectedInnerClass1.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass2.java - test/tools/javac/ProtectedInnerClass/p2/ProtectedInnerClass3.java - test/tools/javac/T5090006/T5090006.java - test/tools/javac/T5090006/compiler.sh - test/tools/javac/constDebug/ConstDebug.java - test/tools/javac/constDebug/ConstDebug.sh - test/tools/javac/fatalErrors/NoJavaLang.java - test/tools/javac/fatalErrors/NoJavaLang.out - test/tools/javac/fatalErrors/NoJavaLang.sh - test/tools/javac/generics/diamond/T6939780.java - test/tools/javac/generics/diamond/T6939780.out - test/tools/javac/innerClassFile/Driver.sh - test/tools/javac/innerClassFile/x/B.java - test/tools/javac/innerClassFile/x/C.java - test/tools/javac/innerClassFile/y/Main.java - test/tools/javac/innerClassFile/y/R1.java - test/tools/javac/innerClassFile/y/R2.java - test/tools/javac/innerClassFile/y/R3.java - test/tools/javac/javazip/A.java - test/tools/javac/javazip/Test.sh - test/tools/javac/javazip/bad/B.java - test/tools/javac/javazip/good/B.java - test/tools/javac/links/T.java - test/tools/javac/links/b/B.java - test/tools/javac/links/links.sh - test/tools/javac/newlines/Newlines.sh - test/tools/javac/stackmap/T4955930.java - test/tools/javac/stackmap/T4955930.sh - test/tools/javac/unicode/SupplementaryJavaID6.sh - test/tools/javah/6257087/foo.java - test/tools/javah/6257087/foo.sh - test/tools/javah/6257087/foo_bar.h - test/tools/javah/ConstMacroTest.sh - test/tools/javah/MissingParamClassException.java - test/tools/javah/MissingParamClassTest.sh - test/tools/javah/ParamClassTest.java - test/tools/javah/SubClassConsts.java - test/tools/javah/SubClassConsts.out - test/tools/javah/SubClassConsts.win - test/tools/javah/SuperClassConsts.java - test/tools/javap/NotPackagePrivateInterface.java - test/tools/javap/PublicInterfaceTest.sh - test/tools/javap/pathsep.sh - test/tools/javap/stackmap/T6271292.java - test/tools/javap/stackmap/T6271292.out - test/tools/javap/stackmap/T6271292.sh Changeset: 825da6847791 Author: lana Date: 2013-03-14 19:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/825da6847791 Merge Changeset: 22ba3f92d4ae Author: katleman Date: 2013-03-21 10:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/22ba3f92d4ae Added tag jdk8-b82 for changeset 825da6847791 ! .hgtags From niclas.adlertz at oracle.com Fri Mar 22 02:16:26 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Fri, 22 Mar 2013 02:16:26 -0700 (PDT) Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp In-Reply-To: <282452D8-729F-4159-BC4C-C03C2914B8AE@oracle.com> References: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> <282452D8-729F-4159-BC4C-C03C2914B8AE@oracle.com> Message-ID: <4EB47AA7-925C-4E1C-87FB-5A146085BF7B@oracle.com> Thank you Roland! Regards, Niclas Adlertz On 20 mar 2013, at 10:39, Roland Westrelin wrote: > That looks good to me. > > Roland. From niclas.adlertz at oracle.com Mon Mar 11 06:18:44 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Mon, 11 Mar 2013 14:18:44 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List Message-ID: <561052B9-E703-4F9D-B47F-EB836B3C8184@oracle.com> Hi all. Problem: The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. Solution: Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. A review would be much appreciated. Thank you. Regards, Niclas Adlertz --------------------- WEBREV: http://cr.openjdk.java.net/~neliasso/8009721/webrev.01/ BUG: https://jbs.oracle.com/bugs/browse/JDK-8009721, http://bugs.sun.com/view_bug.do?bug_id=8009721 From john.coomes at oracle.com Thu Mar 21 23:08:52 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 22 Mar 2013 06:08:52 +0000 Subject: hg: hsx/hotspot-comp/nashorn: 134 new changesets Message-ID: <20130322061008.662EF4831A@hg.openjdk.java.net> Changeset: b8a1b238c77c Author: duke Date: 2007-12-01 00:00 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b8a1b238c77c Initial load + .hgignore + .jcheck/conf Changeset: 6031a0bc0ae2 Author: jcoomes Date: 2012-12-20 14:16 -0800 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/6031a0bc0ae2 8005364: initial hg tags for nashorn repo Reviewed-by: amurillo + .hgtags Changeset: da1e581c933b Author: jlaskey Date: 2012-12-21 16:36 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/da1e581c933b 8005403: Open-source Nashorn Reviewed-by: attila, hannesw, lagergren, sundar Contributed-by: james.laskey at oracle.com, akhil.arora at oracle.com, andreas.woess at jku.at, attila.szegedi at oracle.com, hannes.wallnoefer at oracle.com, henry.jen at oracle.com, marcus.lagergren at oracle.com, pavel.semenov at oracle.com, pavel.stepanov at oracle.com, petr.hejl at oracle.com, petr.pisl at oracle.com, sundararajan.athijegannathan at oracle.com ! .hgignore + ASSEMBLY_EXCEPTION + LICENSE + README + RELEASE_README + THIRD_PARTY_README + bin/checkintest.sh + bin/fixorphantests.sh + bin/fixwhitespace.sh + bin/jjs + bin/jjs.bat + bin/jjssecure + bin/jjssecure.bat + bin/nashorn + bin/nashorn.bat + bin/rm-non-tracked.sh + bin/verbose_octane.bat + bin/verbose_octane.sh + buildtools/nasgen/README + buildtools/nasgen/build.xml + buildtools/nasgen/nasgen.iml + buildtools/nasgen/project.properties + buildtools/nasgen/src/META-INF/MANIFEST.MF + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java + buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java + docs/DEVELOPER_README + docs/genshelldoc.js + make/Makefile + make/build-benchmark.xml + make/build-nasgen.xml + make/build.xml + make/nbproject/ide-file-targets.xml + make/nbproject/ide-targets.xml + make/nbproject/jdk.xml + make/nbproject/nbjdk.properties + make/nbproject/nbjdk.xml + make/nbproject/project.xml + make/project.properties + samples/counters.js + samples/letter.js + samples/parser.js + samples/shell.js + samples/test.js + samples/uniq.js + src/META-INF/MANIFEST.MF + src/META-INF/services/javax.script.ScriptEngineFactory + src/jdk/nashorn/api/scripting/NashornException.java + src/jdk/nashorn/api/scripting/NashornScriptEngine.java + src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java + src/jdk/nashorn/api/scripting/ScriptObjectMirror.java + src/jdk/nashorn/api/scripting/package-info.java + src/jdk/nashorn/api/scripting/resources/engine.js + src/jdk/nashorn/internal/codegen/AccessSpecializer.java + src/jdk/nashorn/internal/codegen/BranchOptimizer.java + src/jdk/nashorn/internal/codegen/ClassEmitter.java + src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompileUnit.java + src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/codegen/CompilerConstants.java + src/jdk/nashorn/internal/codegen/ConstantData.java + src/jdk/nashorn/internal/codegen/Emitter.java + src/jdk/nashorn/internal/codegen/Frame.java + src/jdk/nashorn/internal/codegen/FunctionSignature.java + src/jdk/nashorn/internal/codegen/Lower.java + src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/Namespace.java + src/jdk/nashorn/internal/codegen/RuntimeCallSite.java + src/jdk/nashorn/internal/codegen/SharedScopeCall.java + src/jdk/nashorn/internal/codegen/Splitter.java + src/jdk/nashorn/internal/codegen/Transform.java + src/jdk/nashorn/internal/codegen/WeighNodes.java + src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/MapCreator.java + src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java + src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java + src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java + src/jdk/nashorn/internal/codegen/types/ArrayType.java + src/jdk/nashorn/internal/codegen/types/BitwiseType.java + src/jdk/nashorn/internal/codegen/types/BooleanType.java + src/jdk/nashorn/internal/codegen/types/BytecodeArrayOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeBitwiseOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeNumericOps.java + src/jdk/nashorn/internal/codegen/types/BytecodeOps.java + src/jdk/nashorn/internal/codegen/types/IntType.java + src/jdk/nashorn/internal/codegen/types/LongType.java + src/jdk/nashorn/internal/codegen/types/NumberType.java + src/jdk/nashorn/internal/codegen/types/NumericType.java + src/jdk/nashorn/internal/codegen/types/ObjectType.java + src/jdk/nashorn/internal/codegen/types/Type.java + src/jdk/nashorn/internal/ir/AccessNode.java + src/jdk/nashorn/internal/ir/Assignment.java + src/jdk/nashorn/internal/ir/BaseNode.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/BreakableNode.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/DoWhileNode.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/FunctionCall.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/LabeledNode.java + src/jdk/nashorn/internal/ir/LineNumberNode.java + src/jdk/nashorn/internal/ir/LiteralNode.java + src/jdk/nashorn/internal/ir/Location.java + src/jdk/nashorn/internal/ir/Node.java + src/jdk/nashorn/internal/ir/ObjectNode.java + src/jdk/nashorn/internal/ir/PropertyKey.java + src/jdk/nashorn/internal/ir/PropertyNode.java + src/jdk/nashorn/internal/ir/ReferenceNode.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/Symbol.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/TypeOverride.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/annotations/ChildNode.java + src/jdk/nashorn/internal/ir/annotations/Ignore.java + src/jdk/nashorn/internal/ir/annotations/ParentNode.java + src/jdk/nashorn/internal/ir/annotations/Reference.java + src/jdk/nashorn/internal/ir/debug/ASTWriter.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/AccessorPropertyDescriptor.java + src/jdk/nashorn/internal/objects/ArrayBufferView.java + src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java + src/jdk/nashorn/internal/objects/DateParser.java + src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java + src/jdk/nashorn/internal/objects/Global.java + src/jdk/nashorn/internal/objects/NativeArguments.java + src/jdk/nashorn/internal/objects/NativeArray.java + src/jdk/nashorn/internal/objects/NativeArrayBuffer.java + src/jdk/nashorn/internal/objects/NativeBoolean.java + src/jdk/nashorn/internal/objects/NativeDate.java + src/jdk/nashorn/internal/objects/NativeDebug.java + src/jdk/nashorn/internal/objects/NativeError.java + src/jdk/nashorn/internal/objects/NativeEvalError.java + src/jdk/nashorn/internal/objects/NativeFloat32Array.java + src/jdk/nashorn/internal/objects/NativeFloat64Array.java + src/jdk/nashorn/internal/objects/NativeFunction.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/NativeJSAdapter.java + src/jdk/nashorn/internal/objects/NativeJSON.java + src/jdk/nashorn/internal/objects/NativeJava.java + src/jdk/nashorn/internal/objects/NativeJavaImporter.java + src/jdk/nashorn/internal/objects/NativeMath.java + src/jdk/nashorn/internal/objects/NativeNumber.java + src/jdk/nashorn/internal/objects/NativeObject.java + src/jdk/nashorn/internal/objects/NativeRangeError.java + src/jdk/nashorn/internal/objects/NativeReferenceError.java + src/jdk/nashorn/internal/objects/NativeRegExp.java + src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java + src/jdk/nashorn/internal/objects/NativeStrictArguments.java + src/jdk/nashorn/internal/objects/NativeString.java + src/jdk/nashorn/internal/objects/NativeSyntaxError.java + src/jdk/nashorn/internal/objects/NativeTypeError.java + src/jdk/nashorn/internal/objects/NativeURIError.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/objects/PrototypeObject.java + src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + src/jdk/nashorn/internal/objects/annotations/Attribute.java + src/jdk/nashorn/internal/objects/annotations/Constructor.java + src/jdk/nashorn/internal/objects/annotations/Function.java + src/jdk/nashorn/internal/objects/annotations/Getter.java + src/jdk/nashorn/internal/objects/annotations/Property.java + src/jdk/nashorn/internal/objects/annotations/ScriptClass.java + src/jdk/nashorn/internal/objects/annotations/Setter.java + src/jdk/nashorn/internal/objects/annotations/SpecializedConstructor.java + src/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java + src/jdk/nashorn/internal/objects/annotations/Where.java + src/jdk/nashorn/internal/objects/package-info.java + src/jdk/nashorn/internal/parser/AbstractParser.java + src/jdk/nashorn/internal/parser/JSONParser.java + src/jdk/nashorn/internal/parser/Lexer.java + src/jdk/nashorn/internal/parser/Parser.java + src/jdk/nashorn/internal/parser/RegExp.java + src/jdk/nashorn/internal/parser/RegExpScanner.java + src/jdk/nashorn/internal/parser/Scanner.java + src/jdk/nashorn/internal/parser/Token.java + src/jdk/nashorn/internal/parser/TokenKind.java + src/jdk/nashorn/internal/parser/TokenLookup.java + src/jdk/nashorn/internal/parser/TokenStream.java + src/jdk/nashorn/internal/parser/TokenType.java + src/jdk/nashorn/internal/runtime/AccessorProperty.java + src/jdk/nashorn/internal/runtime/BitVector.java + src/jdk/nashorn/internal/runtime/CodeInstaller.java + src/jdk/nashorn/internal/runtime/ConsString.java + src/jdk/nashorn/internal/runtime/Context.java + src/jdk/nashorn/internal/runtime/Debug.java + src/jdk/nashorn/internal/runtime/DebugLogger.java + src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java + src/jdk/nashorn/internal/runtime/ECMAErrors.java + src/jdk/nashorn/internal/runtime/ECMAException.java + src/jdk/nashorn/internal/runtime/ErrorManager.java + src/jdk/nashorn/internal/runtime/FindProperty.java + src/jdk/nashorn/internal/runtime/FunctionScope.java + src/jdk/nashorn/internal/runtime/GlobalFunctions.java + src/jdk/nashorn/internal/runtime/GlobalObject.java + src/jdk/nashorn/internal/runtime/JSErrorType.java + src/jdk/nashorn/internal/runtime/JSType.java + src/jdk/nashorn/internal/runtime/Logging.java + src/jdk/nashorn/internal/runtime/NashornLoader.java + src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + src/jdk/nashorn/internal/runtime/NumberToString.java + src/jdk/nashorn/internal/runtime/ParserException.java + src/jdk/nashorn/internal/runtime/Property.java + src/jdk/nashorn/internal/runtime/PropertyAccess.java + src/jdk/nashorn/internal/runtime/PropertyDescriptor.java + src/jdk/nashorn/internal/runtime/PropertyHashMap.java + src/jdk/nashorn/internal/runtime/PropertyListener.java + src/jdk/nashorn/internal/runtime/PropertyListenerManager.java + src/jdk/nashorn/internal/runtime/PropertyMap.java + src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java + src/jdk/nashorn/internal/runtime/RegExpMatch.java + src/jdk/nashorn/internal/runtime/Scope.java + src/jdk/nashorn/internal/runtime/ScriptFunction.java + src/jdk/nashorn/internal/runtime/ScriptLoader.java + src/jdk/nashorn/internal/runtime/ScriptObject.java + src/jdk/nashorn/internal/runtime/ScriptRuntime.java + src/jdk/nashorn/internal/runtime/ScriptingFunctions.java + src/jdk/nashorn/internal/runtime/Source.java + src/jdk/nashorn/internal/runtime/SpillProperty.java + src/jdk/nashorn/internal/runtime/StructureLoader.java + src/jdk/nashorn/internal/runtime/URIUtils.java + src/jdk/nashorn/internal/runtime/Undefined.java + src/jdk/nashorn/internal/runtime/UserAccessorProperty.java + src/jdk/nashorn/internal/runtime/Version.java + src/jdk/nashorn/internal/runtime/WithObject.java + src/jdk/nashorn/internal/runtime/arrays/ArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java + src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java + src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java + src/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java + src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java + src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java + src/jdk/nashorn/internal/runtime/arrays/MapIterator.java + src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java + src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java + src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java + src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java + src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java + src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java + src/jdk/nashorn/internal/runtime/linker/Bootstrap.java + src/jdk/nashorn/internal/runtime/linker/InvokeByName.java + src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java + src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java + src/jdk/nashorn/internal/runtime/linker/Lookup.java + src/jdk/nashorn/internal/runtime/linker/Mangler.java + src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java + src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java + src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java + src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java + src/jdk/nashorn/internal/runtime/linker/NashornGuards.java + src/jdk/nashorn/internal/runtime/linker/NashornLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java + src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + src/jdk/nashorn/internal/runtime/options/KeyValueOption.java + src/jdk/nashorn/internal/runtime/options/Option.java + src/jdk/nashorn/internal/runtime/options/OptionTemplate.java + src/jdk/nashorn/internal/runtime/options/Options.java + src/jdk/nashorn/internal/runtime/options/ValueOption.java + src/jdk/nashorn/internal/runtime/resources/Messages.properties + src/jdk/nashorn/internal/runtime/resources/Options.properties + src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + src/jdk/nashorn/internal/runtime/resources/parser.js + src/jdk/nashorn/internal/runtime/resources/version.properties-template + src/jdk/nashorn/internal/scripts/JO$.java + src/jdk/nashorn/internal/scripts/JS$.java + src/jdk/nashorn/tools/Shell.java + src/jdk/nashorn/tools/resources/Shell.properties + src/jdk/nashorn/tools/resources/shell.js + src/netscape/javascript/JSObject.java + src/overview.html + test/README + test/examples/dual-fields-micro.js + test/examples/innerbench.js + test/examples/typechain.js + test/lib/benchmark.js + test/opt/add.js + test/opt/add_constant.js + test/opt/add_reuse_callsite.js + test/opt/add_revert2.js + test/opt/cascade_specialize.js + test/script/assert.js + test/script/basic/NASHORN-100.js + test/script/basic/NASHORN-100.js.EXPECTED + test/script/basic/NASHORN-101.js + test/script/basic/NASHORN-101.js.EXPECTED + test/script/basic/NASHORN-102.js + test/script/basic/NASHORN-102.js.EXPECTED + test/script/basic/NASHORN-103.js + test/script/basic/NASHORN-104.js + test/script/basic/NASHORN-104.js.EXPECTED + test/script/basic/NASHORN-105.js + test/script/basic/NASHORN-105.js.EXPECTED + test/script/basic/NASHORN-106.js + test/script/basic/NASHORN-106.js.EXPECTED + test/script/basic/NASHORN-107.js + test/script/basic/NASHORN-108.js + test/script/basic/NASHORN-108.js.EXPECTED + test/script/basic/NASHORN-109.js + test/script/basic/NASHORN-109.js.EXPECTED + test/script/basic/NASHORN-11.js + test/script/basic/NASHORN-11.js.EXPECTED + test/script/basic/NASHORN-111.js + test/script/basic/NASHORN-111.js.EXPECTED + test/script/basic/NASHORN-113.js + test/script/basic/NASHORN-113.js.EXPECTED + test/script/basic/NASHORN-114.js + test/script/basic/NASHORN-115.js + test/script/basic/NASHORN-115.js.EXPECTED + test/script/basic/NASHORN-117.js + test/script/basic/NASHORN-118.js + test/script/basic/NASHORN-118.js.EXPECTED + test/script/basic/NASHORN-119.js + test/script/basic/NASHORN-119.js.EXPECTED + test/script/basic/NASHORN-12.js + test/script/basic/NASHORN-120.js + test/script/basic/NASHORN-122.js + test/script/basic/NASHORN-122.js.EXPECTED + test/script/basic/NASHORN-126.js + test/script/basic/NASHORN-126.js.EXPECTED + test/script/basic/NASHORN-127.js + test/script/basic/NASHORN-127.js.EXPECTED + test/script/basic/NASHORN-130.js + test/script/basic/NASHORN-132.js + test/script/basic/NASHORN-132.js.EXPECTED + test/script/basic/NASHORN-133.js + test/script/basic/NASHORN-133.js.EXPECTED + test/script/basic/NASHORN-135.js + test/script/basic/NASHORN-136.js + test/script/basic/NASHORN-136.js.EXPECTED + test/script/basic/NASHORN-14.js + test/script/basic/NASHORN-14.js.EXPECTED + test/script/basic/NASHORN-148.js + test/script/basic/NASHORN-148.js.EXPECTED + test/script/basic/NASHORN-15.js + test/script/basic/NASHORN-15.js.EXPECTED + test/script/basic/NASHORN-153.js + test/script/basic/NASHORN-156.js + test/script/basic/NASHORN-157.js + test/script/basic/NASHORN-163.js + test/script/basic/NASHORN-163.js.EXPECTED + test/script/basic/NASHORN-164.js + test/script/basic/NASHORN-165.js + test/script/basic/NASHORN-166.js + test/script/basic/NASHORN-168.js + test/script/basic/NASHORN-168.js.EXPECTED + test/script/basic/NASHORN-169.js + test/script/basic/NASHORN-172.js + test/script/basic/NASHORN-173.js + test/script/basic/NASHORN-173.js.EXPECTED + test/script/basic/NASHORN-174.js + test/script/basic/NASHORN-175.js + test/script/basic/NASHORN-176.js + test/script/basic/NASHORN-177.js + test/script/basic/NASHORN-177.js.EXPECTED + test/script/basic/NASHORN-178.js + test/script/basic/NASHORN-178.js.EXPECTED + test/script/basic/NASHORN-179.js + test/script/basic/NASHORN-18.js + test/script/basic/NASHORN-18.js.EXPECTED + test/script/basic/NASHORN-181.js + test/script/basic/NASHORN-182.js + test/script/basic/NASHORN-183.js + test/script/basic/NASHORN-184.js + test/script/basic/NASHORN-184.js.EXPECTED + test/script/basic/NASHORN-185.js + test/script/basic/NASHORN-185.js.EXPECTED + test/script/basic/NASHORN-187.js + test/script/basic/NASHORN-188.js + test/script/basic/NASHORN-188.js.EXPECTED + test/script/basic/NASHORN-19.js + test/script/basic/NASHORN-19.js.EXPECTED + test/script/basic/NASHORN-190.js + test/script/basic/NASHORN-192.js + test/script/basic/NASHORN-194.js + test/script/basic/NASHORN-196.js + test/script/basic/NASHORN-198.js + test/script/basic/NASHORN-20.js + test/script/basic/NASHORN-20.js.EXPECTED + test/script/basic/NASHORN-201.js + test/script/basic/NASHORN-202.js + test/script/basic/NASHORN-203.js + test/script/basic/NASHORN-204.js + test/script/basic/NASHORN-205.js + test/script/basic/NASHORN-206.js + test/script/basic/NASHORN-207.js + test/script/basic/NASHORN-207_2.js + test/script/basic/NASHORN-208.js + test/script/basic/NASHORN-208.js.EXPECTED + test/script/basic/NASHORN-209.js + test/script/basic/NASHORN-209.js.EXPECTED + test/script/basic/NASHORN-21.js + test/script/basic/NASHORN-21.js.EXPECTED + test/script/basic/NASHORN-211.js + test/script/basic/NASHORN-212.js + test/script/basic/NASHORN-213.js + test/script/basic/NASHORN-215.js + test/script/basic/NASHORN-215.js.EXPECTED + test/script/basic/NASHORN-216.js + test/script/basic/NASHORN-217.js + test/script/basic/NASHORN-217.js.EXPECTED + test/script/basic/NASHORN-219.js + test/script/basic/NASHORN-219.js.EXPECTED + test/script/basic/NASHORN-22.js + test/script/basic/NASHORN-22.js.EXPECTED + test/script/basic/NASHORN-221.js + test/script/basic/NASHORN-222.js + test/script/basic/NASHORN-223.js + test/script/basic/NASHORN-225.js + test/script/basic/NASHORN-226.js + test/script/basic/NASHORN-227.js + test/script/basic/NASHORN-228.js + test/script/basic/NASHORN-229.js + test/script/basic/NASHORN-229_subtest.js + test/script/basic/NASHORN-23.js + test/script/basic/NASHORN-23.js.EXPECTED + test/script/basic/NASHORN-232.js + test/script/basic/NASHORN-234.js + test/script/basic/NASHORN-235.js + test/script/basic/NASHORN-236.js + test/script/basic/NASHORN-237.js + test/script/basic/NASHORN-239.js + test/script/basic/NASHORN-24.js + test/script/basic/NASHORN-24.js.EXPECTED + test/script/basic/NASHORN-241.js + test/script/basic/NASHORN-242.js + test/script/basic/NASHORN-245.js + test/script/basic/NASHORN-247.js + test/script/basic/NASHORN-25.js + test/script/basic/NASHORN-25.js.EXPECTED + test/script/basic/NASHORN-251.js + test/script/basic/NASHORN-252.js + test/script/basic/NASHORN-253.js + test/script/basic/NASHORN-256.js + test/script/basic/NASHORN-258.js + test/script/basic/NASHORN-258.js.EXPECTED + test/script/basic/NASHORN-26.js + test/script/basic/NASHORN-26.js.EXPECTED + test/script/basic/NASHORN-260.js + test/script/basic/NASHORN-261.js + test/script/basic/NASHORN-262.js + test/script/basic/NASHORN-263.js + test/script/basic/NASHORN-264.js + test/script/basic/NASHORN-265.js + test/script/basic/NASHORN-265.js.EXPECTED + test/script/basic/NASHORN-266.js + test/script/basic/NASHORN-269.js + test/script/basic/NASHORN-27.js + test/script/basic/NASHORN-27.js.EXPECTED + test/script/basic/NASHORN-270.js + test/script/basic/NASHORN-271.js + test/script/basic/NASHORN-275.js + test/script/basic/NASHORN-276.js + test/script/basic/NASHORN-277.js + test/script/basic/NASHORN-278.js + test/script/basic/NASHORN-28.js + test/script/basic/NASHORN-28.js.EXPECTED + test/script/basic/NASHORN-281.js + test/script/basic/NASHORN-284.js + test/script/basic/NASHORN-284.js.EXPECTED + test/script/basic/NASHORN-285.js + test/script/basic/NASHORN-285.js.EXPECTED + test/script/basic/NASHORN-288.js + test/script/basic/NASHORN-29.js + test/script/basic/NASHORN-29.js.EXPECTED + test/script/basic/NASHORN-293.js + test/script/basic/NASHORN-293.js.EXPECTED + test/script/basic/NASHORN-294.js + test/script/basic/NASHORN-296.js + test/script/basic/NASHORN-297.js + test/script/basic/NASHORN-30.js + test/script/basic/NASHORN-30.js.EXPECTED + test/script/basic/NASHORN-300.js + test/script/basic/NASHORN-301.js + test/script/basic/NASHORN-301.js.EXPECTED + test/script/basic/NASHORN-304.js + test/script/basic/NASHORN-310.js + test/script/basic/NASHORN-310.js.EXPECTED + test/script/basic/NASHORN-318.js + test/script/basic/NASHORN-318.js.EXPECTED + test/script/basic/NASHORN-32.js + test/script/basic/NASHORN-32.js.EXPECTED + test/script/basic/NASHORN-321.js + test/script/basic/NASHORN-321.js.EXPECTED + test/script/basic/NASHORN-323.js + test/script/basic/NASHORN-323.js.EXPECTED + test/script/basic/NASHORN-324.js + test/script/basic/NASHORN-33.js + test/script/basic/NASHORN-33.js.EXPECTED + test/script/basic/NASHORN-331.js + test/script/basic/NASHORN-331.js.EXPECTED + test/script/basic/NASHORN-337.js + test/script/basic/NASHORN-337.js.EXPECTED + test/script/basic/NASHORN-34.js + test/script/basic/NASHORN-34.js.EXPECTED + test/script/basic/NASHORN-340.js + test/script/basic/NASHORN-340.js.EXPECTED + test/script/basic/NASHORN-349.js + test/script/basic/NASHORN-354.js + test/script/basic/NASHORN-354.js.EXPECTED + test/script/basic/NASHORN-355.js + test/script/basic/NASHORN-355.js.EXPECTED + test/script/basic/NASHORN-36.js + test/script/basic/NASHORN-36.js.EXPECTED + test/script/basic/NASHORN-365.js + test/script/basic/NASHORN-366.js + test/script/basic/NASHORN-366.js.EXPECTED + test/script/basic/NASHORN-368.js + test/script/basic/NASHORN-368.js.EXPECTED + test/script/basic/NASHORN-37.js + test/script/basic/NASHORN-37.js.EXPECTED + test/script/basic/NASHORN-375.js + test/script/basic/NASHORN-376.js + test/script/basic/NASHORN-377.js + test/script/basic/NASHORN-377.js.EXPECTED + test/script/basic/NASHORN-378.js + test/script/basic/NASHORN-38.js + test/script/basic/NASHORN-38.js.EXPECTED + test/script/basic/NASHORN-380.js + test/script/basic/NASHORN-380.js.EXPECTED + test/script/basic/NASHORN-381.js + test/script/basic/NASHORN-382.js + test/script/basic/NASHORN-383.js + test/script/basic/NASHORN-384.js + test/script/basic/NASHORN-384.js.EXPECTED + test/script/basic/NASHORN-385.js + test/script/basic/NASHORN-385.js.EXPECTED + test/script/basic/NASHORN-389.js + test/script/basic/NASHORN-389.js.EXPECTED + test/script/basic/NASHORN-393.js + test/script/basic/NASHORN-393.js.EXPECTED + test/script/basic/NASHORN-394.js + test/script/basic/NASHORN-394.js.EXPECTED + test/script/basic/NASHORN-396.js + test/script/basic/NASHORN-397.js + test/script/basic/NASHORN-398.js + test/script/basic/NASHORN-40.js + test/script/basic/NASHORN-40.js.EXPECTED + test/script/basic/NASHORN-400.js + test/script/basic/NASHORN-400.js.EXPECTED + test/script/basic/NASHORN-401.js + test/script/basic/NASHORN-401.js.EXPECTED + test/script/basic/NASHORN-402.js + test/script/basic/NASHORN-402.js.EXPECTED + test/script/basic/NASHORN-404.js + test/script/basic/NASHORN-405.js + test/script/basic/NASHORN-405.js.EXPECTED + test/script/basic/NASHORN-406.js + test/script/basic/NASHORN-408.js + test/script/basic/NASHORN-408.js.EXPECTED + test/script/basic/NASHORN-415.js + test/script/basic/NASHORN-415.js.EXPECTED + test/script/basic/NASHORN-416.js + test/script/basic/NASHORN-417.js + test/script/basic/NASHORN-418.js + test/script/basic/NASHORN-420.js + test/script/basic/NASHORN-421.js + test/script/basic/NASHORN-423.js + test/script/basic/NASHORN-423.js.EXPECTED + test/script/basic/NASHORN-423a.js + test/script/basic/NASHORN-424.js + test/script/basic/NASHORN-424.js.EXPECTED + test/script/basic/NASHORN-425.js + test/script/basic/NASHORN-425.js.EXPECTED + test/script/basic/NASHORN-426.js + test/script/basic/NASHORN-427.js + test/script/basic/NASHORN-428.js + test/script/basic/NASHORN-429.js + test/script/basic/NASHORN-432.js + test/script/basic/NASHORN-433.js + test/script/basic/NASHORN-434.js + test/script/basic/NASHORN-435.js + test/script/basic/NASHORN-437.js + test/script/basic/NASHORN-44.js + test/script/basic/NASHORN-44.js.EXPECTED + test/script/basic/NASHORN-441.js + test/script/basic/NASHORN-441.js.EXPECTED + test/script/basic/NASHORN-442.js + test/script/basic/NASHORN-443.js + test/script/basic/NASHORN-444.js + test/script/basic/NASHORN-444.js.EXPECTED + test/script/basic/NASHORN-445.js + test/script/basic/NASHORN-446.js + test/script/basic/NASHORN-447.js + test/script/basic/NASHORN-448.js + test/script/basic/NASHORN-449.js + test/script/basic/NASHORN-449.js.EXPECTED + test/script/basic/NASHORN-45.js + test/script/basic/NASHORN-45.js.EXPECTED + test/script/basic/NASHORN-450.js + test/script/basic/NASHORN-452.js + test/script/basic/NASHORN-459.js + test/script/basic/NASHORN-46.js + test/script/basic/NASHORN-46.js.EXPECTED + test/script/basic/NASHORN-462.js + test/script/basic/NASHORN-463.js + test/script/basic/NASHORN-468.js + test/script/basic/NASHORN-47.js + test/script/basic/NASHORN-473.js + test/script/basic/NASHORN-473.js.EXPECTED + test/script/basic/NASHORN-474.js + test/script/basic/NASHORN-474.js.EXPECTED + test/script/basic/NASHORN-478.js + test/script/basic/NASHORN-48.js + test/script/basic/NASHORN-48.js.EXPECTED + test/script/basic/NASHORN-481.js + test/script/basic/NASHORN-481.js.EXPECTED + test/script/basic/NASHORN-482.js + test/script/basic/NASHORN-484.js + test/script/basic/NASHORN-484.js.EXPECTED + test/script/basic/NASHORN-486.js + test/script/basic/NASHORN-487.js + test/script/basic/NASHORN-488.js + test/script/basic/NASHORN-49.js + test/script/basic/NASHORN-49.js.EXPECTED + test/script/basic/NASHORN-490.js + test/script/basic/NASHORN-494.js + test/script/basic/NASHORN-497.js + test/script/basic/NASHORN-498.js + test/script/basic/NASHORN-499.js + test/script/basic/NASHORN-50.js + test/script/basic/NASHORN-50.js.EXPECTED + test/script/basic/NASHORN-500.js + test/script/basic/NASHORN-503.js + test/script/basic/NASHORN-503.js.EXPECTED + test/script/basic/NASHORN-51.js + test/script/basic/NASHORN-51.js.EXPECTED + test/script/basic/NASHORN-511.js + test/script/basic/NASHORN-515.js + test/script/basic/NASHORN-515.js.EXPECTED + test/script/basic/NASHORN-516.js + test/script/basic/NASHORN-52.js + test/script/basic/NASHORN-534.js + test/script/basic/NASHORN-534.js.EXPECTED + test/script/basic/NASHORN-535.js + test/script/basic/NASHORN-535.js.EXPECTED + test/script/basic/NASHORN-544.js + test/script/basic/NASHORN-55.js + test/script/basic/NASHORN-554.js + test/script/basic/NASHORN-554.js.EXPECTED + test/script/basic/NASHORN-556.js + test/script/basic/NASHORN-556.js.EXPECTED + test/script/basic/NASHORN-56.js + test/script/basic/NASHORN-56.js.EXPECTED + test/script/basic/NASHORN-562.js + test/script/basic/NASHORN-565.js + test/script/basic/NASHORN-565.js.EXPECTED + test/script/basic/NASHORN-575.js + test/script/basic/NASHORN-575.js.EXPECTED + test/script/basic/NASHORN-58.js + test/script/basic/NASHORN-58.js.EXPECTED + test/script/basic/NASHORN-59.js + test/script/basic/NASHORN-59.js.EXPECTED + test/script/basic/NASHORN-592.js + test/script/basic/NASHORN-592.js.EXPECTED + test/script/basic/NASHORN-597.js + test/script/basic/NASHORN-597.js.EXPECTED + test/script/basic/NASHORN-60.js + test/script/basic/NASHORN-60.js.EXPECTED + test/script/basic/NASHORN-609.js + test/script/basic/NASHORN-609.js.EXPECTED + test/script/basic/NASHORN-61.js + test/script/basic/NASHORN-61.js.EXPECTED + test/script/basic/NASHORN-62.js + test/script/basic/NASHORN-62.js.EXPECTED + test/script/basic/NASHORN-620.js + test/script/basic/NASHORN-620.js.EXPECTED + test/script/basic/NASHORN-623.js + test/script/basic/NASHORN-623.js.EXPECTED + test/script/basic/NASHORN-627.js + test/script/basic/NASHORN-627.js.EXPECTED + test/script/basic/NASHORN-63.js + test/script/basic/NASHORN-631.js.EXPECTED + test/script/basic/NASHORN-637.js + test/script/basic/NASHORN-637.js.EXPECTED + test/script/basic/NASHORN-638.js + test/script/basic/NASHORN-638.js.EXPECTED + test/script/basic/NASHORN-639.js + test/script/basic/NASHORN-64.js + test/script/basic/NASHORN-642.js + test/script/basic/NASHORN-642.js.EXPECTED + test/script/basic/NASHORN-646.js + test/script/basic/NASHORN-653.js + test/script/basic/NASHORN-658.js + test/script/basic/NASHORN-659.js + test/script/basic/NASHORN-66.js + test/script/basic/NASHORN-66.js.EXPECTED + test/script/basic/NASHORN-664.js + test/script/basic/NASHORN-665.js + test/script/basic/NASHORN-67.js + test/script/basic/NASHORN-67.js.EXPECTED + test/script/basic/NASHORN-678.js + test/script/basic/NASHORN-68.js + test/script/basic/NASHORN-68.js.EXPECTED + test/script/basic/NASHORN-689.js + test/script/basic/NASHORN-689.js.EXPECTED + test/script/basic/NASHORN-69.js + test/script/basic/NASHORN-69.js.EXPECTED + test/script/basic/NASHORN-691.js + test/script/basic/NASHORN-691.js.EXPECTED + test/script/basic/NASHORN-694.js + test/script/basic/NASHORN-694.js.EXPECTED + test/script/basic/NASHORN-697.js + test/script/basic/NASHORN-703.js + test/script/basic/NASHORN-703.js.EXPECTED + test/script/basic/NASHORN-703a.js + test/script/basic/NASHORN-703a.js.EXPECTED + test/script/basic/NASHORN-705.js + test/script/basic/NASHORN-71.js + test/script/basic/NASHORN-71.js.EXPECTED + test/script/basic/NASHORN-710.js + test/script/basic/NASHORN-711.js + test/script/basic/NASHORN-711.js.EXPECTED + test/script/basic/NASHORN-72.js + test/script/basic/NASHORN-72.js.EXPECTED + test/script/basic/NASHORN-722.js + test/script/basic/NASHORN-73.js + test/script/basic/NASHORN-73.js.EXPECTED + test/script/basic/NASHORN-737.js + test/script/basic/NASHORN-737.js.EXPECTED + test/script/basic/NASHORN-74.js + test/script/basic/NASHORN-74.js.EXPECTED + test/script/basic/NASHORN-740.js + test/script/basic/NASHORN-740.js.EXPECTED + test/script/basic/NASHORN-75.js + test/script/basic/NASHORN-75.js.EXPECTED + test/script/basic/NASHORN-758.js + test/script/basic/NASHORN-759.js + test/script/basic/NASHORN-759.js.EXPECTED + test/script/basic/NASHORN-760.js + test/script/basic/NASHORN-768.js + test/script/basic/NASHORN-778.js + test/script/basic/NASHORN-78.js + test/script/basic/NASHORN-79.js + test/script/basic/NASHORN-79.js.EXPECTED + test/script/basic/NASHORN-792.js + test/script/basic/NASHORN-792.js.EXPECTED + test/script/basic/NASHORN-80.js + test/script/basic/NASHORN-80.js.EXPECTED + test/script/basic/NASHORN-81.js + test/script/basic/NASHORN-833.js + test/script/basic/NASHORN-833.js.EXPECTED + test/script/basic/NASHORN-85.js + test/script/basic/NASHORN-85.js.EXPECTED + test/script/basic/NASHORN-86.js + test/script/basic/NASHORN-87.js + test/script/basic/NASHORN-89.js + test/script/basic/NASHORN-90.js + test/script/basic/NASHORN-90.js.EXPECTED + test/script/basic/NASHORN-91.js + test/script/basic/NASHORN-91.js.EXPECTED + test/script/basic/NASHORN-92.js + test/script/basic/NASHORN-92.js.EXPECTED + test/script/basic/NASHORN-93.js + test/script/basic/NASHORN-95.js + test/script/basic/NASHORN-95.js.EXPECTED + test/script/basic/NASHORN-96.js + test/script/basic/NASHORN-96.js.EXPECTED + test/script/basic/NASHORN-97.js + test/script/basic/NASHORN-98.js + test/script/basic/NASHORN-98.js.EXPECTED + test/script/basic/NASHORN-99.js + test/script/basic/addition.js + test/script/basic/addition.js.EXPECTED + test/script/basic/allgettersetters.js + test/script/basic/andor.js + test/script/basic/andor.js.EXPECTED + test/script/basic/anonrecur.js + test/script/basic/anonrecur.js.EXPECTED + test/script/basic/applycall.js + test/script/basic/applycall.js.EXPECTED + test/script/basic/args.js + test/script/basic/args.js.EXPECTED + test/script/basic/arity.js + test/script/basic/arity.js.EXPECTED + test/script/basic/arrayprotoclass.js + test/script/basic/arrayprotoclass.js.EXPECTED + test/script/basic/arrays.js + test/script/basic/arrays.js.EXPECTED + test/script/basic/arrays2.js + test/script/basic/arrays2.js.EXPECTED + test/script/basic/arraysIntKey.js + test/script/basic/arraysIntKey.js.EXPECTED + test/script/basic/arrayset.js + test/script/basic/arrayset.js.EXPECTED + test/script/basic/arrayundefined.js + test/script/basic/arrayundefined.js.EXPECTED + test/script/basic/assign.js + test/script/basic/assign.js.EXPECTED + test/script/basic/bitwise_and.js + test/script/basic/bitwise_and.js.EXPECTED + test/script/basic/booleangetter.js + test/script/basic/booleangetter.js.EXPECTED + test/script/basic/builtin.js + test/script/basic/builtin.js.EXPECTED + test/script/basic/builtin_assign.js + test/script/basic/builtin_assign.js.EXPECTED + test/script/basic/builtinchain.js + test/script/basic/builtinchain.js.EXPECTED + test/script/basic/calllink.js + test/script/basic/calllink.js.EXPECTED + test/script/basic/closure.js + test/script/basic/closure.js.EXPECTED + test/script/basic/commandargs.js + test/script/basic/commandargs.js.EXPECTED + test/script/basic/compile-octane.js + test/script/basic/compile-octane.js.EXPECTED + test/script/basic/condassign.js + test/script/basic/condassign.js.EXPECTED + test/script/basic/construct.js + test/script/basic/construct.js.EXPECTED + test/script/basic/constructorname.js + test/script/basic/constructorname.js.EXPECTED + test/script/basic/date.js + test/script/basic/date.js.EXPECTED + test/script/basic/dateparse.js + test/script/basic/dateparse.js.EXPECTED + test/script/basic/decinc.js + test/script/basic/decinc.js.EXPECTED + test/script/basic/delete.js + test/script/basic/delete.js.EXPECTED + test/script/basic/delete2.js + test/script/basic/delete2.js.EXPECTED + test/script/basic/dotpropname.js + test/script/basic/dotpropname.js.EXPECTED + test/script/basic/doublecache.js + test/script/basic/doublecache.js.EXPECTED + test/script/basic/enumeration.js + test/script/basic/enumeration.js.EXPECTED + test/script/basic/errors.js + test/script/basic/errors.js.EXPECTED + test/script/basic/errorstack.js + test/script/basic/errorstack.js.EXPECTED + test/script/basic/eval.js + test/script/basic/eval.js.EXPECTED + test/script/basic/evalreturn.js + test/script/basic/evalreturn.js.EXPECTED + test/script/basic/exprclosure.js + test/script/basic/exprclosure.js.EXPECTED + test/script/basic/extensibility.js + test/script/basic/extensibility.js.EXPECTED + test/script/basic/fileline.js + test/script/basic/fileline.js.EXPECTED + test/script/basic/finally-catchalls.js + test/script/basic/finally-catchalls.js.EXPECTED + test/script/basic/finallyreturn.js + test/script/basic/finallyreturn.js.EXPECTED + test/script/basic/forin.js + test/script/basic/forin.js.EXPECTED + test/script/basic/forin2.js + test/script/basic/forin2.js.EXPECTED + test/script/basic/funcarray.js + test/script/basic/funcarray.js.EXPECTED + test/script/basic/funcbind.js + test/script/basic/funcbind.js.EXPECTED + test/script/basic/funcconstructor.js + test/script/basic/funcconstructor.js.EXPECTED + test/script/basic/getclassname.js + test/script/basic/getenv.js + test/script/basic/getenv.js.EXPECTED + test/script/basic/getter_callsite.js + test/script/basic/getter_callsite.js.EXPECTED + test/script/basic/gettercalls.js + test/script/basic/gettercalls.js.EXPECTED + test/script/basic/getterfunc.js + test/script/basic/getterfunc.js.EXPECTED + test/script/basic/gettersetter.js + test/script/basic/gettersetter.js.EXPECTED + test/script/basic/globalaccess.js + test/script/basic/globalaccess.js.EXPECTED + test/script/basic/globals.js + test/script/basic/globals.js.EXPECTED + test/script/basic/globalscope.js + test/script/basic/globalscope.js.EXPECTED + test/script/basic/hello.js + test/script/basic/hello.js.EXPECTED + test/script/basic/herestr_operator.js + test/script/basic/herestr_operator.js.EXPECTED + test/script/basic/illegaljavaname.js + test/script/basic/illegaljavaname.js.EXPECTED + test/script/basic/incheck.js + test/script/basic/incheck.js.EXPECTED + test/script/basic/indexedcall.js + test/script/basic/indexedcall.js.EXPECTED + test/script/basic/info.js + test/script/basic/info.js.EXPECTED + test/script/basic/inherited_nonwritable.js + test/script/basic/instanceof.js + test/script/basic/instanceof.js.EXPECTED + test/script/basic/instanceof2.js + test/script/basic/instanceof2.js.EXPECTED + test/script/basic/interfaces.js + test/script/basic/interfaces.js.EXPECTED + test/script/basic/iterator.js + test/script/basic/iterator.js.EXPECTED + test/script/basic/java.js + test/script/basic/java.js.EXPECTED + test/script/basic/javaarray.js + test/script/basic/javaarray.js.EXPECTED + test/script/basic/javaarrayconversion.js + test/script/basic/javaarrayconversion.js.EXPECTED + test/script/basic/javaexceptions.js + test/script/basic/javaexceptions.js.EXPECTED + test/script/basic/javaimporter.js + test/script/basic/javaimporter.js.EXPECTED + test/script/basic/javainnerclasses.js + test/script/basic/javainnerclasses.js.EXPECTED + test/script/basic/javasigcall.js + test/script/basic/javasigcall.js.EXPECTED + test/script/basic/jquery.js + test/script/basic/jquery.js.EXPECTED + test/script/basic/jsadapter.js + test/script/basic/jsadapter.js.EXPECTED + test/script/basic/jsadapterlink.js + test/script/basic/jsadapterlink.js.EXPECTED + test/script/basic/json.js + test/script/basic/json.js.EXPECTED + test/script/basic/list.js + test/script/basic/list.js.EXPECTED + test/script/basic/literal.js + test/script/basic/literal.js.EXPECTED + test/script/basic/load.js + test/script/basic/load.js.EXPECTED + test/script/basic/loadedfile.js + test/script/basic/localundef.js + test/script/basic/localundef.js.EXPECTED + test/script/basic/map.js + test/script/basic/map.js.EXPECTED + test/script/basic/math.js + test/script/basic/math.js.EXPECTED + test/script/basic/minuszero.js + test/script/basic/minuszero.js.EXPECTED + test/script/basic/module.js + test/script/basic/moduleload.js + test/script/basic/moduleload.js.EXPECTED + test/script/basic/nashorn2.js + test/script/basic/nashorn2.js.EXPECTED + test/script/basic/natives.js + test/script/basic/natives.js.EXPECTED + test/script/basic/new.js + test/script/basic/new.js.EXPECTED + test/script/basic/newexpr.js + test/script/basic/newexpr.js.EXPECTED + test/script/basic/newnew.js + test/script/basic/newnew.js.EXPECTED + test/script/basic/nonconstructors.js + test/script/basic/nonconstructors.js.EXPECTED + test/script/basic/nosuchmethod.js + test/script/basic/nosuchmethod.js.EXPECTED + test/script/basic/nosuchproperty.js + test/script/basic/nosuchproperty.js.EXPECTED + test/script/basic/number.js + test/script/basic/number.js.EXPECTED + test/script/basic/numberstring.js + test/script/basic/numberstring.js.EXPECTED + test/script/basic/objectprops.js + test/script/basic/objectprops.js.EXPECTED + test/script/basic/objects.js + test/script/basic/objects.js.EXPECTED + test/script/basic/options.js + test/script/basic/options.js.EXPECTED + test/script/basic/propchange.js + test/script/basic/propchange.js.EXPECTED + test/script/basic/propertycheck.js + test/script/basic/propertycheck.js.EXPECTED + test/script/basic/proto.js.EXPECTED + test/script/basic/prototype.js + test/script/basic/prototype.js.EXPECTED + test/script/basic/pushpull.js + test/script/basic/pushpull.js.EXPECTED + test/script/basic/regex.js + test/script/basic/regex.js.EXPECTED + test/script/basic/regexp_flags.js + test/script/basic/run-octane.js + test/script/basic/runsunspider.js + test/script/basic/runsunspider.js.EXPECTED + test/script/basic/samfunc.js + test/script/basic/samfunc.js.EXPECTED + test/script/basic/scripting.js + test/script/basic/scripting.js.EXPECTED + test/script/basic/sealfreeze.js + test/script/basic/sealfreeze.js.EXPECTED + test/script/basic/setlength.js + test/script/basic/setlength.js.EXPECTED + test/script/basic/stdin.js + test/script/basic/stdin.js.EXPECTED + test/script/basic/strings.js + test/script/basic/strings.js.EXPECTED + test/script/basic/throws.js + test/script/basic/throws.js.EXPECTED + test/script/basic/tosource.js + test/script/basic/tosource.js.EXPECTED + test/script/basic/tostring.js + test/script/basic/tostring.js.EXPECTED + test/script/basic/try.js + test/script/basic/try.js.EXPECTED + test/script/basic/trybreakcont.js + test/script/basic/trybreakcont.js.EXPECTED + test/script/basic/trycatch.js + test/script/basic/trycatch.js.EXPECTED + test/script/basic/trycatchfor.js + test/script/basic/trycatchfor.js.EXPECTED + test/script/basic/tryfinallyreturn.js + test/script/basic/tryfinallyreturn.js.EXPECTED + test/script/basic/tryforbreak.js + test/script/basic/tryforbreak.js.EXPECTED + test/script/basic/typechange.js + test/script/basic/typechange.js.EXPECTED + test/script/basic/typeof.js + test/script/basic/typeof.js.EXPECTED + test/script/basic/typeof2.js + test/script/basic/typeof2.js.EXPECTED + test/script/basic/undefined.js + test/script/basic/undefined.js.EXPECTED + test/script/basic/underscore.js + test/script/basic/underscore.js.EXPECTED + test/script/basic/varargs.js + test/script/basic/varargs.js.EXPECTED + test/script/basic/void.js + test/script/basic/void.js.EXPECTED + test/script/basic/with.js + test/script/basic/with.js.EXPECTED + test/script/basic/withprimitive.js + test/script/basic/withprimitive.js.EXPECTED + test/script/basic/writable_relink.js + test/script/basic/writable_relink.js.EXPECTED + test/script/basic/xmlStrings.js.EXPECTED + test/script/basic/xorassign.js + test/script/basic/xorassign.js.EXPECTED + test/script/basic/yui.js + test/script/basic/yui.js.EXPECTED + test/script/error/NASHORN-154/README + test/script/error/NASHORN-154/function_mult_params_in_strict.js + test/script/error/NASHORN-154/function_mult_params_in_strict.js.EXPECTED + test/script/error/NASHORN-154/improper_return_break_continue.js + test/script/error/NASHORN-154/improper_return_break_continue.js.EXPECTED + test/script/error/NASHORN-154/invalid_lvalue.js + test/script/error/NASHORN-154/invalid_lvalue.js.EXPECTED + test/script/error/NASHORN-154/literal_data_and_accessor.js + test/script/error/NASHORN-154/literal_data_and_accessor.js.EXPECTED + test/script/error/NASHORN-154/literal_mult_getters.js + test/script/error/NASHORN-154/literal_mult_getters.js.EXPECTED + test/script/error/NASHORN-154/literal_mult_prop_in_strict.js + test/script/error/NASHORN-154/literal_mult_prop_in_strict.js.EXPECTED + test/script/error/NASHORN-154/with_in_strict.js + test/script/error/NASHORN-154/with_in_strict.js.EXPECTED + test/script/error/NASHORN-214.js + test/script/error/NASHORN-214.js.EXPECTED + test/script/error/NASHORN-35.js + test/script/error/NASHORN-35.js.EXPECTED + test/script/error/NASHORN-39.js + test/script/error/NASHORN-39.js.EXPECTED + test/script/error/NASHORN-568.js + test/script/error/NASHORN-568.js.EXPECTED + test/script/error/NASHORN-57.js + test/script/error/NASHORN-57.js.EXPECTED + test/script/error/NASHORN-668.js + test/script/error/NASHORN-668.js.EXPECTED + test/script/error/quotemissing.js + test/script/error/quotemissing.js.EXPECTED + test/script/error/strictmode.js + test/script/error/strictmode.js.EXPECTED + test/script/representations/NASHORN-592a.js + test/script/sandbox/NASHORN-525.js + test/script/sandbox/README + test/script/sandbox/classloader.js + test/script/sandbox/classloader.js.EXPECTED + test/script/sandbox/doprivileged.js + test/script/sandbox/doprivileged.js.EXPECTED + test/script/sandbox/exit.js + test/script/sandbox/exit.js.EXPECTED + test/script/sandbox/file.js + test/script/sandbox/file.js.EXPECTED + test/script/sandbox/javaextend.js + test/script/sandbox/javaextend.js.EXPECTED + test/script/sandbox/loadLibrary.js + test/script/sandbox/net.js + test/script/sandbox/net.js.EXPECTED + test/script/sandbox/property.js + test/script/sandbox/property.js.EXPECTED + test/script/sandbox/reflection.js + test/script/sandbox/reflection.js.EXPECTED + test/script/sandbox/runnable.js + test/script/sandbox/runnable.js.EXPECTED + test/script/sandbox/unsafe.js + test/script/sandbox/unsafe.js.EXPECTED + test/script/test262.js + test/script/test262_single.js + test/src/UnnamedPackageTestCallback.java + test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java + test/src/jdk/nashorn/api/scripting/Window.java + test/src/jdk/nashorn/api/scripting/WindowEventHandler.java + test/src/jdk/nashorn/internal/access/BooleanAccessTest.java + test/src/jdk/nashorn/internal/access/MethodAccessTest.java + test/src/jdk/nashorn/internal/access/NumberAccessTest.java + test/src/jdk/nashorn/internal/access/NumberBoxingTest.java + test/src/jdk/nashorn/internal/access/ObjectAccessTest.java + test/src/jdk/nashorn/internal/access/Person.java + test/src/jdk/nashorn/internal/access/SharedObject.java + test/src/jdk/nashorn/internal/access/StringAccessTest.java + test/src/jdk/nashorn/internal/codegen/CompilerTest.java + test/src/jdk/nashorn/internal/parser/ParserTest.java + test/src/jdk/nashorn/internal/performance/AuroraWrapper.java + test/src/jdk/nashorn/internal/performance/OctaneTest.java + test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java + test/src/jdk/nashorn/internal/performance/SplayTest.java + test/src/jdk/nashorn/internal/runtime/ContextTest.java + test/src/jdk/nashorn/internal/runtime/JSTypeTest.java + test/src/jdk/nashorn/internal/runtime/Nashorn401TestSubject.java + test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java + test/src/jdk/nashorn/internal/test/framework/JSJUnitReportReporter.java + test/src/jdk/nashorn/internal/test/framework/OrphanTestFinder.java + test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java + test/src/jdk/nashorn/internal/test/framework/ScriptEvaluator.java + test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java + test/src/jdk/nashorn/internal/test/framework/ScriptTest.java + test/src/jdk/nashorn/internal/test/framework/SeparateContextEvaluator.java + test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java + test/src/jdk/nashorn/internal/test/framework/TestConfig.java + test/src/jdk/nashorn/internal/test/framework/TestFinder.java + test/src/jdk/nashorn/internal/test/framework/TestHelper.java + test/src/jdk/nashorn/internal/test/framework/TestReorderInterceptor.java + test/src/jdk/nashorn/internal/test/models/ConstructorWithArgument.java + test/src/jdk/nashorn/internal/test/models/FinalClass.java + test/src/jdk/nashorn/internal/test/models/NoAccessibleConstructorClass.java + test/src/jdk/nashorn/internal/test/models/NonPublicClass.java + test/src/jdk/nashorn/internal/test/models/OuterClass.java + test/src/jdk/nashorn/internal/test/models/OverloadedSam.java + test/src/jdk/nashorn/internal/test/models/OverrideObject.java Changeset: b4b05457b8b2 Author: jlaskey Date: 2012-12-22 08:49 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b4b05457b8b2 8005440: Improve .hgignore filtering for Nashorn repo Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore Changeset: 3a7e1580bc0a Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3a7e1580bc0a 8005666: Add webrev to .hgignore Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore Changeset: c6e194450af7 Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/c6e194450af7 8005665: JavaDoc should only display public interfaces Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/build.xml Changeset: 5a1b0714df0e Author: jlaskey Date: 2013-01-04 09:58 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5a1b0714df0e 8005663: Update copyright year to 2013 Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! bin/checkintest.sh ! bin/fixorphantests.sh ! bin/fixwhitespace.sh ! bin/jjs ! bin/jjs.bat ! bin/jjssecure ! bin/jjssecure.bat ! bin/nashorn ! bin/nashorn.bat ! bin/rm-non-tracked.sh ! bin/verbose_octane.bat ! bin/verbose_octane.sh ! buildtools/nasgen/build.xml ! buildtools/nasgen/nasgen.iml ! buildtools/nasgen/project.properties ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! docs/genshelldoc.js ! make/Makefile ! make/build-benchmark.xml ! make/build-nasgen.xml ! make/build.xml ! make/nbproject/ide-file-targets.xml ! make/nbproject/ide-targets.xml ! make/nbproject/jdk.xml ! make/nbproject/nbjdk.properties ! make/nbproject/nbjdk.xml ! make/nbproject/project.xml ! make/project.properties ! samples/counters.js ! samples/letter.js ! samples/parser.js ! samples/shell.js ! samples/test.js ! samples/uniq.js ! src/META-INF/services/javax.script.ScriptEngineFactory ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/api/scripting/package-info.java ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/codegen/AccessSpecializer.java ! src/jdk/nashorn/internal/codegen/BranchOptimizer.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/ConstantData.java ! src/jdk/nashorn/internal/codegen/Emitter.java ! src/jdk/nashorn/internal/codegen/Frame.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Namespace.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/Transform.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/MapCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java ! src/jdk/nashorn/internal/codegen/types/ArrayType.java ! src/jdk/nashorn/internal/codegen/types/BitwiseType.java ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/BytecodeArrayOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeBitwiseOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeNumericOps.java ! src/jdk/nashorn/internal/codegen/types/BytecodeOps.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/codegen/types/NumericType.java ! src/jdk/nashorn/internal/codegen/types/ObjectType.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/Assignment.java ! src/jdk/nashorn/internal/ir/BaseNode.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/BreakableNode.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/DoWhileNode.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/FunctionCall.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/LabeledNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Location.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyKey.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReferenceNode.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/Symbol.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/TypeOverride.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/annotations/ChildNode.java ! src/jdk/nashorn/internal/ir/annotations/Ignore.java ! src/jdk/nashorn/internal/ir/annotations/ParentNode.java ! src/jdk/nashorn/internal/ir/annotations/Reference.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.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/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DateParser.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.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/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeMath.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.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/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/annotations/Attribute.java ! src/jdk/nashorn/internal/objects/annotations/Constructor.java ! src/jdk/nashorn/internal/objects/annotations/Function.java ! src/jdk/nashorn/internal/objects/annotations/Getter.java ! src/jdk/nashorn/internal/objects/annotations/Property.java ! src/jdk/nashorn/internal/objects/annotations/ScriptClass.java ! src/jdk/nashorn/internal/objects/annotations/Setter.java ! src/jdk/nashorn/internal/objects/annotations/SpecializedConstructor.java ! src/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java ! src/jdk/nashorn/internal/objects/annotations/Where.java ! src/jdk/nashorn/internal/objects/package-info.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/RegExp.java ! src/jdk/nashorn/internal/parser/RegExpScanner.java ! src/jdk/nashorn/internal/parser/Scanner.java ! src/jdk/nashorn/internal/parser/Token.java ! src/jdk/nashorn/internal/parser/TokenKind.java ! src/jdk/nashorn/internal/parser/TokenLookup.java ! src/jdk/nashorn/internal/parser/TokenStream.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/ConsString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Debug.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/FunctionScope.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSErrorType.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/NumberToString.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyAccess.java ! src/jdk/nashorn/internal/runtime/PropertyDescriptor.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/PropertyListener.java ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java ! src/jdk/nashorn/internal/runtime/RegExpMatch.java ! src/jdk/nashorn/internal/runtime/Scope.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/Version.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/DeletedRangeArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IntArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/InvalidArrayIndexException.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/LongArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/NoTypeArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ObjectArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ReverseMapIterator.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java ! src/jdk/nashorn/internal/runtime/arrays/UndefinedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/InvokeByName.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/Mangler.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! src/jdk/nashorn/internal/runtime/options/KeyValueOption.java ! src/jdk/nashorn/internal/runtime/options/Option.java ! src/jdk/nashorn/internal/runtime/options/OptionTemplate.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/options/ValueOption.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js ! src/jdk/nashorn/internal/runtime/resources/parser.js ! src/jdk/nashorn/internal/runtime/resources/version.properties-template ! src/jdk/nashorn/internal/scripts/JO$.java ! src/jdk/nashorn/internal/scripts/JS$.java ! src/jdk/nashorn/tools/Shell.java ! src/jdk/nashorn/tools/resources/Shell.properties ! src/jdk/nashorn/tools/resources/shell.js ! src/netscape/javascript/JSObject.java ! src/overview.html ! test/examples/dual-fields-micro.js ! test/examples/innerbench.js ! test/examples/typechain.js ! test/lib/benchmark.js ! test/opt/add.js ! test/opt/add_constant.js ! test/opt/add_reuse_callsite.js ! test/opt/add_revert2.js ! test/opt/cascade_specialize.js ! test/script/assert.js ! test/script/basic/NASHORN-100.js ! test/script/basic/NASHORN-101.js ! test/script/basic/NASHORN-102.js ! test/script/basic/NASHORN-103.js ! test/script/basic/NASHORN-104.js ! test/script/basic/NASHORN-105.js ! test/script/basic/NASHORN-106.js ! test/script/basic/NASHORN-107.js ! test/script/basic/NASHORN-108.js ! test/script/basic/NASHORN-109.js ! test/script/basic/NASHORN-11.js ! test/script/basic/NASHORN-111.js ! test/script/basic/NASHORN-113.js ! test/script/basic/NASHORN-114.js ! test/script/basic/NASHORN-115.js ! test/script/basic/NASHORN-117.js ! test/script/basic/NASHORN-118.js ! test/script/basic/NASHORN-119.js ! test/script/basic/NASHORN-12.js ! test/script/basic/NASHORN-120.js ! test/script/basic/NASHORN-122.js ! test/script/basic/NASHORN-126.js ! test/script/basic/NASHORN-127.js ! test/script/basic/NASHORN-130.js ! test/script/basic/NASHORN-132.js ! test/script/basic/NASHORN-133.js ! test/script/basic/NASHORN-135.js ! test/script/basic/NASHORN-136.js ! test/script/basic/NASHORN-14.js ! test/script/basic/NASHORN-148.js ! test/script/basic/NASHORN-15.js ! test/script/basic/NASHORN-153.js ! test/script/basic/NASHORN-156.js ! test/script/basic/NASHORN-157.js ! test/script/basic/NASHORN-163.js ! test/script/basic/NASHORN-164.js ! test/script/basic/NASHORN-165.js ! test/script/basic/NASHORN-166.js ! test/script/basic/NASHORN-168.js ! test/script/basic/NASHORN-169.js ! test/script/basic/NASHORN-172.js ! test/script/basic/NASHORN-173.js ! test/script/basic/NASHORN-174.js ! test/script/basic/NASHORN-175.js ! test/script/basic/NASHORN-176.js ! test/script/basic/NASHORN-177.js ! test/script/basic/NASHORN-178.js ! test/script/basic/NASHORN-179.js ! test/script/basic/NASHORN-18.js ! test/script/basic/NASHORN-181.js ! test/script/basic/NASHORN-182.js ! test/script/basic/NASHORN-183.js ! test/script/basic/NASHORN-184.js ! test/script/basic/NASHORN-185.js ! test/script/basic/NASHORN-187.js ! test/script/basic/NASHORN-188.js ! test/script/basic/NASHORN-19.js ! test/script/basic/NASHORN-190.js ! test/script/basic/NASHORN-192.js ! test/script/basic/NASHORN-194.js ! test/script/basic/NASHORN-196.js ! test/script/basic/NASHORN-198.js ! test/script/basic/NASHORN-20.js ! test/script/basic/NASHORN-201.js ! test/script/basic/NASHORN-202.js ! test/script/basic/NASHORN-203.js ! test/script/basic/NASHORN-204.js ! test/script/basic/NASHORN-205.js ! test/script/basic/NASHORN-206.js ! test/script/basic/NASHORN-207.js ! test/script/basic/NASHORN-207_2.js ! test/script/basic/NASHORN-208.js ! test/script/basic/NASHORN-209.js ! test/script/basic/NASHORN-21.js ! test/script/basic/NASHORN-211.js ! test/script/basic/NASHORN-212.js ! test/script/basic/NASHORN-213.js ! test/script/basic/NASHORN-215.js ! test/script/basic/NASHORN-216.js ! test/script/basic/NASHORN-217.js ! test/script/basic/NASHORN-219.js ! test/script/basic/NASHORN-22.js ! test/script/basic/NASHORN-221.js ! test/script/basic/NASHORN-222.js ! test/script/basic/NASHORN-223.js ! test/script/basic/NASHORN-225.js ! test/script/basic/NASHORN-226.js ! test/script/basic/NASHORN-227.js ! test/script/basic/NASHORN-228.js ! test/script/basic/NASHORN-229.js ! test/script/basic/NASHORN-229_subtest.js ! test/script/basic/NASHORN-23.js ! test/script/basic/NASHORN-232.js ! test/script/basic/NASHORN-234.js ! test/script/basic/NASHORN-235.js ! test/script/basic/NASHORN-236.js ! test/script/basic/NASHORN-237.js ! test/script/basic/NASHORN-239.js ! test/script/basic/NASHORN-24.js ! test/script/basic/NASHORN-241.js ! test/script/basic/NASHORN-242.js ! test/script/basic/NASHORN-245.js ! test/script/basic/NASHORN-247.js ! test/script/basic/NASHORN-25.js ! test/script/basic/NASHORN-251.js ! test/script/basic/NASHORN-252.js ! test/script/basic/NASHORN-253.js ! test/script/basic/NASHORN-256.js ! test/script/basic/NASHORN-258.js ! test/script/basic/NASHORN-26.js ! test/script/basic/NASHORN-260.js ! test/script/basic/NASHORN-261.js ! test/script/basic/NASHORN-262.js ! test/script/basic/NASHORN-263.js ! test/script/basic/NASHORN-264.js ! test/script/basic/NASHORN-265.js ! test/script/basic/NASHORN-266.js ! test/script/basic/NASHORN-269.js ! test/script/basic/NASHORN-27.js ! test/script/basic/NASHORN-270.js ! test/script/basic/NASHORN-271.js ! test/script/basic/NASHORN-275.js ! test/script/basic/NASHORN-276.js ! test/script/basic/NASHORN-277.js ! test/script/basic/NASHORN-278.js ! test/script/basic/NASHORN-28.js ! test/script/basic/NASHORN-281.js ! test/script/basic/NASHORN-284.js ! test/script/basic/NASHORN-285.js ! test/script/basic/NASHORN-288.js ! test/script/basic/NASHORN-29.js ! test/script/basic/NASHORN-293.js ! test/script/basic/NASHORN-294.js ! test/script/basic/NASHORN-296.js ! test/script/basic/NASHORN-297.js ! test/script/basic/NASHORN-30.js ! test/script/basic/NASHORN-300.js ! test/script/basic/NASHORN-301.js ! test/script/basic/NASHORN-304.js ! test/script/basic/NASHORN-310.js ! test/script/basic/NASHORN-318.js ! test/script/basic/NASHORN-32.js ! test/script/basic/NASHORN-321.js ! test/script/basic/NASHORN-323.js ! test/script/basic/NASHORN-324.js ! test/script/basic/NASHORN-33.js ! test/script/basic/NASHORN-331.js ! test/script/basic/NASHORN-337.js ! test/script/basic/NASHORN-34.js ! test/script/basic/NASHORN-340.js ! test/script/basic/NASHORN-349.js ! test/script/basic/NASHORN-354.js ! test/script/basic/NASHORN-355.js ! test/script/basic/NASHORN-36.js ! test/script/basic/NASHORN-365.js ! test/script/basic/NASHORN-366.js ! test/script/basic/NASHORN-368.js ! test/script/basic/NASHORN-37.js ! test/script/basic/NASHORN-375.js ! test/script/basic/NASHORN-376.js ! test/script/basic/NASHORN-377.js ! test/script/basic/NASHORN-378.js ! test/script/basic/NASHORN-38.js ! test/script/basic/NASHORN-380.js ! test/script/basic/NASHORN-381.js ! test/script/basic/NASHORN-382.js ! test/script/basic/NASHORN-383.js ! test/script/basic/NASHORN-384.js ! test/script/basic/NASHORN-385.js ! test/script/basic/NASHORN-389.js ! test/script/basic/NASHORN-393.js ! test/script/basic/NASHORN-394.js ! test/script/basic/NASHORN-396.js ! test/script/basic/NASHORN-397.js ! test/script/basic/NASHORN-398.js ! test/script/basic/NASHORN-40.js ! test/script/basic/NASHORN-400.js ! test/script/basic/NASHORN-401.js ! test/script/basic/NASHORN-402.js ! test/script/basic/NASHORN-404.js ! test/script/basic/NASHORN-405.js ! test/script/basic/NASHORN-406.js ! test/script/basic/NASHORN-408.js ! test/script/basic/NASHORN-415.js ! test/script/basic/NASHORN-416.js ! test/script/basic/NASHORN-417.js ! test/script/basic/NASHORN-418.js ! test/script/basic/NASHORN-420.js ! test/script/basic/NASHORN-421.js ! test/script/basic/NASHORN-423.js ! test/script/basic/NASHORN-423a.js ! test/script/basic/NASHORN-424.js ! test/script/basic/NASHORN-425.js ! test/script/basic/NASHORN-426.js ! test/script/basic/NASHORN-427.js ! test/script/basic/NASHORN-428.js ! test/script/basic/NASHORN-429.js ! test/script/basic/NASHORN-432.js ! test/script/basic/NASHORN-433.js ! test/script/basic/NASHORN-434.js ! test/script/basic/NASHORN-435.js ! test/script/basic/NASHORN-437.js ! test/script/basic/NASHORN-44.js ! test/script/basic/NASHORN-441.js ! test/script/basic/NASHORN-442.js ! test/script/basic/NASHORN-443.js ! test/script/basic/NASHORN-444.js ! test/script/basic/NASHORN-445.js ! test/script/basic/NASHORN-446.js ! test/script/basic/NASHORN-447.js ! test/script/basic/NASHORN-448.js ! test/script/basic/NASHORN-449.js ! test/script/basic/NASHORN-45.js ! test/script/basic/NASHORN-450.js ! test/script/basic/NASHORN-452.js ! test/script/basic/NASHORN-459.js ! test/script/basic/NASHORN-46.js ! test/script/basic/NASHORN-462.js ! test/script/basic/NASHORN-463.js ! test/script/basic/NASHORN-468.js ! test/script/basic/NASHORN-47.js ! test/script/basic/NASHORN-473.js ! test/script/basic/NASHORN-474.js ! test/script/basic/NASHORN-478.js ! test/script/basic/NASHORN-48.js ! test/script/basic/NASHORN-481.js ! test/script/basic/NASHORN-482.js ! test/script/basic/NASHORN-484.js ! test/script/basic/NASHORN-486.js ! test/script/basic/NASHORN-487.js ! test/script/basic/NASHORN-488.js ! test/script/basic/NASHORN-49.js ! test/script/basic/NASHORN-490.js ! test/script/basic/NASHORN-494.js ! test/script/basic/NASHORN-497.js ! test/script/basic/NASHORN-498.js ! test/script/basic/NASHORN-499.js ! test/script/basic/NASHORN-50.js ! test/script/basic/NASHORN-500.js ! test/script/basic/NASHORN-503.js ! test/script/basic/NASHORN-51.js ! test/script/basic/NASHORN-511.js ! test/script/basic/NASHORN-515.js ! test/script/basic/NASHORN-516.js ! test/script/basic/NASHORN-52.js ! test/script/basic/NASHORN-534.js ! test/script/basic/NASHORN-535.js ! test/script/basic/NASHORN-544.js ! test/script/basic/NASHORN-55.js ! test/script/basic/NASHORN-554.js ! test/script/basic/NASHORN-556.js ! test/script/basic/NASHORN-56.js ! test/script/basic/NASHORN-562.js ! test/script/basic/NASHORN-565.js ! test/script/basic/NASHORN-575.js ! test/script/basic/NASHORN-58.js ! test/script/basic/NASHORN-59.js ! test/script/basic/NASHORN-592.js ! test/script/basic/NASHORN-597.js ! test/script/basic/NASHORN-60.js ! test/script/basic/NASHORN-609.js ! test/script/basic/NASHORN-61.js ! test/script/basic/NASHORN-62.js ! test/script/basic/NASHORN-620.js ! test/script/basic/NASHORN-623.js ! test/script/basic/NASHORN-627.js ! test/script/basic/NASHORN-63.js ! test/script/basic/NASHORN-637.js ! test/script/basic/NASHORN-638.js ! test/script/basic/NASHORN-639.js ! test/script/basic/NASHORN-64.js ! test/script/basic/NASHORN-642.js ! test/script/basic/NASHORN-646.js ! test/script/basic/NASHORN-653.js ! test/script/basic/NASHORN-658.js ! test/script/basic/NASHORN-659.js ! test/script/basic/NASHORN-66.js ! test/script/basic/NASHORN-664.js ! test/script/basic/NASHORN-665.js ! test/script/basic/NASHORN-67.js ! test/script/basic/NASHORN-678.js ! test/script/basic/NASHORN-68.js ! test/script/basic/NASHORN-689.js ! test/script/basic/NASHORN-69.js ! test/script/basic/NASHORN-691.js ! test/script/basic/NASHORN-694.js ! test/script/basic/NASHORN-697.js ! test/script/basic/NASHORN-703.js ! test/script/basic/NASHORN-703a.js ! test/script/basic/NASHORN-705.js ! test/script/basic/NASHORN-71.js ! test/script/basic/NASHORN-710.js ! test/script/basic/NASHORN-711.js ! test/script/basic/NASHORN-72.js ! test/script/basic/NASHORN-722.js ! test/script/basic/NASHORN-73.js ! test/script/basic/NASHORN-737.js ! test/script/basic/NASHORN-74.js ! test/script/basic/NASHORN-740.js ! test/script/basic/NASHORN-75.js ! test/script/basic/NASHORN-758.js ! test/script/basic/NASHORN-759.js ! test/script/basic/NASHORN-760.js ! test/script/basic/NASHORN-768.js ! test/script/basic/NASHORN-778.js ! test/script/basic/NASHORN-78.js ! test/script/basic/NASHORN-79.js ! test/script/basic/NASHORN-792.js ! test/script/basic/NASHORN-80.js ! test/script/basic/NASHORN-81.js ! test/script/basic/NASHORN-833.js ! test/script/basic/NASHORN-85.js ! test/script/basic/NASHORN-86.js ! test/script/basic/NASHORN-87.js ! test/script/basic/NASHORN-89.js ! test/script/basic/NASHORN-90.js ! test/script/basic/NASHORN-91.js ! test/script/basic/NASHORN-92.js ! test/script/basic/NASHORN-93.js ! test/script/basic/NASHORN-95.js ! test/script/basic/NASHORN-96.js ! test/script/basic/NASHORN-97.js ! test/script/basic/NASHORN-98.js ! test/script/basic/NASHORN-99.js ! test/script/basic/addition.js ! test/script/basic/allgettersetters.js ! test/script/basic/andor.js ! test/script/basic/anonrecur.js ! test/script/basic/applycall.js ! test/script/basic/args.js ! test/script/basic/arity.js ! test/script/basic/arrayprotoclass.js ! test/script/basic/arrays.js ! test/script/basic/arrays2.js ! test/script/basic/arraysIntKey.js ! test/script/basic/arrayset.js ! test/script/basic/arrayundefined.js ! test/script/basic/assign.js ! test/script/basic/bitwise_and.js ! test/script/basic/booleangetter.js ! test/script/basic/builtin.js ! test/script/basic/builtin_assign.js ! test/script/basic/builtinchain.js ! test/script/basic/calllink.js ! test/script/basic/closure.js ! test/script/basic/commandargs.js ! test/script/basic/compile-octane.js ! test/script/basic/condassign.js ! test/script/basic/construct.js ! test/script/basic/constructorname.js ! test/script/basic/date.js ! test/script/basic/dateparse.js ! test/script/basic/decinc.js ! test/script/basic/delete.js ! test/script/basic/delete2.js ! test/script/basic/dotpropname.js ! test/script/basic/doublecache.js ! test/script/basic/enumeration.js ! test/script/basic/errors.js ! test/script/basic/errorstack.js ! test/script/basic/eval.js ! test/script/basic/evalreturn.js ! test/script/basic/exprclosure.js ! test/script/basic/extensibility.js ! test/script/basic/fileline.js ! test/script/basic/finally-catchalls.js ! test/script/basic/finallyreturn.js ! test/script/basic/forin.js ! test/script/basic/forin2.js ! test/script/basic/funcarray.js ! test/script/basic/funcbind.js ! test/script/basic/funcconstructor.js ! test/script/basic/getclassname.js ! test/script/basic/getenv.js ! test/script/basic/getter_callsite.js ! test/script/basic/gettercalls.js ! test/script/basic/getterfunc.js ! test/script/basic/gettersetter.js ! test/script/basic/globalaccess.js ! test/script/basic/globals.js ! test/script/basic/globalscope.js ! test/script/basic/hello.js ! test/script/basic/herestr_operator.js ! test/script/basic/illegaljavaname.js ! test/script/basic/incheck.js ! test/script/basic/indexedcall.js ! test/script/basic/info.js ! test/script/basic/inherited_nonwritable.js ! test/script/basic/instanceof.js ! test/script/basic/instanceof2.js ! test/script/basic/interfaces.js ! test/script/basic/iterator.js ! test/script/basic/java.js ! test/script/basic/javaarray.js ! test/script/basic/javaarrayconversion.js ! test/script/basic/javaexceptions.js ! test/script/basic/javaimporter.js ! test/script/basic/javainnerclasses.js ! test/script/basic/javasigcall.js ! test/script/basic/jquery.js ! test/script/basic/jsadapter.js ! test/script/basic/jsadapterlink.js ! test/script/basic/json.js ! test/script/basic/list.js ! test/script/basic/literal.js ! test/script/basic/load.js ! test/script/basic/loadedfile.js ! test/script/basic/localundef.js ! test/script/basic/map.js ! test/script/basic/math.js ! test/script/basic/minuszero.js ! test/script/basic/module.js ! test/script/basic/moduleload.js ! test/script/basic/nashorn2.js ! test/script/basic/natives.js ! test/script/basic/new.js ! test/script/basic/newexpr.js ! test/script/basic/newnew.js ! test/script/basic/nonconstructors.js ! test/script/basic/nosuchmethod.js ! test/script/basic/nosuchproperty.js ! test/script/basic/number.js ! test/script/basic/numberstring.js ! test/script/basic/objectprops.js ! test/script/basic/objects.js ! test/script/basic/options.js ! test/script/basic/propchange.js ! test/script/basic/propertycheck.js ! test/script/basic/prototype.js ! test/script/basic/pushpull.js ! test/script/basic/regex.js ! test/script/basic/regexp_flags.js ! test/script/basic/run-octane.js ! test/script/basic/runsunspider.js ! test/script/basic/samfunc.js ! test/script/basic/scripting.js ! test/script/basic/scripting.js.EXPECTED ! test/script/basic/sealfreeze.js ! test/script/basic/setlength.js ! test/script/basic/stdin.js ! test/script/basic/strings.js ! test/script/basic/throws.js ! test/script/basic/tosource.js ! test/script/basic/tostring.js ! test/script/basic/try.js ! test/script/basic/trybreakcont.js ! test/script/basic/trycatch.js ! test/script/basic/trycatchfor.js ! test/script/basic/tryfinallyreturn.js ! test/script/basic/tryforbreak.js ! test/script/basic/typechange.js ! test/script/basic/typeof.js ! test/script/basic/typeof2.js ! test/script/basic/undefined.js ! test/script/basic/underscore.js ! test/script/basic/varargs.js ! test/script/basic/void.js ! test/script/basic/with.js ! test/script/basic/withprimitive.js ! test/script/basic/writable_relink.js ! test/script/basic/xorassign.js ! test/script/basic/yui.js ! test/script/error/NASHORN-154/function_mult_params_in_strict.js ! test/script/error/NASHORN-154/improper_return_break_continue.js ! test/script/error/NASHORN-154/invalid_lvalue.js ! test/script/error/NASHORN-154/literal_data_and_accessor.js ! test/script/error/NASHORN-154/literal_mult_getters.js ! test/script/error/NASHORN-154/literal_mult_prop_in_strict.js ! test/script/error/NASHORN-154/with_in_strict.js ! test/script/error/NASHORN-214.js ! test/script/error/NASHORN-35.js ! test/script/error/NASHORN-39.js ! test/script/error/NASHORN-568.js ! test/script/error/NASHORN-57.js ! test/script/error/NASHORN-668.js ! test/script/error/quotemissing.js ! test/script/error/strictmode.js ! test/script/representations/NASHORN-592a.js ! test/script/sandbox/NASHORN-525.js ! test/script/sandbox/classloader.js ! test/script/sandbox/doprivileged.js ! test/script/sandbox/exit.js ! test/script/sandbox/file.js ! test/script/sandbox/javaextend.js ! test/script/sandbox/loadLibrary.js ! test/script/sandbox/net.js ! test/script/sandbox/property.js ! test/script/sandbox/reflection.js ! test/script/sandbox/runnable.js ! test/script/sandbox/unsafe.js ! test/script/test262.js ! test/script/test262_single.js ! test/src/UnnamedPackageTestCallback.java ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/api/scripting/Window.java ! test/src/jdk/nashorn/api/scripting/WindowEventHandler.java ! test/src/jdk/nashorn/internal/access/BooleanAccessTest.java ! test/src/jdk/nashorn/internal/access/MethodAccessTest.java ! test/src/jdk/nashorn/internal/access/NumberAccessTest.java ! test/src/jdk/nashorn/internal/access/NumberBoxingTest.java ! test/src/jdk/nashorn/internal/access/ObjectAccessTest.java ! test/src/jdk/nashorn/internal/access/Person.java ! test/src/jdk/nashorn/internal/access/SharedObject.java ! test/src/jdk/nashorn/internal/access/StringAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/performance/AuroraWrapper.java ! test/src/jdk/nashorn/internal/performance/OctaneTest.java ! test/src/jdk/nashorn/internal/performance/PerformanceWrapper.java ! test/src/jdk/nashorn/internal/performance/SplayTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java ! test/src/jdk/nashorn/internal/runtime/Nashorn401TestSubject.java ! test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/JSJUnitReportReporter.java ! test/src/jdk/nashorn/internal/test/framework/OrphanTestFinder.java ! test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java ! test/src/jdk/nashorn/internal/test/framework/ScriptEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/ScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/ScriptTest.java ! test/src/jdk/nashorn/internal/test/framework/SeparateContextEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java ! test/src/jdk/nashorn/internal/test/framework/TestConfig.java ! test/src/jdk/nashorn/internal/test/framework/TestFinder.java ! test/src/jdk/nashorn/internal/test/framework/TestHelper.java ! test/src/jdk/nashorn/internal/test/framework/TestReorderInterceptor.java ! test/src/jdk/nashorn/internal/test/models/ConstructorWithArgument.java ! test/src/jdk/nashorn/internal/test/models/FinalClass.java ! test/src/jdk/nashorn/internal/test/models/NoAccessibleConstructorClass.java ! test/src/jdk/nashorn/internal/test/models/NonPublicClass.java ! test/src/jdk/nashorn/internal/test/models/OuterClass.java ! test/src/jdk/nashorn/internal/test/models/OverloadedSam.java ! test/src/jdk/nashorn/internal/test/models/OverrideObject.java Changeset: 1e3f411f47bf Author: lagergren Date: 2013-01-07 19:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1e3f411f47bf 8005789: Forgot to document -Dnashorn.unstable.relink.threshold Summary: Added documentation to DEVELOPER_README, fixed code convention warnings Reviewed-by: attila ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/options/Options.java Changeset: 41c7093477ae Author: jlaskey Date: 2013-01-07 14:41 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/41c7093477ae 8005703: Offsets miscalculated for blocks Reviewed-by: lagergren Contributed-by: petr.hejl at oracle.com ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: d14da0d0c577 Author: sundar Date: 2013-01-08 08:51 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d14da0d0c577 8005782: get rid of javadoc errors, warnings in nashorn build Reviewed-by: lagergren ! make/build.xml ! make/project.properties ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: 0e7da548ef6a Author: lagergren Date: 2013-01-08 09:59 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/0e7da548ef6a 8005788: Loggers and their corresponding system properties not working correctly Summary: 1-1 mapping now maintained. Used Context err instead of System.err in several places (after bootstrapping Context). Problematic closing of err stream replaced by @SuppressWarnings("resource") Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java Changeset: 5f2db2d8a7fa Author: sundar Date: 2013-01-08 15:02 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5f2db2d8a7fa 8005835: NASHORN-668 output fails to compare with the corresponding .EXPECTED file Reviewed-by: lagergren, hannesw ! test/script/error/NASHORN-668.js.EXPECTED Changeset: d8e4d66f1a06 Author: lagergren Date: 2013-01-08 10:52 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d8e4d66f1a06 8005843: refSymbols lookup of unbound variable could cause NullPointerException in Lower Reviewed-by: hannesw, attila ! src/jdk/nashorn/internal/codegen/Lower.java + test/script/basic/NASHORN-837.js Changeset: c5a321205f49 Author: attila Date: 2013-01-08 13:50 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/c5a321205f49 8005846: Remove Mangler in favor of Dynalink's NameCodec Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/Compiler.java Changeset: 4620ac94e7dc Author: attila Date: 2013-01-08 14:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4620ac94e7dc 8005801: Refactor findSetMethod Summary: findSetMethod() was a very large single method, very unreadable and unmaintainable. It was broken into easy-to-understand pieces. The refactoring required introduction of a comand-object like entity, SetMethodCreator, to contain the nontrivial transient state of the algorithm that made the original big method so resistant to refactoring in the first place. Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java + src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java - src/jdk/nashorn/internal/runtime/linker/Mangler.java Changeset: 69a4f0363d0f Author: lagergren Date: 2013-01-08 15:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/69a4f0363d0f 8005842: Loops in ASTWriter. Corrected @Reference and @Ignore node annotation for IR nodes Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/ReferenceNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java Changeset: 548587cfb065 Author: sundar Date: 2013-01-08 21:16 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/548587cfb065 8005848: assigning to global toString variable affects Object.prototype.toString Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK_8005848.js Changeset: 812b9963b1c7 Author: attila Date: 2013-01-09 15:02 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/812b9963b1c7 8005777: Bug in the FacetIntrospector of Dynalink - non-public class should search super Reviewed-by: lagergren, sundar ! make/project.properties Changeset: 4cd65798ec70 Author: sundar Date: 2013-01-09 22:32 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4cd65798ec70 8005940: provide ant targets to get and update external test scripts Reviewed-by: jlaskey, lagergren ! bin/verbose_octane.bat ! bin/verbose_octane.sh ! make/Makefile ! make/build-benchmark.xml ! make/build.xml ! make/project.properties ! test/script/basic/run-octane.js ! test/script/basic/runsunspider.js ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 9f59ba5090f2 Author: lagergren Date: 2013-01-10 10:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/9f59ba5090f2 8005971: runsunspider.js should check results of benchmarks Reviewed-by: attila, hannesw ! test/script/basic/runsunspider.js Changeset: a7f177d6639c Author: sundar Date: 2013-01-10 19:03 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a7f177d6639c 8005987: ant octane tries to run non-benchmark scripts Reviewed-by: lagergren, attila, jlaskey ! make/build-benchmark.xml ! make/project.properties Changeset: 0362d36d3dd6 Author: sundar Date: 2013-01-10 19:55 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/0362d36d3dd6 8005982: NASHORN-71.js failing in nightlys Reviewed-by: attila, lagergren, jlaskey ! test/script/basic/NASHORN-71.js - test/script/basic/NASHORN-71.js.EXPECTED Changeset: 2a5c2258827b Author: attila Date: 2013-01-10 15:28 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/2a5c2258827b 8005983: JavaAdapterFactory generated proxy classes should take extra constructor arguments at the end Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! test/script/sandbox/javaextend.js ! test/script/sandbox/javaextend.js.EXPECTED Changeset: 2a4769fcd13f Author: lagergren Date: 2013-01-11 10:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/2a4769fcd13f 8005976: Break out AccessSpecializer into one pass before CodeGenerator instead of iterative applications from CodeGenerator Summary: Now scope and slot information is guaranteed to be fixed AND NOT CHANGE before CodeGeneration. We want to keep it that way to build future type specializations and bring all type work out of CodeGenerator. Reviewed-by: attila, hannesw + bin/dump_octane_code.sh ! bin/verbose_octane.sh ! docs/DEVELOPER_README ! src/jdk/nashorn/internal/codegen/AccessSpecializer.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/Splitter.java - src/jdk/nashorn/internal/codegen/Transform.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java Changeset: f67bf56495ca Author: sundar Date: 2013-01-11 18:26 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f67bf56495ca 8006082: Provide option to run octane benchmarks in separate processes Reviewed-by: lagergren, jlaskey ! make/build-benchmark.xml ! make/project.properties Changeset: 8a5922638ff0 Author: sundar Date: 2013-01-11 20:34 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8a5922638ff0 8006093: Add a makefile target to run all tests (test, test262, perf tests) Reviewed-by: attila, hannesw ! make/Makefile ! make/build.xml Changeset: eda69555239a Author: attila Date: 2013-01-14 16:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/eda69555239a 8006168: ability to generate multi-type Java adapters Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! test/script/sandbox/javaextend.js ! test/script/sandbox/javaextend.js.EXPECTED + test/src/jdk/nashorn/internal/test/models/DessertTopping.java + test/src/jdk/nashorn/internal/test/models/DessertToppingFloorWaxDriver.java + test/src/jdk/nashorn/internal/test/models/FloorWax.java + test/src/jdk/nashorn/internal/test/models/Toothpaste.java Changeset: 3c6db5ea0ecc Author: sundar Date: 2013-01-14 21:30 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3c6db5ea0ecc 8006181: nashorn script engine does not run jrunscript's initialization script Reviewed-by: lagergren, jlaskey Contributed-by: rieberandreas at gmail.com + src/jdk/nashorn/api/scripting/Formatter.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js + src/jdk/nashorn/api/scripting/resources/init.js Changeset: 1d0307c2bb4c Author: attila Date: 2013-01-15 13:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1d0307c2bb4c 8006293: Reduce ScriptObject.findCallMethodMethod Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java ! src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java Changeset: ee73d7378e3e Author: attila Date: 2013-01-15 17:09 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/ee73d7378e3e 8005958: invoking a function through INVOKESTATIC with more arguments than it declares resulted in malformed bytecode being generated Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8005958.js Changeset: 9088170e68df Author: attila Date: 2013-01-15 18:08 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/9088170e68df 8006337: Discarded arguments for INVOKESTATIC must still be evaluated for side effects Reviewed-by: hannesw, jlaskey, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8006337.js + test/script/basic/JDK-8006337.js.EXPECTED Changeset: 617313881c55 Author: jlaskey Date: 2013-01-16 07:06 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/617313881c55 8006304: Remove pre-population of maps for constructor produced maps Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! .hgignore ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java + test/script/basic/JDK-8006304.js + test/script/basic/JDK-8006304.js.EXPECTED Changeset: 80447df16322 Author: sundar Date: 2013-01-16 17:58 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/80447df16322 8006412: Improve toString method of ScriptObjectMirror class Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: cd5b684ce7b2 Author: sundar Date: 2013-01-16 21:26 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/cd5b684ce7b2 8006424: Passing null or undefined to adapter class constructors results in NPE or ClassCastException Reviewed-by: attila, hannesw, jlaskey ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + test/script/basic/JDK-8006424.js Changeset: 4acebfe9e504 Author: jlaskey Date: 2013-01-17 10:33 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4acebfe9e504 8006517: PropertyHashMap.Element.equals() compares to Property Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java Changeset: f8136c060914 Author: sundar Date: 2013-01-18 08:45 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f8136c060914 8006527: nashorn jsr223 engine does not work in sandbox Reviewed-by: jlaskey, attila, lagergren + bin/nashornsecure + bin/nashornsecure.bat ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/init.js ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java + test/script/sandbox/engine.js + test/script/sandbox/engine.js.EXPECTED + test/script/sandbox/jsadapter.js Changeset: 4361e8cd6a02 Author: sundar Date: 2013-01-18 17:55 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4361e8cd6a02 8006562: findOwnMH in nashorn "objects" package should be cleaned up Reviewed-by: jlaskey, lagergren ! make/project.properties ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java Changeset: c887baec012a Author: sundar Date: 2013-01-19 09:14 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/c887baec012a 8006584: improve variable handling in NashornScriptEngine Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: a8966074d4e9 Author: sundar Date: 2013-01-19 22:35 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a8966074d4e9 8006557: JDK8/Lambda build clashes on Map.replace() Reviewed-by: jlaskey ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java Changeset: 0cee498b330d Author: attila Date: 2013-01-21 11:03 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/0cee498b330d 8006525: Give StaticClass objects their own linker Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java + src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 8b3cc4ad1810 Author: sundar Date: 2013-01-21 21:17 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8b3cc4ad1810 8006635: Reduce access levels as much as possible Reviewed-by: jlaskey, lagergren, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/ECMAException.java + src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/tools/Shell.java ! test/src/jdk/nashorn/internal/access/BooleanAccessTest.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 935dcec38e9a Author: hannesw Date: 2013-01-22 14:14 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/935dcec38e9a 8006570: This-value for non-strict functions should be converted to object Reviewed-by: jlaskey, lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/basic/JDK-8006570.js + test/script/basic/JDK-8006570.js.EXPECTED Changeset: e43d1013d871 Author: attila Date: 2013-01-22 14:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e43d1013d871 8006677: Remove unused FunctionNode flags Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: e62dba3ce52b Author: sundar Date: 2013-01-22 22:07 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e62dba3ce52b 8006678: Avoid too many Context.getGlobal() calls Reviewed-by: lagergren, jlaskey ! make/project.properties ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 0dbcb7350595 Author: sundar Date: 2013-01-23 17:04 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/0dbcb7350595 8006736: nashorn script engine should support the usage multiple global objects with same engine instance Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: d4a968ca8953 Author: sundar Date: 2013-01-24 16:21 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d4a968ca8953 8006575: Error in codegen for element access on primitive value Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8006575.js Changeset: 3f528769aee1 Author: sundar Date: 2013-01-24 17:49 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3f528769aee1 8006755: Functions inside with statements dont get correct scope Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8006755.js Changeset: edfa73d9fde7 Author: hannesw Date: 2013-01-24 14:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/edfa73d9fde7 8006408: Clean up and specialize NativeString Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java + test/examples/string-micro.js Changeset: f336aee22e85 Author: jlaskey Date: 2013-01-24 12:15 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f336aee22e85 8006852: Move tests from JIRA for prepopulated map failures Reviewed-by: sundar Contributed-by: james.laskey at oracle.com + test/script/basic/JDK-8006852a.js + test/script/basic/JDK-8006852a.js.EXPECTED + test/script/basic/JDK-8006852b.js Changeset: bff7087396d7 Author: sundar Date: 2013-01-24 22:38 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/bff7087396d7 8006857: ClassCastException when interface implementing function uses arguments object Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8006857.js + test/script/basic/JDK-8006857.js.EXPECTED Changeset: f52d7294536f Author: hannesw Date: 2013-01-25 17:35 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f52d7294536f 8006766: Array-like access to characters of a string is slow Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java Changeset: 8f7a86f82376 Author: sundar Date: 2013-01-28 18:10 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8f7a86f82376 8006983: Introduce a command line option to switch off syntactic extensions of nashorn Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/JDK-8006983.js ! test/script/basic/scripting.js ! test/script/basic/scripting.js.EXPECTED Changeset: 265c46dbcf43 Author: sundar Date: 2013-01-28 21:29 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/265c46dbcf43 8007004: nashorn script engine should not use thread context class loader as script 'application loader' Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Changeset: b6c69beebde6 Author: jlaskey Date: 2013-01-28 16:22 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b6c69beebde6 8006676: Integrate Nashorn into new build system Reviewed-by: jlaskey Contributed-by: james.laskey at oracle.com ! make/Makefile + makefiles/BuildNashorn.gmk + makefiles/Makefile Changeset: 333748665588 Author: sundar Date: 2013-01-29 19:57 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/333748665588 8007091: Provide private API to pass application class loader for nashorn script engine Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 755404d7d189 Author: jlaskey Date: 2013-01-29 14:25 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/755404d7d189 8007094: Apply version to nashorn.jar manifest Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 59970b70ebb5 Author: lagergren Date: 2013-01-30 12:26 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/59970b70ebb5 8007062: Split Lower up into Lower/Attr/FinalizeTypes. Integrate AccessSpecalizer into FinalizeTypes. Summary: Lower suffered from being a "God class" trying to do everything at once. As Nashorn code generation has grown, so has Lower. It does several post processing passes, tries to do several things at once even though all type information isn't in place, adjusting state afterwards and so on. It also performs control flow analysis, type attribution and constant folding, and everything else code generation related before byte code emission. I have now separated the compilation process into Lower (create low level nodes from high level ones, copy code such as finally block inlining etc), Attr (assign types and symbols to all nodes - freeze slot and scope information) and FinalizeTypes (insert explicit casts, specialize invoke dynamic types for scope accesses). I've removed the kludgy AccessSpecializer, as this now integrates naturally with typing. Everything is now much easier to read and each module performs only one thing. I have added separate loggers for the separate ti ers. In the process I have also fixed: (1) problems with type coercion (see test/script/basic/typecoercion.js, basically our coercion was too late and our symbol inference was erroneous. This only manifested itself in very rare occasions where toNumber coercion has side effects, such as for example when valueOf is overridden) (2) copying literal nodes (literal copy did not use the superclass copy, which made all the Node specific fields not to be copied (3) erroneous literal tokenization (literals shouldn't always just inherit token information from whatever node that creates them) (4) splitter weighnodes - unary nodes were considered weightless (4) removed the hateful and kludgy "VarNode.shouldAppend", which really isn't needed when we have an attribution phase that determines self reference symbols (the only thing it was used for) (5) duplicate line number issues in the parser (6) convert bug in CodeGenerator for intermediate results of scope accesses (see test/script/b asic/access-specializer.js) ... Several of these things just stopped being problems with the new architecture "can't happen anymore" and are not bug fixes per se. All tests run. No performance regressions exist that I've been able to measure. Some increases in performance were measured, but in the statistical margin of error (which is very wide as HotSpot currently has warmup issues with LambdaForms/invoke dynamic). Compile speed has not measurably increased. Reviewed-by: jlaskey, attila ! docs/DEVELOPER_README ! src/jdk/nashorn/api/scripting/Formatter.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java - src/jdk/nashorn/internal/codegen/AccessSpecializer.java + src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.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/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIterator.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/access-specializer.js ! test/script/basic/compile-octane.js.EXPECTED ! test/script/basic/run-octane.js + test/script/basic/typecoerce.js + test/script/basic/typecoerce.js.EXPECTED Changeset: ca6d5e4b8170 Author: sundar Date: 2013-01-30 17:52 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/ca6d5e4b8170 8007132: Java objects returned from constructor functions are lost Reviewed-by: hannesw, lagergren, attila ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + test/script/basic/JDK-8007132.js Changeset: 9f913c1843c8 Author: hannesw Date: 2013-01-30 14:57 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/9f913c1843c8 8007109: Regression: String(ConsString) does not flatten argument to String Reviewed-by: sundar, lagergren ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/consstring.js + test/src/jdk/nashorn/internal/test/models/StringArgs.java Changeset: c04f54d5b672 Author: sundar Date: 2013-01-30 21:15 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/c04f54d5b672 8007140: Java.extend crashes when attempting to extend java.lang.Object Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! test/script/basic/JDK-8006424.js + test/script/basic/JDK-8007140.js Changeset: 9c1e7ae975db Author: sundar Date: 2013-01-31 20:07 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/9c1e7ae975db 8007286: Add JavaAdapter and importPackage to compatibility script Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/resources/engine.js ! src/jdk/nashorn/internal/parser/TokenLookup.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + test/script/basic/importpackage.js + test/script/basic/javaadapter.js Changeset: f7825c1a11d3 Author: attila Date: 2013-01-31 18:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f7825c1a11d3 8006529: Methods always get callee - it should be conditional Summary: This commit streamlines the bytecode function signatures, prologue, local variable use, scope creation, and invocation. It started out quite innocently when we noticed that we always emit __callee__ parameters for all functions even when they are not needed, but it turned out to be quite a deep rabbit hole. In the end, I identified exact conditions when functions need to have a callee parameter, when they need to receive parent scope, when they need to create their own scope, when they need to have variable arity signature, and when they need to have an "arguments" object, and made sure that callee parameters in signatures only show up when they are needed, that parent function's scope is only passed to a child function when it is needed, that the function only creates its own scope when it is needed. In crypto.js, the number of scopes dropped from 446 to 244, and the number of callees dropped from 315 to 145. Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/parser/Parser.java + src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8006529-b.js + test/script/basic/JDK-8006529-b.js.EXPECTED + test/script/basic/JDK-8006529.js + test/src/jdk/nashorn/internal/codegen/CompilerAccess.java Changeset: 697f700d90c0 Author: hannesw Date: 2013-02-01 02:24 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/697f700d90c0 8007060: Primitive wrap filter throws ClassCastException in test262parallel Reviewed-by: sundar, jlaskey, lagergren ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java - src/jdk/nashorn/internal/runtime/linker/NashornGuardedInvocation.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/basic/JDK-8007060.js + test/script/basic/JDK-8007060.js.EXPECTED Changeset: a704700470fb Author: jlaskey Date: 2013-02-04 08:13 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a704700470fb 8007455: Extraneous $(ECHO) in make/Makefile Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: bb86bf840f9f Author: attila Date: 2013-02-04 15:59 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/bb86bf840f9f 8007460: var assignment to a parameter in a varargs method causes compilation error Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + test/script/basic/JDK-8007460.js + test/script/basic/JDK-8007460.js.EXPECTED Changeset: bee7c8a45a04 Author: lagergren Date: 2013-02-04 16:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/bee7c8a45a04 8007215: Varargs broken for the case of passing more than the arg limit arguments. Reviewed-by: jlaskey, attila ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007215.js + test/script/basic/JDK-8007215.js.EXPECTED Changeset: 6f58c28c4faa Author: jlaskey Date: 2013-02-04 14:48 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/6f58c28c4faa 8006191: `cmd` -> exec("cmd") in script mode Reviewed-by: sundar, lagergren, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/OptionsObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/JDK-8006191.js + test/script/basic/JDK-8006191.js.EXPECTED Changeset: 5c2ed5d89524 Author: sundar Date: 2013-02-05 09:11 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5c2ed5d89524 8007452: add scripting programmers doc changes for nashorn Reviewed-by: jlaskey, hannesw + docs/JavaScriptingProgrammersGuide.html + docs/source/EvalFile.java + docs/source/EvalScript.java + docs/source/InvokeScriptFunction.java + docs/source/InvokeScriptMethod.java + docs/source/MultiScopes.java + docs/source/RunnableImpl.java + docs/source/RunnableImplObject.java + docs/source/ScriptVars.java + docs/source/importpackageclass.js + docs/source/javaarray.js + docs/source/javaextend.js + docs/source/javaimporter.js + docs/source/javatypes.js + docs/source/overload.js + docs/source/runnable.js + docs/source/samfunc.js + docs/source/test.js ! src/jdk/nashorn/internal/objects/NativeJava.java Changeset: c48e8a28da90 Author: sundar Date: 2013-02-05 18:44 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/c48e8a28da90 8007521: $ENV should be undefined when security manager is present Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java - test/script/basic/JDK-8006191.js - test/script/basic/JDK-8006191.js.EXPECTED + test/script/currently-failing/JDK-8006191.js + test/script/currently-failing/JDK-8006191.js.EXPECTED + test/script/sandbox/env.js + test/script/sandbox/exec.js Changeset: 819b5485949d Author: sundar Date: 2013-02-05 21:00 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/819b5485949d 8007522: IllegalStateException thrown from String.prototype.search function Reviewed-by: jlaskey ! src/jdk/nashorn/internal/objects/NativeRegExp.java + test/script/basic/JDK-8007522.js Changeset: f05d4dae30f7 Author: sundar Date: 2013-02-05 22:07 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f05d4dae30f7 8007523: VerifyError on script that uses regular expression literals with ternary operator Reviewed-by: lagergren ! src/jdk/nashorn/internal/ir/LiteralNode.java ! test/script/basic/JDK-8007522.js + test/script/basic/JDK-8007523.js Changeset: f6fae6de6f4f Author: hannesw Date: 2013-02-06 10:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f6fae6de6f4f 8007273: Creation of ScriptFunctions can be refactored Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + src/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: fcf541418304 Author: sundar Date: 2013-02-06 17:56 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/fcf541418304 8007619: Add support for deprecated properties of RegExp constructor Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007619.js + test/script/basic/JDK-8007619.js.EXPECTED Changeset: ec4d59c9b8d2 Author: jlaskey Date: 2013-02-06 08:42 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/ec4d59c9b8d2 8007545: jjs input evalinput need to be NOT_ENUMERABLE Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/tools/resources/shell.js Changeset: 2ca25bf25d0c Author: jlaskey Date: 2013-02-06 11:57 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/2ca25bf25d0c 8007629: Remove extraneous quit from shell.js Reviewed-by: sundar, hannesw Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/api/scripting/resources/init.js ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/tools/resources/shell.js Changeset: 02f810c26ff9 Author: jlaskey Date: 2013-02-06 12:51 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/02f810c26ff9 8007643: Add testing for quit and exit Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! test/script/sandbox/exit.js ! test/script/sandbox/exit.js.EXPECTED Changeset: d7e83be6e7aa Author: sundar Date: 2013-02-07 17:17 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d7e83be6e7aa 8007715: Make sure that not all tests run with AllPermission Reviewed-by: lagergren, attila ! make/build.xml ! make/project.properties ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + test/script/README - test/script/basic/JDK-8006424.js - test/script/basic/JDK-8006529.js - test/script/basic/NASHORN-638.js - test/script/basic/NASHORN-638.js.EXPECTED - test/script/basic/NASHORN-653.js ! test/script/basic/NASHORN-758.js - test/script/basic/getenv.js - test/script/basic/getenv.js.EXPECTED ! test/script/basic/javaexceptions.js ! test/script/basic/newexpr.js + test/script/sandbox/interfaceimpl.js + test/script/sandbox/loadcompat.js + test/script/trusted/JDK-8006424.js + test/script/trusted/JDK-8006529.js + test/script/trusted/NASHORN-638.js + test/script/trusted/NASHORN-638.js.EXPECTED + test/script/trusted/NASHORN-653.js + test/script/trusted/README + test/script/trusted/getenv.js + test/script/trusted/getenv.js.EXPECTED ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java Changeset: bca3a64a4a82 Author: hannesw Date: 2013-02-07 14:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/bca3a64a4a82 8007627: Support @Getter annotation on constructor Reviewed-by: attila, lagergren ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java Changeset: d5130a5803d1 Author: hannesw Date: 2013-02-07 15:33 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d5130a5803d1 8007718: Make static RegExp properties fully compatible to other engines Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/runtime/RegExpMatch.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8007718.js + test/script/basic/JDK-8007718.js.EXPECTED Changeset: 8742be332c8a Author: jlaskey Date: 2013-02-08 09:19 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8742be332c8a 8006222: Move slot from SpillProperty to Property Reviewed-by: hannesw, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/MapCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.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/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java Changeset: 5ead5333fa59 Author: attila Date: 2013-02-09 16:58 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5ead5333fa59 8006943: Fix order of function method arguments to be (callee, thisObject) Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/types/ObjectType.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java Changeset: abea4ba28901 Author: sundar Date: 2013-02-11 21:26 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/abea4ba28901 8007915: Nashorn IR, codegen, parser packages and Context instance should be inaccessible to user code Reviewed-by: lagergren, jlaskey, attila ! bin/jjssecure ! bin/jjssecure.bat ! bin/nashornsecure ! bin/nashornsecure.bat ! make/Makefile ! make/build.xml + make/java.security.override ! make/project.properties ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeArrayBuffer.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeEvalError.java ! src/jdk/nashorn/internal/objects/NativeFloat32Array.java ! src/jdk/nashorn/internal/objects/NativeFloat64Array.java ! src/jdk/nashorn/internal/objects/NativeFunction.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/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeRangeError.java ! src/jdk/nashorn/internal/objects/NativeReferenceError.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/NativeSyntaxError.java ! src/jdk/nashorn/internal/objects/NativeTypeError.java ! src/jdk/nashorn/internal/objects/NativeURIError.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/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java - src/jdk/nashorn/internal/parser/RegExp.java - src/jdk/nashorn/internal/parser/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/ConsString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Debug.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java + src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/Logging.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java + src/jdk/nashorn/internal/runtime/RegExp.java + src/jdk/nashorn/internal/runtime/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/EmptyArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/resources/parser.js + test/script/sandbox/nashorninternals.js ! test/script/trusted/JDK-8006529.js + test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java + test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java + test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java + test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java + test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java + test/src/jdk/nashorn/api/javaaccess/Person.java + test/src/jdk/nashorn/api/javaaccess/SharedObject.java + test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java - test/src/jdk/nashorn/internal/access/BooleanAccessTest.java - test/src/jdk/nashorn/internal/access/MethodAccessTest.java - test/src/jdk/nashorn/internal/access/NumberAccessTest.java - test/src/jdk/nashorn/internal/access/NumberBoxingTest.java - test/src/jdk/nashorn/internal/access/ObjectAccessTest.java - test/src/jdk/nashorn/internal/access/Person.java - test/src/jdk/nashorn/internal/access/SharedObject.java - test/src/jdk/nashorn/internal/access/StringAccessTest.java - test/src/jdk/nashorn/internal/codegen/CompilerAccess.java Changeset: 774a0f349cc0 Author: hannesw Date: 2013-02-12 13:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/774a0f349cc0 8007956: Wrong or obsolete system properties in docs/DEVELOPER_README Reviewed-by: attila, jlaskey ! docs/DEVELOPER_README Changeset: d50e1752f59b Author: attila Date: 2013-02-12 12:47 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d50e1752f59b 8007900: Function binding is inefficient Reviewed-by: jlaskey, lagergren + src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/ArgumentSetter.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + src/jdk/nashorn/internal/runtime/SpecializedMethodChooser.java + test/script/basic/funcbind2.js + test/script/basic/funcbind2.js.EXPECTED + test/script/basic/funcbind3.js + test/script/basic/funcbind3.js.EXPECTED Changeset: a3dc1b180ce7 Author: hannesw Date: 2013-02-13 13:30 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a3dc1b180ce7 8008096: TokenStream buffer should grow exponentially Reviewed-by: attila, lagergren, sundar ! src/jdk/nashorn/internal/parser/TokenStream.java Changeset: 38c44687e4bd Author: sundar Date: 2013-02-13 19:59 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/38c44687e4bd 8008103: Source object should maintain URL of the script source as a private field Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/tools/Shell.java ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 222b9f32b674 Author: sundar Date: 2013-02-14 09:14 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/222b9f32b674 8008193: test262 tests should be run with security manager enabled Reviewed-by: jlaskey ! make/build.xml Changeset: 8c72a2bec1be Author: sundar Date: 2013-02-14 14:16 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/8c72a2bec1be 8008197: Cross script engine function calls do not work as expected Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java + test/script/basic/JDK-8008197.js ! test/script/basic/jquery.js Changeset: 43e32b36153c Author: lagergren Date: 2013-02-14 13:01 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/43e32b36153c 8008199: Lazy compilation and trampoline implementation Summary: The code pipeline now supports lazy compilation, which can be used to only compile certain FunctionNodes and leave others be, saving startup time. When these uncompiled nodes are hit, a trampoline will force them to be recompiled. This can also be used to specialize compilation fixing parameter types and return types to a callsite specific compilation. This will give performance. Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/ConstantData.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/Lower.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/codegen/objects/FunctionObjectCreator.java ! src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 5a820fb11814 Author: attila Date: 2013-02-14 13:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5a820fb11814 8008085: Integrate Dynalink source code into Nashorn codebase Reviewed-by: jlaskey, lagergren, sundar ! THIRD_PARTY_README ! make/build.xml ! make/nbproject/project.xml ! make/project.properties + src/jdk/internal/dynalink/CallSiteDescriptor.java + src/jdk/internal/dynalink/ChainedCallSite.java + src/jdk/internal/dynalink/DefaultBootstrapper.java + src/jdk/internal/dynalink/DynamicLinker.java + src/jdk/internal/dynalink/DynamicLinkerFactory.java + src/jdk/internal/dynalink/MonomorphicCallSite.java + src/jdk/internal/dynalink/NoSuchDynamicMethodException.java + src/jdk/internal/dynalink/RelinkableCallSite.java + src/jdk/internal/dynalink/beans/AbstractJavaLinker.java + src/jdk/internal/dynalink/beans/AccessibleMembersLookup.java + src/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java + src/jdk/internal/dynalink/beans/BeanIntrospector.java + src/jdk/internal/dynalink/beans/BeanLinker.java + src/jdk/internal/dynalink/beans/BeansLinker.java + src/jdk/internal/dynalink/beans/CheckRestrictedPackage.java + src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java + src/jdk/internal/dynalink/beans/ClassLinker.java + src/jdk/internal/dynalink/beans/ClassString.java + src/jdk/internal/dynalink/beans/DynamicMethod.java + src/jdk/internal/dynalink/beans/DynamicMethodLinker.java + src/jdk/internal/dynalink/beans/FacetIntrospector.java + src/jdk/internal/dynalink/beans/GuardedInvocationComponent.java + src/jdk/internal/dynalink/beans/MaximallySpecific.java + src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java + src/jdk/internal/dynalink/beans/OverloadedMethod.java + src/jdk/internal/dynalink/beans/RestrictedPackageTester.java + src/jdk/internal/dynalink/beans/SimpleDynamicMethod.java + src/jdk/internal/dynalink/beans/StaticClass.java + src/jdk/internal/dynalink/beans/StaticClassIntrospector.java + src/jdk/internal/dynalink/beans/StaticClassLinker.java + src/jdk/internal/dynalink/beans/messages.properties + src/jdk/internal/dynalink/beans/package.html + src/jdk/internal/dynalink/linker/ConversionComparator.java + src/jdk/internal/dynalink/linker/GuardedInvocation.java + src/jdk/internal/dynalink/linker/GuardingDynamicLinker.java + src/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java + src/jdk/internal/dynalink/linker/LinkRequest.java + src/jdk/internal/dynalink/linker/LinkerServices.java + src/jdk/internal/dynalink/linker/TypeBasedGuardingDynamicLinker.java + src/jdk/internal/dynalink/linker/package.html + src/jdk/internal/dynalink/package.html + src/jdk/internal/dynalink/support/AbstractCallSiteDescriptor.java + src/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java + src/jdk/internal/dynalink/support/AutoDiscovery.java + src/jdk/internal/dynalink/support/Backport.java + src/jdk/internal/dynalink/support/BottomGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/CallSiteDescriptorFactory.java + src/jdk/internal/dynalink/support/ClassMap.java + src/jdk/internal/dynalink/support/CompositeGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/CompositeTypeBasedGuardingDynamicLinker.java + src/jdk/internal/dynalink/support/DefaultCallSiteDescriptor.java + src/jdk/internal/dynalink/support/Guards.java + src/jdk/internal/dynalink/support/LinkRequestImpl.java + src/jdk/internal/dynalink/support/LinkerServicesImpl.java + src/jdk/internal/dynalink/support/Lookup.java + src/jdk/internal/dynalink/support/LookupCallSiteDescriptor.java + src/jdk/internal/dynalink/support/NameCodec.java + src/jdk/internal/dynalink/support/NamedDynCallSiteDescriptor.java + src/jdk/internal/dynalink/support/RuntimeContextLinkRequestImpl.java + src/jdk/internal/dynalink/support/TypeConverterFactory.java + src/jdk/internal/dynalink/support/TypeUtilities.java + src/jdk/internal/dynalink/support/UnnamedDynCallSiteDescriptor.java + src/jdk/internal/dynalink/support/messages.properties + src/jdk/internal/dynalink/support/package.html ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/GlobalObject.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptLoader.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/Bootstrap.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! test/script/sandbox/nashorninternals.js ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java Changeset: d086c3eead6b Author: lagergren Date: 2013-02-14 13:52 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d086c3eead6b 8008206: The allInteger case for SwitchNode generation in CodeGenerator assumes integer LITERALS only. Reviewed-by: sundar, jlaskey ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + test/script/basic/JDK-8008206.js + test/script/basic/JDK-8008206.js.EXPECTED Changeset: 3df0a0d62d60 Author: attila Date: 2013-02-14 13:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3df0a0d62d60 8007990: No access to interface methods on a restricted class Reviewed-by: jlaskey, lagergren, sundar ! make/build.xml + test/script/basic/JDK-8007990.js + test/script/basic/JDK-8007990.js.EXPECTED Changeset: d1ce4e09e4ba Author: hannesw Date: 2013-02-14 14:07 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d1ce4e09e4ba 8008198: java.lang.AssertionError: Invalid break target class jdk.nashorn.internal.ir.TryNode Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8008198.js + test/script/basic/JDK-8008198.js.EXPECTED Changeset: d41d7cf9ab8b Author: jlaskey Date: 2013-02-14 11:32 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d41d7cf9ab8b 8008231: Fix build system to accommodate integration of dynalink Reviewed-by: jlaskey Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 36065e5ea3d1 Author: hannesw Date: 2013-02-15 09:18 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/36065e5ea3d1 8008215: break in catch clause causes java.lang.VerifyError: Inconsistent stackmap Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8008215.js + test/script/basic/JDK-8008215.js.EXPECTED Changeset: e478708faa22 Author: lagergren Date: 2013-02-15 09:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e478708faa22 8008239: Unpublicized parts of the code generator package that were only package internal. Reviewed-by: hannesw, attila ! src/jdk/nashorn/internal/codegen/BranchOptimizer.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java + src/jdk/nashorn/internal/codegen/Condition.java + src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java + src/jdk/nashorn/internal/codegen/Label.java + src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java + src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java + src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/SharedScopeCall.java ! src/jdk/nashorn/internal/codegen/Splitter.java - src/jdk/nashorn/internal/codegen/objects/FieldObjectCreator.java - src/jdk/nashorn/internal/codegen/objects/MapCreator.java - src/jdk/nashorn/internal/codegen/objects/ObjectClassGenerator.java - src/jdk/nashorn/internal/codegen/objects/ObjectCreator.java - src/jdk/nashorn/internal/codegen/objects/ObjectMapCreator.java ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.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/IdentNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.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/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/Scope.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java Changeset: 757a49aaad02 Author: sundar Date: 2013-02-15 18:30 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/757a49aaad02 8008291: Add more tests for better coverage of objects, scripting and parser packages Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Scanner.java ! src/jdk/nashorn/internal/runtime/BitVector.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/QuotedStringTokenizer.java ! src/jdk/nashorn/internal/runtime/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/Source.java ! src/jdk/nashorn/tools/Shell.java ! test/script/basic/NASHORN-401.js ! test/script/basic/NASHORN-401.js.EXPECTED + test/script/basic/assign_builtin_func_props.js + test/script/basic/debugger.js + test/script/basic/yield.js ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java ! test/src/jdk/nashorn/api/scripting/Window.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 5851c5dac260 Author: sundar Date: 2013-02-15 20:40 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5851c5dac260 8008298: Add tests to cover specialized versions of Math functions. Reviewed-by: jlaskey, lagergren + test/script/basic/JDK-8008298.js Changeset: d5f74bd2dc20 Author: sundar Date: 2013-02-18 14:41 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/d5f74bd2dc20 8008305: ScriptEngine.eval should offer the ability to provide a codebase Reviewed-by: lagergren, hannesw, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java + src/jdk/nashorn/api/scripting/URLReader.java + test/script/trusted/JDK-8008305.js + test/script/trusted/JDK-8008305_subtest.js + test/script/trusted/urlreader.js Changeset: 3245e174fe3a Author: hannesw Date: 2013-02-18 10:36 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3245e174fe3a 8008351: Avoid using String.replace(String, String) in codegen Reviewed-by: sundar, attila ! src/jdk/nashorn/internal/codegen/Condition.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java Changeset: f8221ce53c2e Author: attila Date: 2013-02-18 16:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f8221ce53c2e 8008371: Fix Dynalink compiler warnings and whitespace Reviewed-by: jlaskey, sundar ! src/jdk/internal/dynalink/CallSiteDescriptor.java ! src/jdk/internal/dynalink/ChainedCallSite.java ! src/jdk/internal/dynalink/DefaultBootstrapper.java ! src/jdk/internal/dynalink/DynamicLinker.java ! src/jdk/internal/dynalink/DynamicLinkerFactory.java ! src/jdk/internal/dynalink/MonomorphicCallSite.java ! src/jdk/internal/dynalink/NoSuchDynamicMethodException.java ! src/jdk/internal/dynalink/RelinkableCallSite.java ! src/jdk/internal/dynalink/beans/AbstractJavaLinker.java ! src/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java ! src/jdk/internal/dynalink/beans/BeanLinker.java ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java ! src/jdk/internal/dynalink/beans/ClassLinker.java ! src/jdk/internal/dynalink/beans/ClassString.java ! src/jdk/internal/dynalink/beans/DynamicMethod.java ! src/jdk/internal/dynalink/beans/DynamicMethodLinker.java ! src/jdk/internal/dynalink/beans/FacetIntrospector.java ! src/jdk/internal/dynalink/beans/GuardedInvocationComponent.java ! src/jdk/internal/dynalink/beans/MaximallySpecific.java ! src/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java ! src/jdk/internal/dynalink/beans/OverloadedMethod.java ! src/jdk/internal/dynalink/beans/SimpleDynamicMethod.java ! src/jdk/internal/dynalink/beans/StaticClass.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java ! src/jdk/internal/dynalink/linker/GuardedInvocation.java ! src/jdk/internal/dynalink/linker/GuardingDynamicLinker.java ! src/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java ! src/jdk/internal/dynalink/linker/LinkRequest.java ! src/jdk/internal/dynalink/linker/LinkerServices.java ! src/jdk/internal/dynalink/support/AbstractCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java ! src/jdk/internal/dynalink/support/AutoDiscovery.java ! src/jdk/internal/dynalink/support/BottomGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/CallSiteDescriptorFactory.java ! src/jdk/internal/dynalink/support/CompositeGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/CompositeTypeBasedGuardingDynamicLinker.java ! src/jdk/internal/dynalink/support/DefaultCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/Guards.java ! src/jdk/internal/dynalink/support/LinkRequestImpl.java ! src/jdk/internal/dynalink/support/LinkerServicesImpl.java ! src/jdk/internal/dynalink/support/Lookup.java ! src/jdk/internal/dynalink/support/LookupCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/NamedDynCallSiteDescriptor.java ! src/jdk/internal/dynalink/support/RuntimeContextLinkRequestImpl.java ! src/jdk/internal/dynalink/support/TypeConverterFactory.java ! src/jdk/internal/dynalink/support/TypeUtilities.java ! src/jdk/internal/dynalink/support/UnnamedDynCallSiteDescriptor.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java Changeset: 4738de1bd57f Author: sundar Date: 2013-02-18 20:41 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/4738de1bd57f 8008387: Improve code coverage tests for JSObjectLinker and NashornBottomLinker Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + test/script/basic/javamethodcallerrors.js + test/script/basic/jsobject.js Changeset: b6798a83dbd4 Author: jlaskey Date: 2013-02-19 09:46 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b6798a83dbd4 8008420: Tweaks to make all NEWBUILD=false round 2 Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: b228e3cdbfc3 Author: jlaskey Date: 2013-02-19 09:47 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b228e3cdbfc3 Merge Changeset: b632446ba138 Author: sundar Date: 2013-02-19 20:33 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/b632446ba138 8008448: Add coverage test for jdk.nashorn.internal.ir.debug.JSONWriter Reviewed-by: jlaskey, attila ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java + test/script/basic/JDK-8008448.js Changeset: 58eea0e8f369 Author: sundar Date: 2013-02-20 17:08 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/58eea0e8f369 8008207: Make constants array and source fields private Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/Compiler.java Changeset: 671852e35ced Author: lagergren Date: 2013-02-20 16:43 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/671852e35ced 8008166: URL handling was broken on windows, causing "load" to malfunction Reviewed-by: attila, jlaskey Contributed-by: klara.ward at oracle.com ! make/build.xml ! src/jdk/nashorn/internal/runtime/Context.java Changeset: a971adb68f38 Author: lagergren Date: 2013-02-21 16:57 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a971adb68f38 8008648: Lazy JIT scope and callee semantics bugfixes. Broke out wallclock timer. Reviewed-by: attila, hannesw ! src/jdk/internal/dynalink/beans/BeansLinker.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java + src/jdk/nashorn/internal/codegen/CompilationException.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/NashornLoader.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java + src/jdk/nashorn/internal/runtime/Timing.java ! test/script/trusted/JDK-8006529.js Changeset: ae1c9716685b Author: jlaskey Date: 2013-02-21 15:24 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/ae1c9716685b 8008447: Tweaks to make all NEWBUILD=false round 3 Reviewed-by: jjh, sundar Contributed-by: james.laskey at oracle.com ! make/Makefile Changeset: 678da59a29b3 Author: lagergren Date: 2013-02-22 08:57 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/678da59a29b3 8008554: load was broken for URLs Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/runtime/Context.java + test/script/basic/JDK-8008554.js Changeset: 230a711062c1 Author: lagergren Date: 2013-02-22 11:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/230a711062c1 8008575: Re-integrate code coverage Reviewed-by: attila, hannesw Contributed-by: eugene.drobitko at oracle.com, ilya.dergalin at oracle.com ! make/build.xml + make/code_coverage.xml ! make/project.properties Changeset: 267cc4c85160 Author: lagergren Date: 2013-02-22 12:22 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/267cc4c85160 8007002: Replace implicit exception throwing methods with explicit throws - simplify control flow and remove useless code Reviewed-by: attila, hannesw ! src/jdk/nashorn/api/scripting/NashornException.java ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/api/scripting/URLReader.java ! src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeFunction.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeObject.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/ErrorManager.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ParserException.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/URIUtils.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/arrays/FrozenArrayFilter.java ! src/jdk/nashorn/internal/runtime/arrays/IteratorAction.java ! src/jdk/nashorn/internal/runtime/arrays/SealedArrayFilter.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/Lookup.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java Changeset: 3f0ff84aaf36 Author: jlaskey Date: 2013-02-22 10:39 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3f0ff84aaf36 8008721: Tweaks to make all NEWBUILD=false round 4 Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 508da3c7fc3a Author: hannesw Date: 2013-02-22 16:31 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/508da3c7fc3a 8008093: Make RegExp engine pluggable Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java - src/jdk/nashorn/internal/runtime/RegExp.java - src/jdk/nashorn/internal/runtime/RegExpMatch.java - src/jdk/nashorn/internal/runtime/RegExpScanner.java + src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java + src/jdk/nashorn/internal/runtime/regexp/RegExp.java + src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java + src/jdk/nashorn/internal/runtime/regexp/RegExpMatcher.java + src/jdk/nashorn/internal/runtime/regexp/RegExpResult.java + src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java Changeset: e42fd1640ff9 Author: hannesw Date: 2013-02-22 17:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/e42fd1640ff9 8006028: Integrate Joni regexp engine with Nashorn Reviewed-by: lagergren, attila ! THIRD_PARTY_README ! docs/DEVELOPER_README + 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/ApplyCaseFold.java + src/jdk/nashorn/internal/runtime/regexp/joni/ApplyCaseFoldArg.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/CodeRangeBuffer.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/MatcherFactory.java + src/jdk/nashorn/internal/runtime/regexp/joni/MinMaxLen.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/NodeOptInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptAnchorInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptEnvironment.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptExactInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/OptMapInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/Option.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/SearchAlgorithm.java + src/jdk/nashorn/internal/runtime/regexp/joni/StackEntry.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/Token.java + src/jdk/nashorn/internal/runtime/regexp/joni/UnsetAddrList.java + src/jdk/nashorn/internal/runtime/regexp/joni/WarnCallback.java + src/jdk/nashorn/internal/runtime/regexp/joni/Warnings.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/AnchorNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/AnyCharNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/BackRefNode.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/ConsAltNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/EncloseNode.java + src/jdk/nashorn/internal/runtime/regexp/joni/ast/Node.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/ast/StringNode.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/AnchorType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Arguments.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/AsmConstants.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/CCSTATE.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/CCVALTYPE.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/EncloseType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/MetaChar.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/NodeStatus.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/NodeType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPCode.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/OPSize.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Reduce.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/RegexState.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StackPopLevel.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StackType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/StringType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/SyntaxProperties.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/TargetInfo.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/TokenType.java + src/jdk/nashorn/internal/runtime/regexp/joni/constants/Traverse.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/AsciiTables.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/CharacterType.java + src/jdk/nashorn/internal/runtime/regexp/joni/encoding/IntHolder.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/InternalException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/JOniException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/SyntaxException.java + src/jdk/nashorn/internal/runtime/regexp/joni/exception/ValueException.java Changeset: 7f5b7c6859d7 Author: sundar Date: 2013-02-22 22:39 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/7f5b7c6859d7 8008729: Make sure that we can run basic jsr223 tests using jtreg Reviewed-by: jlaskey, hannesw, lagergren + test/TEST.ROOT ! test/src/jdk/nashorn/api/scripting/MultipleEngineTest.java + test/src/jdk/nashorn/api/scripting/ScriptEngineSecurityTest.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 5452f82eb2ce Author: jlaskey Date: 2013-02-22 23:33 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5452f82eb2ce 8008776: Revise BuildNashorn.gmk for changes in new build system Reviewed-by: jjh Contributed-by: james.laskey at oracle.com ! makefiles/BuildNashorn.gmk Changeset: 927fba6785b0 Author: sundar Date: 2013-02-25 16:58 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/927fba6785b0 8008731: Separate configuration environment (options, error/output writer etc.) from Context Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeDate.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java - src/jdk/nashorn/internal/runtime/OptionsObject.java + src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/tools/Shell.java ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/parser/ParserTest.java ! test/src/jdk/nashorn/internal/test/framework/SharedContextEvaluator.java Changeset: 5610ac25d8ff Author: sundar Date: 2013-02-25 18:13 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5610ac25d8ff 8008789: Enable java access and nashorn runtime tests for jtreg Reviewed-by: lagergren, jlaskey, hannesw ! make/build.xml ! test/TEST.ROOT ! test/src/jdk/nashorn/api/javaaccess/BooleanAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/MethodAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/NumberBoxingTest.java ! test/src/jdk/nashorn/api/javaaccess/ObjectAccessTest.java ! test/src/jdk/nashorn/api/javaaccess/StringAccessTest.java ! test/src/jdk/nashorn/internal/runtime/ContextTest.java ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java + test/src/jdk/nashorn/internal/runtime/TrustedScriptEngineTest.java Changeset: 1654918e0612 Author: attila Date: 2013-02-25 16:51 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1654918e0612 8006984: Introducing local into a function inside with statement confuses its scope Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8006984.js + test/script/basic/JDK-8006984.js.EXPECTED Changeset: a90094ae5be3 Author: sundar Date: 2013-02-26 22:57 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/a90094ae5be3 8009021: nasgen should be run on boot jdk rather than currenly built jdk Reviewed-by: jlaskey ! makefiles/BuildNashorn.gmk Changeset: 1d3dca059b3e Author: alanb Date: 2013-02-27 14:12 +0000 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1d3dca059b3e 8008950: jdk8/tl failing with SetupJavaCompilation BUILD_NASGEN contains missing directory -c on Windows Reviewed-by: chegar, sundar ! makefiles/BuildNashorn.gmk Changeset: 071e859b371e Author: attila Date: 2013-02-27 15:20 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/071e859b371e 8009143: Eliminate Dynalink dependency on java.beans Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/internal/dynalink/beans/AbstractJavaLinker.java ! src/jdk/internal/dynalink/beans/BeansLinker.java Changeset: 928ea3d8faf0 Author: attila Date: 2013-02-27 15:49 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/928ea3d8faf0 8009146: Eliminate some dead code in preparation for immutable AST Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/ir/Assignment.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java Changeset: 1da9e37697f6 Author: attila Date: 2013-02-27 16:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1da9e37697f6 8009150: Previous dead code elimination was incomplete Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/ir/BinaryNode.java Changeset: 1e03be240534 Author: sundar Date: 2013-02-28 20:31 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/1e03be240534 8009229: ant makefile default target should be "test" Reviewed-by: lagergren, jlaskey ! make/build.xml Changeset: 037e1de7ab1a Author: hannesw Date: 2013-02-28 22:59 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/037e1de7ab1a 8009240: RegExpScanner code is inefficient and too complex Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java Changeset: 7e9fbe621d87 Author: sundar Date: 2013-03-01 15:58 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/7e9fbe621d87 8009263: Fix all javadoc errors in nashorn code Reviewed-by: hannesw, lagergren ! make/project.properties ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/objects/DateParser.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJava.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/regexp/joni/EncodingHelper.java Changeset: 3b222c90b7de Author: jlaskey Date: 2013-03-02 11:26 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3b222c90b7de Merge Changeset: f90810d79b57 Author: hannesw Date: 2013-03-04 11:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/f90810d79b57 8008370: coffee script compiler doesn't work with Nashorn Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8008370.js + test/script/basic/JDK-8008370.js.EXPECTED Changeset: fe5211fc3114 Author: jlaskey Date: 2013-03-04 11:01 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/fe5211fc3114 8009379: Remove $ from generated class names Reviewed-by: attila, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ECMAErrors.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java - src/jdk/nashorn/internal/scripts/JO$.java + src/jdk/nashorn/internal/scripts/JO.java - src/jdk/nashorn/internal/scripts/JS$.java + src/jdk/nashorn/internal/scripts/JS.java Changeset: 3d57f57acd9c Author: sundar Date: 2013-03-06 22:38 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/3d57f57acd9c 8009553: Object.create(Array.prototype) doesn't respect reset length Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/objects/Global.java + test/script/basic/JDK-8009553.js Changeset: 5759f600fcf7 Author: sundar Date: 2013-03-09 21:49 +0530 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/5759f600fcf7 8009559: clean up method handle lookup code. Reviewed-by: ahgross, jlaskey, attila, sundar ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! make/java.security.override ! src/jdk/internal/dynalink/beans/CheckRestrictedPackage.java - src/jdk/internal/dynalink/beans/CheckRestrictedPackageInternal.java ! src/jdk/internal/dynalink/beans/FacetIntrospector.java - src/jdk/internal/dynalink/beans/RestrictedPackageTester.java + src/jdk/internal/dynalink/beans/SafeUnreflector.java + src/jdk/internal/dynalink/beans/SafeUnreflectorImpl.java + src/jdk/internal/dynalink/beans/SandboxClassLoader.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java + src/jdk/internal/dynalink/beans/sandbox/Unreflector.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FunctionSignature.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/RuntimeCallSite.java + src/jdk/nashorn/internal/lookup/Lookup.java + src/jdk/nashorn/internal/lookup/MethodHandleFactory.java + src/jdk/nashorn/internal/lookup/MethodHandleFunctionality.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArguments.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeError.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeStrictArguments.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/objects/PrototypeObject.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/ScriptFunctionTrampolineImpl.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/GlobalFunctions.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java ! src/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java - src/jdk/nashorn/internal/runtime/linker/Lookup.java - src/jdk/nashorn/internal/runtime/linker/MethodHandleFactory.java - src/jdk/nashorn/internal/runtime/linker/MethodHandleFunctionality.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornGuards.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java + test/script/currently-failing/JDK-8006529.js - test/script/trusted/JDK-8006529.js Changeset: 053d7c55dc82 Author: katleman Date: 2013-03-21 10:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/053d7c55dc82 Added tag jdk8-b82 for changeset 5759f600fcf7 ! .hgtags From vladimir.kozlov at oracle.com Fri Mar 22 09:16:26 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 22 Mar 2013 09:16:26 -0700 Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp In-Reply-To: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> References: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> Message-ID: <514C83DA.6010201@oracle.com> Please, remove new empty lines. Vladimir On 3/20/13 1:02 AM, Niclas Adlertz wrote: > Hi all. > > Problem: > In the C2 register allocator, the define EXACT_PRESSURE is set to decide how we estimate the block pressure. There are currently two different ways on how to estimate this. However, EXACT_PRESSURE is always set to 1. This means that the code for the second choice on how to estimate block pressure is never executed, and therefore not needed. > > Solution: > Remove the define EXACT_PRESSURE and the code that is never executed; executing only the code that now executes within the ifdefs of EXACT_PRESSURE. > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8010281/webrev00/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8010281, http://bugs.sun.com/view_bug.do?bug_id= 8010281 > From rasbold at google.com Fri Mar 22 09:52:43 2013 From: rasbold at google.com (Chuck Rasbold) Date: Fri, 22 Mar 2013 09:52:43 -0700 Subject: RFR (M): guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset In-Reply-To: <514A61EE.4030600@oracle.com> References: <514A61EE.4030600@oracle.com> Message-ID: Thanks, Vladimir. I've updated the webrev so that it reflects bug number 8010437. http://cr.openjdk.java.net/~rasbold/8010437/webrev.00/ On Wed, Mar 20, 2013 at 6:27 PM, Vladimir Kozlov wrote: > Thank you, Chuck > > I created bug 8010437 and will work on the patch. > > Thanks, > Vladimir > > On 3/20/13 10:02 AM, Chuck Rasbold wrote: > >> http://cr.openjdk.java.net/~**rasbold/XXXXXXX/webrev.00/ >> >> > >> >> >> We occasionally get this guarantee failure from an older JVM (HotSpot >> 22): >> >> # Internal Error (assembler_x86.inline.hpp:46) >> # guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds >> # 8-bit offset >> >> I'm encountering a case in C2 where a branch is incorrectly >> converted to a short branch under very specific conditions. The root >> cause occurs when a call and safepoint are adjacent in >> consecutive blocks. In shorten_branches(), an off-by-one >> error exists in calculating the size of the trailing (safepoint) block >> when it >> potentially requires loop padding. >> >> This bug still exists in the current HotSpot 25, although I don't have >> a testcase that reproduces there. >> >> However, with the improved guarantee from my webrev, but without the >> actual fix, a hs25 CTW run on rt.jar fails. >> >> Can a bug be opened? Can I get an Oracle engineer to sponsor and >> review my change? >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130322/2ecbd5ba/attachment.html From roland.westrelin at oracle.com Fri Mar 22 10:29:29 2013 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Fri, 22 Mar 2013 17:29:29 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130322172936.B969A48348@hg.openjdk.java.net> Changeset: 46f6f063b272 Author: roland Date: 2013-03-21 09:27 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/46f6f063b272 7153771: array bound check elimination for c1 Summary: when possible optimize out array bound checks, inserting predicates when needed. Reviewed-by: never, kvn, twisti Contributed-by: thomaswue ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp + src/share/vm/c1/c1_RangeCheckElimination.cpp + src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/globals.hpp Changeset: a57fc14f798a Author: roland Date: 2013-03-21 22:00 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a57fc14f798a Merge From bharadwaj.yadavalli at oracle.com Fri Mar 22 13:40:52 2013 From: bharadwaj.yadavalli at oracle.com (bharadwaj.yadavalli at oracle.com) Date: Fri, 22 Mar 2013 20:40:52 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 2 new changesets Message-ID: <20130322204100.29E7A48357@hg.openjdk.java.net> Changeset: e370f63dc5b1 Author: bharadwaj Date: 2013-03-22 07:58 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e370f63dc5b1 8009539: JVM crash when run lambda testng tests Summary: Ensure class pointer is non-null before dereferencing it to check if it is loaded. Reviewed-by: kvn ! src/share/vm/opto/parse2.cpp Changeset: 360ce06580b8 Author: bharadwaj Date: 2013-03-22 13:35 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/360ce06580b8 Merge From morris.meyer at oracle.com Sat Mar 23 08:59:49 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Sat, 23 Mar 2013 15:59:49 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp Message-ID: <20130323155954.0934F48375@hg.openjdk.java.net> Changeset: 3c786355ffb4 Author: morris Date: 2013-03-23 06:22 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3c786355ffb4 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp Summary: add guarantee() to nmethod constructor and checks to ensure CodeCache has space before allocation Reviewed-by: kvn ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp From morris.meyer at oracle.com Sun Mar 24 15:23:47 2013 From: morris.meyer at oracle.com (morris.meyer at oracle.com) Date: Sun, 24 Mar 2013 22:23:47 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 27 new changesets Message-ID: <20130324222441.7944348394@hg.openjdk.java.net> Changeset: 39432a1cefdd Author: minqi Date: 2013-03-14 00:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/39432a1cefdd 8003348: SA can not read core file on OS Summary: Macosx uses Mach-O file format for binary files, not ELF format. Currently SA works on core files on other platforms, t his change enables SA work on core file generated on Darwin. Reviewed-by: sla, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/os/bsd/Makefile ! agent/src/os/bsd/libproc.h ! agent/src/os/bsd/libproc_impl.c ! agent/src/os/bsd/libproc_impl.h ! agent/src/os/bsd/ps_core.c ! agent/src/os/bsd/symtab.c ! agent/src/os/bsd/symtab.h ! agent/src/share/classes/sun/jvm/hotspot/BsdVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ! agent/src/share/native/sadis.c ! make/bsd/makefiles/saproc.make Changeset: 1fc4d4768b90 Author: coleenp Date: 2013-03-15 17:24 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1fc4d4768b90 8007725: NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL) Summary: Check for exception during SystemDictionary::resolve_instance_class_or_null() and clean up. Reviewed-by: coleenp, acorn, hseigel, minqi Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp Changeset: 82f49e8e2c28 Author: zgu Date: 2013-03-15 11:53 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/82f49e8e2c28 8009614: nsk/split_verifier/stress/ifelse/ifelse002_30 fails with 'assert((size & (granularity - 1)) == 0) failed: size not aligned to os::vm_allocation_granularity() Summary: Align up vm allocation size to os defined granularity Reviewed-by: dholmes, coleenp ! src/share/vm/memory/metaspace.cpp Changeset: 919a5f9f36a9 Author: zgu Date: 2013-03-15 17:12 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/919a5f9f36a9 Merge Changeset: 82ab039b9680 Author: dcubed Date: 2013-03-17 08:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/82ab039b9680 Merge ! src/share/vm/memory/metaspace.cpp Changeset: 117bb0519114 Author: sla Date: 2013-03-19 13:41 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/117bb0519114 8009456: SA: typeToVtbl of BasicTypeDataBase should not be static Reviewed-by: coleenp, sla Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Changeset: 686916dc0439 Author: sla Date: 2013-03-19 13:44 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/686916dc0439 8009457: SA: A small fix on "scanoops" command in CLHSDB Reviewed-by: sla, coleenp, kmo Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Changeset: 3536ea6bc4df Author: morris Date: 2013-03-21 21:48 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3536ea6bc4df Merge - make/test/Queens.java Changeset: 79af1312fc2c Author: mgerdin Date: 2013-03-14 10:54 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/79af1312fc2c 8005602: NPG: classunloading does not happen while CMS GC with -XX:+CMSClassUnloadingEnabled is used Summary: Call purge() on CLDG after sweep(), reorder purge() call in GenCollectedHeap Reviewed-by: jmasa, stefank ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/metaspace.cpp Changeset: 3c226052f7dc Author: tschatzl Date: 2013-03-14 09:37 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3c226052f7dc 6733980: par compact - TraceGen1Time always shows 0.0000 seconds Summary: Use the correct collector to retrieve accumulated gen1 trace time Reviewed-by: johnc, jmasa ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Changeset: 19f9fabd94cc Author: stefank Date: 2013-03-18 09:34 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/19f9fabd94cc Merge ! src/share/vm/memory/metaspace.cpp Changeset: fa08949fe0cb Author: johnc Date: 2013-03-18 11:05 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/fa08949fe0cb 8009536: G1: Apache Lucene hang during reference processing Summary: In CMTask::do_marking_step(), Skip offering termination and entering the first and second synchronization barriers if called from a serial context, i.e. the VM thread. Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: e864cc14ca75 Author: johnc Date: 2013-03-19 00:57 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e864cc14ca75 8009940: G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809 Summary: Skip reference processing if the global marking stack overflows during remark. Refactor and rename set_phase(); move code that sets the concurrency level into its own routine. Do not call set_phase() from within parallel reference processing; use the concurrency level routine instead. The marking state should only set reset by CMTask[0] during the concurrent phase of the marking cycle; if an overflow occurs at any stage during the remark, the marking state will be reset after reference processing. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 1179172e9ec9 Author: johnc Date: 2013-03-19 09:38 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1179172e9ec9 8008301: G1: guarantee(satb_mq_set.completed_buffers_num() == 0) failure Summary: If the marking stack overflows while the marking tasks are draining the SATB buffers, remark will exit with some SATB buffers left unprocessed. Relax the guarantee to allow for overflow. Reviewed-by: jmasa, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 7f0cb32dd233 Author: mgerdin Date: 2013-03-21 09:07 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7f0cb32dd233 8004241: NPG: Metaspace occupies more memory than specified by -XX:MaxMetaspaceSize option Summary: Enforce MaxMetaspaceSize for both metaspace parts, check MaxMetaspaceSize against "reserved", not "capacity" Reviewed-by: jmasa, johnc ! src/share/vm/memory/metaspace.cpp Changeset: 47902e9acb3a Author: stefank Date: 2013-03-22 10:32 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/47902e9acb3a Merge ! src/share/vm/memory/metaspace.cpp Changeset: 5855e849c7e6 Author: stefank Date: 2013-03-22 12:32 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/5855e849c7e6 Merge Changeset: 499ccc15bbc8 Author: bpittore Date: 2013-03-15 15:20 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/499ccc15bbc8 8005716: Enhance JNI specification to allow support of static JNI libraries in Embedded JREs Reviewed-by: dlong, alanb, mduigou ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jni.h ! src/share/vm/runtime/thread.cpp Changeset: 9e62e72c59cc Author: bobv Date: 2013-03-17 06:30 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9e62e72c59cc Merge Changeset: 3be6a41ad358 Author: dholmes Date: 2013-03-18 19:34 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/3be6a41ad358 8008783: Modifications needed to JPRT to allow for building hard float abi and new bundle changes Reviewed-by: twisti, collins, bobv, jwilhelm ! make/jprt.properties Changeset: 804663118c1f Author: jprovino Date: 2013-03-22 10:09 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/804663118c1f Merge Changeset: aca25026e2a4 Author: vladidan Date: 2013-03-22 17:23 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/aca25026e2a4 Merge Changeset: 4f7380dca47e Author: katleman Date: 2013-03-21 10:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/4f7380dca47e Added tag jdk8-b82 for changeset 3db4ab0e12f4 ! .hgtags Changeset: e3a41fc02348 Author: amurillo Date: 2013-03-23 01:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e3a41fc02348 Merge - make/test/Queens.java Changeset: 1c8db54ee9f3 Author: amurillo Date: 2013-03-23 01:47 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1c8db54ee9f3 Added tag hs25-b24 for changeset e3a41fc02348 ! .hgtags Changeset: 59a41e1357ab Author: amurillo Date: 2013-03-23 10:06 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/59a41e1357ab 8010498: new hotspot build - hs25-b25 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 818a1ac7da7a Author: morris Date: 2013-03-24 12:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/818a1ac7da7a Merge From niclas.adlertz at oracle.com Mon Mar 25 02:59:57 2013 From: niclas.adlertz at oracle.com (Niclas Adlertz) Date: Mon, 25 Mar 2013 10:59:57 +0100 Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp In-Reply-To: <514C83DA.6010201@oracle.com> References: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> <514C83DA.6010201@oracle.com> Message-ID: Thank you Vladimir, the new empty lines are now removed. http://cr.openjdk.java.net/~neliasso/8010281/webrev03 Regards, Niclas Adlertz On 22 mar 2013, at 17:16, Vladimir Kozlov wrote: > Please, remove new empty lines. > > Vladimir > > On 3/20/13 1:02 AM, Niclas Adlertz wrote: >> Hi all. >> >> Problem: >> In the C2 register allocator, the define EXACT_PRESSURE is set to decide how we estimate the block pressure. There are currently two different ways on how to estimate this. However, EXACT_PRESSURE is always set to 1. This means that the code for the second choice on how to estimate block pressure is never executed, and therefore not needed. >> >> Solution: >> Remove the define EXACT_PRESSURE and the code that is never executed; executing only the code that now executes within the ifdefs of EXACT_PRESSURE. >> >> A review would be much appreciated. >> Thank you. >> >> Regards, >> Niclas Adlertz >> >> --------------------- >> >> WEBREV: http://cr.openjdk.java.net/~neliasso/8010281/webrev00/ >> BUG: https://jbs.oracle.com/bugs/browse/JDK-8010281, http://bugs.sun.com/view_bug.do?bug_id= 8010281 >> From vladimir.kozlov at oracle.com Mon Mar 25 09:00:42 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 25 Mar 2013 09:00:42 -0700 Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp In-Reply-To: References: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> <514C83DA.6010201@oracle.com> Message-ID: <515074AA.8010301@oracle.com> Looks good. Thanks, Vladimir On 3/25/13 2:59 AM, Niclas Adlertz wrote: > Thank you Vladimir, the new empty lines are now removed. > > http://cr.openjdk.java.net/~neliasso/8010281/webrev03 > > Regards, > Niclas Adlertz > > > On 22 mar 2013, at 17:16, Vladimir Kozlov wrote: > >> Please, remove new empty lines. >> >> Vladimir >> >> On 3/20/13 1:02 AM, Niclas Adlertz wrote: >>> Hi all. >>> >>> Problem: >>> In the C2 register allocator, the define EXACT_PRESSURE is set to decide how we estimate the block pressure. There are currently two different ways on how to estimate this. However, EXACT_PRESSURE is always set to 1. This means that the code for the second choice on how to estimate block pressure is never executed, and therefore not needed. >>> >>> Solution: >>> Remove the define EXACT_PRESSURE and the code that is never executed; executing only the code that now executes within the ifdefs of EXACT_PRESSURE. >>> >>> A review would be much appreciated. >>> Thank you. >>> >>> Regards, >>> Niclas Adlertz >>> >>> --------------------- >>> >>> WEBREV: http://cr.openjdk.java.net/~neliasso/8010281/webrev00/ >>> BUG: https://jbs.oracle.com/bugs/browse/JDK-8010281, http://bugs.sun.com/view_bug.do?bug_id= 8010281 >>> > From roland.westrelin at oracle.com Mon Mar 25 09:09:37 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Mon, 25 Mar 2013 17:09:37 +0100 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 In-Reply-To: References: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> Message-ID: <4CA94106-1D2A-4DF2-814E-DF2F7A190B60@oracle.com> Hi Christian, Thanks for taking a look at this. > cpu/sparc/vm/templateInterpreter_sparc.cpp > 502: //6815692//Method::extra_stack_words() + // extra push slots for MH adapters > 1553: //6815692//+ Method::extra_stack_words() > > Especially the second one in templateInterpreter_sparc.cpp. The second one is misleading because size_activation_helper() is passed Method::max_stack() which accounted for the extra stack slot for the appendix before my change (and still does). Other commented Method::extra_stack_words() are not needed either so I'll remove them. Roland. From christian.thalinger at oracle.com Mon Mar 25 15:28:32 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 25 Mar 2013 15:28:32 -0700 Subject: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] In-Reply-To: <4295855A5C1DE049A61835A1887419CC0CFA7D32@DEWDFEMB12A.global.corp.sap> References: <4295855A5C1DE049A61835A1887419CC0CFA7D32@DEWDFEMB12A.global.corp.sap> Message-ID: <03C4DFDE-CD52-446E-92AA-A6F12903FE29@oracle.com> On Mar 4, 2013, at 8:34 AM, "Lindenmaier, Goetz" wrote: > Hi Chris, > > I would like to take up this issue again. > I'm about to put our changes on the jdk8 branch, and it would be convenient > to have a final solution for this. > > Should I prepare a webrev with a different solution adding a new file > for this? What should go into that file? Sorry for answering that late. Yes, to see a patch for that would be good. We need to put all platform dependent Compiled* methods in that new file. Platform dependent means every method that uses a native* method from nativeInst_: CompiledIC::cleanup_call_site CompiledIC::is_icholder_call_site CompiledIC::CompiledIC CompiledStaticCall::set_to_interpreted CompiledStaticCall::set_stub_to_clean CompiledStaticCall::verify -- Chris > > Best regards, > Goetz. > > > > -----Original Message----- > From: goetz.lindenmaier at sap.com > Sent: Dienstag, 18. Dezember 2012 10:42 > To: 'Christian Thalinger' > Subject: RE: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] > > Hi Chris, > > What would you put into that file? The offset, or the class CompiledStaticCall? > You could also put it into nativeInst_ to avoid adding another file. > > But basically I think the offset is the best solution, because it's very small > and straight forward, and the offset is set where the code is generated > that defines the offset. > > Only the #ifndef COMPILER2 is ugly, but here I think the solution is to > guard the whole class CompiledStaticCall with #ifdef COMPILER2. > > But I'm happy with any placement of the code. > > Best regards, > Goetz. > > > > -----Original Message----- > From: Christian Thalinger [mailto:christian.thalinger at oracle.com] > Sent: Montag, 17. Dezember 2012 21:34 > To: Lindenmaier, Goetz > Cc: 'hotspot-compiler-dev at openjdk.java.net' > Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] > > > On Nov 29, 2012, at 2:10 PM, "Lindenmaier, Goetz" wrote: > >> Hi Chris, >> >> Loading the constant takes 5 instructions, the other way only three, >> in the code only one, if the constant pool base is in a register. >> The 5 instructions are hard to patch atomically. The constant pool >> is just a 64 bit store. >> >>> Sorry for being so persistent on this :-) >> That's ok, I already found several places in our VM where it was easy to >> change our code to get along without the shared changes we did in >> first place. But I can't redesign everything, and I can not risk to break >> anything in our product. >> >> If you feel like doing so, you can have a look at >> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/600ce596eea9 >> which contains our bytecode interpreter profiling implementation. >> If you think this is currently of use in the main branch, I would lift it to HS25 >> (the permgen changes might cause trouble) and contribute it to hsx. > > Sorry for the long delay. > > Thinking about this problem again it seems that the correct solution would be to have a compiledIC_.cpp file. > > The CompiledIC instruction layout is platform dependent; it just happens to be the same for all architectures we have right now (well, except PPC) because we made it to be the same. Actually on SPARC we could also use a load from the constant table which would be simpler. > > Having a platform dependent file for this code feels right. What do you think? > > -- Chris > >> >> Best regards, >> Goetz. >> >> -----Original Message----- >> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >> Sent: Thursday, November 29, 2012 7:53 PM >> To: Lindenmaier, Goetz >> Cc: hotspot-compiler-dev at openjdk.java.net >> Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >> >> >> On Nov 29, 2012, at 12:27 AM, "Lindenmaier, Goetz" wrote: >> >>> Hi Chris, >>> >>>> Why can't you point the relocation to the method load instruction? It doesn't seem right to do that in shared code. >>> Because the relocation is used >>> 1.) to find the beginning of the stub to patch the call to go there >>> 2.) to find the load to patch the IC. >> >> Got it. >> >>> >>> Just have a look at CompiledStaticCall::set_to_interpreted(), >>> the variable 'stub' is used twice. >> >> Sorry for being so persistent on this :-) What is the reason you have to load the constant from the constant table? On other architectures we materialize the constant. >> >> -- Chris >> >>> >>> Best regards, >>> Goetz. >>> >>> -----Original Message----- >>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>> Sent: Donnerstag, 29. November 2012 01:35 >>> To: Lindenmaier, Goetz >>> Cc: hotspot-compiler-dev at openjdk.java.net >>> Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >>> >>> >>> On Nov 27, 2012, at 4:24 AM, "Lindenmaier, Goetz" wrote: >>> >>>> Hi Chris, >>>> >>>>> Why do you need all these shared code changes when you have this in emit_java_to_interp_stub? >>>> Shared code (class CompiledStaticCall) wants to patch the inline cache >>>> in the stub which is emitted in platform code. >>>> So the platform code should specify how the shared code can find the inline cache >>>> in the stub, which it does through the constant I introduced. >>>> >>>>> Do you need two relocations? I'm confused. >>>> No, three ;) >>>> The relocation you mention is used to find the stub given the call. >>>> The other relocations are needed to find the inline cache / call target >>>> once the stub is found (see CompiledStaticCall::set_to_interpreted()). >>>> It's just the same on x86_64: >>>> >>>> // static stub relocation stores the instruction address of the call >>>> __ relocate(static_stub_Relocation::spec(mark), RELOC_IMM64); >>>> // static stub relocation also tags the methodOop in the code-stream. >>>> __ movoop(rbx, (jobject) NULL); // method is zapped till fixup time >>>> // This is recognized as unresolved by relocs/nativeinst/ic code >>>> __ jump(RuntimeAddress(__ pc())); >>>> >>>> On PPC, we have to load the base of the constant table after generating the >>>> static_stub_relocation and before emitting the ppc equivalent for moveoop(). This offset is >>>> exactly what we store in the CompiledStaticCall::comp_to_int_load_offset constant. >>> >>> Why can't you point the relocation to the method load instruction? It doesn't seem right to do that in shared code. >>> >>> -- Chris >>> >>>> >>>> Best regards, >>>> Goetz. >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>> Sent: Dienstag, 27. November 2012 01:53 >>>> To: Lindenmaier, Goetz >>>> Cc: hotspot-compiler-dev at openjdk.java.net >>>> Subject: Re: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >>>> >>>> >>>> On Nov 22, 2012, at 8:51 AM, "Lindenmaier, Goetz" wrote: >>>> >>>>> Hi Chris, >>>>> >>>>> We put it into the ad file because it describes an offset into the stub that is >>>>> generated from the ad file by emit_java_to_interp(CodeBuffer& cbuf), >>>>> used by ir node CallStaticJavaDirect. Maybe I should not call it stub, but it's >>>>> generated into the stubs section of the code buffer. >>>>> If that stub generator is moved out of the ad file to shared compiler code, one should >>>>> move the field with it, but for the current implementation I think that's fine. >>>>> >>>>> Does C1 generate the same stub? Or is the CompiledStaticCall a C2 feature? >>>>> If so, one could protect the whole thing by #ifdef COMPILER2. >>>> >>>> Why do you need all these shared code changes when you have this in emit_java_to_interp_stub? >>>> >>>> // Create a static stub relocation which relates this stub >>>> // with the call instruction at insts_call_instruction_offset in the >>>> // instructions code-section. >>>> __ relocate(static_stub_Relocation::spec(__ code()->insts()->start() + insts_relocation_offset)); >>>> >>>> Do you need two relocations? I'm confused. >>>> >>>> -- Chris >>>> >>>>> >>>>> Thanks for all the bugids! >>>>> >>>>> Best regards, >>>>> Goetz. >>>>> >>>>> -----Original Message----- >>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>> Sent: Mittwoch, 21. November 2012 19:53 >>>>> To: Lindenmaier, Goetz >>>>> Cc: hotspot-compiler-dev at openjdk.java.net >>>>> Subject: RFR (S): 8003853: specify offset of IC load in java_to_interp stub [Was: Re: RFR (S): Specify offset of IC load in java_to_interp stub.] >>>>> >>>>> >>>>> On Nov 21, 2012, at 12:15 AM, "Lindenmaier, Goetz" wrote: >>>>> >>>>>> Hi Chris, >>>>>> >>>>>> yes, there is no C1 on ppc. >>>>>> We do tiered compilation with a stripped C2. >>>>> >>>>> Right. But some other architecture (or in the future) might need this for C1 as well. We should find a better place for the value than the ad file. The obvious place would be compiledIC_.hpp but we don't have that file, yet. >>>>> >>>>> I filed: >>>>> >>>>> 8003853: specify offset of IC load in java_to_interp stub >>>>> >>>>> -- Chris >>>>> >>>>>> >>>>>> Best regards, >>>>>> Goetz >>>>>> >>>>>> -----Original Message----- >>>>>> From: Christian Thalinger [mailto:christian.thalinger at oracle.com] >>>>>> Sent: Dienstag, 20. November 2012 22:19 >>>>>> To: Lindenmaier, Goetz >>>>>> Cc: hotspot-compiler-dev at openjdk.java.net >>>>>> Subject: Re: RFR (S): Specify offset of IC load in java_to_interp stub. >>>>>> >>>>>> >>>>>> On Nov 20, 2012, at 3:08 AM, "Lindenmaier, Goetz" wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> The class CompiledStaticCall must know the location of the IC load in the java_to_interp stub >>>>>>> to update the IC with NativeMovConstReg. The current implementation assumes that >>>>>>> the load is always the first instruction in the stub. This is an artificial restriction. E.g., >>>>>>> it might be useful to load the constant pool address (MachConstantBase) before the >>>>>>> IC load (as we do on PPC). >>>>>>> >>>>>>> This change adds a constant specifying an offset from the beginning of the stub to >>>>>>> the IC load. The offset is platform specific and 0 on sparc and x86. >>>>>>> >>>>>>> You can find the change here: >>>>>>> http://cr.openjdk.java.net/~goetz/webrevs/webrev-IC_offset/ >>>>>> >>>>>> That should be fixed indeed. >>>>>> >>>>>> +#ifndef COMPILER2 >>>>>> +const int CompiledStaticCall::comp_to_int_load_offset = 0; >>>>>> >>>>>> There is no C1 for PPC (sorry, I didn't check)? >>>>>> >>>>>> -- Chris >>>>>> >>>>>>> >>>>>>> or in our ppc port: >>>>>>> http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot/rev/c6f9c897ea33 >>>>>>> >>>>>>> Thank you and best regards, >>>>>>> Goetz >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > From vladimir.kozlov at oracle.com Mon Mar 25 17:25:01 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 25 Mar 2013 17:25:01 -0700 Subject: RFR (M): 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address? In-Reply-To: <51475D98.7060108@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> Message-ID: <5150EADD.2050707@oracle.com> http://cr.openjdk.java.net/~kvn/8004640/webrev/ IdealKit does not call transform() for raw address when generates post barrier code and C2 type system does not accept such type. AddPNode::Ideal() should be called to transform raw (NULL+offs) to CastX2P(offs). We got NULL as base because cardmark byte_map_base is 0x0 which is valid value. IdealKit delays transformations to avoid graph collapsing before it is finished. But delaying logic is broken because during Parse phase PhaseGVN::transform() does not replace old node with new transformed one. Fix: always transform AddP nodes in IdealKit by calling _gvn.transform(). Clean delaying logic only to register new nodes for igvn and don't do useless delayed transformations. Also remove is_IterGVN() checks since IdealKit works only during Parse phase. An other possible cause of the failure is to get dead nodes on IGVN _worklist. I looked on recent changes and did some modifications. In PhaseIdealLoop::build_and_optimize() moved dead nodes cleanup back after build_loop_late(). Used replace_edge(in, NULL) in remove_globally_dead_node() to cut all edges pointed to dead node and did other rearrangements in that method. Tested with compiler jtreg, ctw, jprt. Did additional testing with GraphKit::byte_map_base_node() always returning null() with -XX:+OptoNoExecute. Thanks, Vladimir From christian.thalinger at oracle.com Mon Mar 25 21:36:05 2013 From: christian.thalinger at oracle.com (christian.thalinger at oracle.com) Date: Tue, 26 Mar 2013 04:36:05 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 7198429: need checked categorization of caller-sensitive methods in the JDK Message-ID: <20130326043611.329B6483C8@hg.openjdk.java.net> Changeset: 16885e702c88 Author: twisti Date: 2013-03-25 17:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/16885e702c88 7198429: need checked categorization of caller-sensitive methods in the JDK Reviewed-by: kvn, jrose ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp From roland.westrelin at oracle.com Tue Mar 26 02:35:17 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Tue, 26 Mar 2013 10:35:17 +0100 Subject: RFR (M): 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address? In-Reply-To: <5150EADD.2050707@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <5150EADD.2050707@oracle.com> Message-ID: <0D566915-7187-43BC-8245-7DA9B0FA0CDE@oracle.com> > http://cr.openjdk.java.net/~kvn/8004640/webrev/ It looks good to me. Roland. From nils.eliasson at oracle.com Tue Mar 26 03:45:42 2013 From: nils.eliasson at oracle.com (Nils Eliasson) Date: Tue, 26 Mar 2013 11:45:42 +0100 Subject: RFR(S) 8010281: Remove code that never execute in opto/ifg.cpp In-Reply-To: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> References: <8DAC16C0-8321-49C2-B636-01174E245A8E@oracle.com> Message-ID: <51517C56.2080906@oracle.com> I am sponsoring this change. //Nils Eliasson On 2013-03-20 09:02, Niclas Adlertz wrote: > Hi all. > > Problem: > In the C2 register allocator, the define EXACT_PRESSURE is set to decide how we estimate the block pressure. There are currently two different ways on how to estimate this. However, EXACT_PRESSURE is always set to 1. This means that the code for the second choice on how to estimate block pressure is never executed, and therefore not needed. > > Solution: > Remove the define EXACT_PRESSURE and the code that is never executed; executing only the code that now executes within the ifdefs of EXACT_PRESSURE. > > A review would be much appreciated. > Thank you. > > Regards, > Niclas Adlertz > > --------------------- > > WEBREV: http://cr.openjdk.java.net/~neliasso/8010281/webrev00/ > BUG: https://jbs.oracle.com/bugs/browse/JDK-8010281, http://bugs.sun.com/view_bug.do?bug_id= 8010281 From nils.eliasson at oracle.com Tue Mar 26 04:49:50 2013 From: nils.eliasson at oracle.com (nils.eliasson at oracle.com) Date: Tue, 26 Mar 2013 11:49:50 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010281: Remove code that is never executed Message-ID: <20130326114953.EC18E483D0@hg.openjdk.java.net> Changeset: b808febcad9a Author: neliasso Date: 2013-03-26 10:05 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b808febcad9a 8010281: Remove code that is never executed Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/opto/ifg.cpp From vladimir.kozlov at oracle.com Tue Mar 26 08:38:59 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 26 Mar 2013 08:38:59 -0700 Subject: RFR (M): 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address? In-Reply-To: <0D566915-7187-43BC-8245-7DA9B0FA0CDE@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <5150EADD.2050707@oracle.com> <0D566915-7187-43BC-8245-7DA9B0FA0CDE@oracle.com> Message-ID: <5151C113.60200@oracle.com> Thank you, Roland Vladimir On 3/26/13 2:35 AM, Roland Westrelin wrote: >> http://cr.openjdk.java.net/~kvn/8004640/webrev/ > > It looks good to me. > > Roland. > From christian.thalinger at oracle.com Tue Mar 26 11:34:46 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 26 Mar 2013 11:34:46 -0700 Subject: AVX 256 instructions in JDK7? In-Reply-To: References: Message-ID: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> [That question should go to hotspot-compiler-dev. BCC'ed hotspot-runtime-dev.] On Mar 26, 2013, at 8:20 AM, Ond?ej Perutka wrote: > Hello, > I've got a question related to my project. It is Java wrapper for Libav libraries and I have some performance issues with it. > > If I compile the libraries with AVX instructions enabled the whole testing application uses approximately 130% of CPU time in comparison to the same libraries with AVX disabled. The problem is definitely in "bad" transitions between SSE and AVX instructions. These transitions are costly in case the upper part of YMM registers is not zeroed using VZEROUPPER or VZEROALL instruction before using SSE. More details at http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). > > There is no problem with those libraries, if they are not used from Java. I used Intel's Software Developer Emulator to find those bad AVX <-> SSE transitions and I found thousands of them. The origin of almost all bad transitions from AVX -> SSE (I mean the code that uses AVX 256 instructions and does not call VZEROUPPER) is somewhere inside anonymous memory blocks (according to Intel's SDE and pmem). > > Libav mixes SSE and AVX 128 instructions a lot. It cannot cause any trouble if the upper part of YMM registers is zeroed. But in case it is not zeroed it would oscillate between B and C states (according to the Agner's terminology). Both of these transitions costs quite a lot of CPU cycles. > > So here is my question: Is it possible that JIT compiler compiles some bytecode into native instructions, uses some AVX 256 instrucitons, does not use VZEROUPPER and puts the result into some anonymous memory block? > > Ondrej Perutka -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130326/dcad44c4/attachment.html From christian.thalinger at oracle.com Tue Mar 26 11:49:24 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 26 Mar 2013 11:49:24 -0700 Subject: RFR (M): 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address? In-Reply-To: <5150EADD.2050707@oracle.com> References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <5150EADD.2050707@oracle.com> Message-ID: src/share/vm/opto/phaseX.cpp: - // Remove from iterative worklist - _worklist.remove(dead); I don't understand this change. Before we removed all dead nodes from the stack: 1160 while (_stack.is_nonempty()) { But now we remove only the last one? Are all nodes on the stack in one sub-graph? -- Chris On Mar 25, 2013, at 5:25 PM, Vladimir Kozlov wrote: > http://cr.openjdk.java.net/~kvn/8004640/webrev/ > > IdealKit does not call transform() for raw address when generates post barrier code and C2 type system does not accept such type. AddPNode::Ideal() should be called to transform raw (NULL+offs) to CastX2P(offs). We got NULL as base because cardmark byte_map_base is 0x0 which is valid value. > > IdealKit delays transformations to avoid graph collapsing before it is finished. But delaying logic is broken because during Parse phase PhaseGVN::transform() does not replace old node with new transformed one. > > Fix: always transform AddP nodes in IdealKit by calling _gvn.transform(). > > Clean delaying logic only to register new nodes for igvn and don't do useless delayed transformations. Also remove is_IterGVN() checks since IdealKit works only during Parse phase. > > An other possible cause of the failure is to get dead nodes on IGVN _worklist. I looked on recent changes and did some modifications. In PhaseIdealLoop::build_and_optimize() moved dead nodes cleanup back after build_loop_late(). Used replace_edge(in, NULL) in remove_globally_dead_node() to cut all edges pointed to dead node and did other rearrangements in that method. > > Tested with compiler jtreg, ctw, jprt. Did additional testing with GraphKit::byte_map_base_node() always returning null() with -XX:+OptoNoExecute. > > Thanks, > Vladimir From vladimir.kozlov at oracle.com Tue Mar 26 12:33:17 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 26 Mar 2013 12:33:17 -0700 Subject: AVX 256 instructions in JDK7? In-Reply-To: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> References: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> Message-ID: <5151F7FD.8000007@oracle.com> Hi Ondrej we need more context from you. First, what java version you are experimented with? Currently AVX wide vectors usage is only available in EA jdk8. In 7u4 was added only usage of VEX prefix. The "anonymous memory" is most likely our CodeCache where JIT places compiled native code. Could you clarify your statement?: >> The origin of almost all bad transitions from AVX -> SSE (I mean the code that uses >> AVX 256 instructions and does not call VZEROUPPER) is somewhere inside >> anonymous memory blocks (according to Intel's SDE and pmem). Do you have call stacks? Does the problem happened only in this code or during calls into Libav? >> to the same libraries with AVX disabled. The problem is definitely in >> "bad" transitions between SSE and AVX instructions. These transitions >> are costly in case the upper part of YMM registers is not zeroed using >> VZEROUPPER or VZEROALL instruction before using SSE. More details at >> http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). As I understand, it is only problem if you mix SSE and AVX instructions in the same loop. Our JIT should not do that. It generates only AVX instructions (with VEX prefix) if AVX is available. Regards, Vladimir On 3/26/13 11:34 AM, Christian Thalinger wrote: > [That question should go to hotspot-compiler-dev. BCC'ed > hotspot-runtime-dev.] > > On Mar 26, 2013, at 8:20 AM, Ond?ej Perutka > wrote: > >> Hello, >> I've got a question related to my project. It is Java wrapper for >> Libav libraries and I have some performance issues with it. >> >> If I compile the libraries with AVX instructions enabled the whole >> testing application uses approximately 130% of CPU time in comparison >> to the same libraries with AVX disabled. The problem is definitely in >> "bad" transitions between SSE and AVX instructions. These transitions >> are costly in case the upper part of YMM registers is not zeroed using >> VZEROUPPER or VZEROALL instruction before using SSE. More details at >> http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). >> >> There is no problem with those libraries, if they are not used from >> Java. I used Intel's Software Developer Emulator to find those bad AVX >> <-> SSE transitions and I found thousands of them. The origin of >> almost all bad transitions from AVX -> SSE (I mean the code that uses >> AVX 256 instructions and does not call VZEROUPPER) is somewhere inside >> anonymous memory blocks (according to Intel's SDE and pmem). >> >> Libav mixes SSE and AVX 128 instructions a lot. It cannot cause any >> trouble if the upper part of YMM registers is zeroed. But in case it >> is not zeroed it would oscillate between B and C states (according to >> the Agner's terminology). Both of these transitions costs quite a lot >> of CPU cycles. >> >> So here is my question: Is it possible that JIT compiler compiles some >> bytecode into native instructions, uses some AVX 256 instrucitons, >> does not use VZEROUPPER and puts the result into some anonymous memory >> block? >> >> Ondrej Perutka > From christian.thalinger at oracle.com Tue Mar 26 12:41:25 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 26 Mar 2013 12:41:25 -0700 Subject: RFR (M): 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address? In-Reply-To: References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <5150EADD.2050707@oracle.com> Message-ID: On Mar 26, 2013, at 11:49 AM, Christian Thalinger wrote: > src/share/vm/opto/phaseX.cpp: > > - // Remove from iterative worklist > - _worklist.remove(dead); > > I don't understand this change. Before we removed all dead nodes from the stack: > > 1160 while (_stack.is_nonempty()) { > > But now we remove only the last one? Are all nodes on the stack in one sub-graph? Sorry, I was confused by all the braces and indenting and didn't see that the logic at the end of the diff is inside the while. Looks good. -- Chris > > -- Chris > > On Mar 25, 2013, at 5:25 PM, Vladimir Kozlov wrote: > >> http://cr.openjdk.java.net/~kvn/8004640/webrev/ >> >> IdealKit does not call transform() for raw address when generates post barrier code and C2 type system does not accept such type. AddPNode::Ideal() should be called to transform raw (NULL+offs) to CastX2P(offs). We got NULL as base because cardmark byte_map_base is 0x0 which is valid value. >> >> IdealKit delays transformations to avoid graph collapsing before it is finished. But delaying logic is broken because during Parse phase PhaseGVN::transform() does not replace old node with new transformed one. >> >> Fix: always transform AddP nodes in IdealKit by calling _gvn.transform(). >> >> Clean delaying logic only to register new nodes for igvn and don't do useless delayed transformations. Also remove is_IterGVN() checks since IdealKit works only during Parse phase. >> >> An other possible cause of the failure is to get dead nodes on IGVN _worklist. I looked on recent changes and did some modifications. In PhaseIdealLoop::build_and_optimize() moved dead nodes cleanup back after build_loop_late(). Used replace_edge(in, NULL) in remove_globally_dead_node() to cut all edges pointed to dead node and did other rearrangements in that method. >> >> Tested with compiler jtreg, ctw, jprt. Did additional testing with GraphKit::byte_map_base_node() always returning null() with -XX:+OptoNoExecute. >> >> Thanks, >> Vladimir > From vladimir.kozlov at oracle.com Tue Mar 26 12:47:13 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Tue, 26 Mar 2013 12:47:13 -0700 Subject: RFR (M): 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address? In-Reply-To: References: <51368873.6040007@oracle.com> <51475D98.7060108@oracle.com> <5150EADD.2050707@oracle.com> Message-ID: <5151FB41.5040408@oracle.com> Thank you, Christian I will add comment to the closing } // while (_stack.is_nonempty()) to avoid confusion in a future. Thanks, Vladimir On 3/26/13 12:41 PM, Christian Thalinger wrote: > > On Mar 26, 2013, at 11:49 AM, Christian Thalinger wrote: > >> src/share/vm/opto/phaseX.cpp: >> >> - // Remove from iterative worklist >> - _worklist.remove(dead); >> >> I don't understand this change. Before we removed all dead nodes from the stack: >> >> 1160 while (_stack.is_nonempty()) { >> >> But now we remove only the last one? Are all nodes on the stack in one sub-graph? > > Sorry, I was confused by all the braces and indenting and didn't see that the logic at the end of the diff is inside the while. > > Looks good. > > -- Chris > >> >> -- Chris >> >> On Mar 25, 2013, at 5:25 PM, Vladimir Kozlov wrote: >> >>> http://cr.openjdk.java.net/~kvn/8004640/webrev/ >>> >>> IdealKit does not call transform() for raw address when generates post barrier code and C2 type system does not accept such type. AddPNode::Ideal() should be called to transform raw (NULL+offs) to CastX2P(offs). We got NULL as base because cardmark byte_map_base is 0x0 which is valid value. >>> >>> IdealKit delays transformations to avoid graph collapsing before it is finished. But delaying logic is broken because during Parse phase PhaseGVN::transform() does not replace old node with new transformed one. >>> >>> Fix: always transform AddP nodes in IdealKit by calling _gvn.transform(). >>> >>> Clean delaying logic only to register new nodes for igvn and don't do useless delayed transformations. Also remove is_IterGVN() checks since IdealKit works only during Parse phase. >>> >>> An other possible cause of the failure is to get dead nodes on IGVN _worklist. I looked on recent changes and did some modifications. In PhaseIdealLoop::build_and_optimize() moved dead nodes cleanup back after build_loop_late(). Used replace_edge(in, NULL) in remove_globally_dead_node() to cut all edges pointed to dead node and did other rearrangements in that method. >>> >>> Tested with compiler jtreg, ctw, jprt. Did additional testing with GraphKit::byte_map_base_node() always returning null() with -XX:+OptoNoExecute. >>> >>> Thanks, >>> Vladimir >> > From vladimir.kozlov at oracle.com Tue Mar 26 21:10:57 2013 From: vladimir.kozlov at oracle.com (vladimir.kozlov at oracle.com) Date: Wed, 27 Mar 2013 04:10:57 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address Message-ID: <20130327041101.AA67F48409@hg.openjdk.java.net> Changeset: 30f42e691e70 Author: kvn Date: 2013-03-26 12:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/30f42e691e70 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address Summary: always transform AddP nodes in IdealKit by calling _gvn.transform(). Reviewed-by: roland, twisti ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/phaseX.cpp From ylt at letallec.org Wed Mar 27 01:56:06 2013 From: ylt at letallec.org (Yann Le Tallec) Date: Wed, 27 Mar 2013 08:56:06 +0000 Subject: tableswitch does not use an array of offsets Message-ID: The code below is compiled as a tableswitch bytecode instruction as one would expect because the case values are contiguous. However, the JIT (Hotspot using JDK/JRE 1.7u17 64 bit on x86/Windows in either -server or -client mode) compiles it into a succession of cmp/je/jg. When adding one more case statement (case 17) to reach a total number of 18 case statements, the JIT does compile the switch using an array of offsets to calculate the jump. A micro-benchmark (controlled for compilation, inlining (off), gc) shows that adding an additional case statement to the method below (case 17) to reach a total of 18 improves performance materially (up to 25% depending on how the method is exercised). Is the decision to *not* use an array of offsets for <18 cases derived from profiling? Is that the expected behaviour and what is the underlying reason? Many thanks, Yann static double multiplyByPowerOfTen(final double d, final int exponent) { switch (exponent) { case 0: return d; case 1: return d * 10; case 2: return d * 100; case 3: return d * 1000; case 4: return d * 10000; case 5: return d * 100000; case 6: return d * 1000000; case 7: return d * 10000000; case 8: return d * 100000000; case 9: return d * 1000000000; case 10: return d * 10000000000L; case 11: return d * 100000000000L; case 12: return d * 1000000000000L; case 13: return d * 10000000000000L; case 14: return d * 100000000000000L; case 15: return d * 1000000000000000L; case 16: return d * 10000000000000000L; default: throw new RuntimeException("Unhandled power of ten " + exponent); } } -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130327/844ad935/attachment.html From rasbold at google.com Wed Mar 27 07:16:14 2013 From: rasbold at google.com (Chuck Rasbold) Date: Wed, 27 Mar 2013 07:16:14 -0700 Subject: tableswitch does not use an array of offsets In-Reply-To: References: Message-ID: The behavior is expected, but the rationale behind it may be lost to history. There's a HotSpot flag, -XX:MinJumpTableSize= that controls the minimum number of consecutive case branches needed to provoke the creation of a jump table. As you've discovered, the default is 18. I'm sure that value had some empirical backing when it was set (at least six) years ago, but perhaps it could be differently tuned for today's hardware. -- Chuck On Wed, Mar 27, 2013 at 1:56 AM, Yann Le Tallec wrote: > The code below is compiled as a tableswitch bytecode instruction as one > would expect because the case values are contiguous. However, the JIT > (Hotspot using JDK/JRE 1.7u17 64 bit on x86/Windows in either -server or > -client mode) compiles it into a succession of cmp/je/jg. > > When adding one more case statement (case 17) to reach a total number of > 18 case statements, the JIT does compile the switch using an array of > offsets to calculate the jump. > > A micro-benchmark (controlled for compilation, inlining (off), gc) shows > that adding an additional case statement to the method below (case 17) to > reach a total of 18 improves performance materially (up to 25% depending on > how the method is exercised). > > Is the decision to *not* use an array of offsets for <18 cases derived > from profiling? Is that the expected behaviour and what is the underlying > reason? > > Many thanks, > Yann > > static double multiplyByPowerOfTen(final double d, final int exponent) > { > switch (exponent) { > case 0: > return d; > case 1: > return d * 10; > case 2: > return d * 100; > case 3: > return d * 1000; > case 4: > return d * 10000; > case 5: > return d * 100000; > case 6: > return d * 1000000; > case 7: > return d * 10000000; > case 8: > return d * 100000000; > case 9: > return d * 1000000000; > case 10: > return d * 10000000000L; > case 11: > return d * 100000000000L; > case 12: > return d * 1000000000000L; > case 13: > return d * 10000000000000L; > case 14: > return d * 100000000000000L; > case 15: > return d * 1000000000000000L; > case 16: > return d * 10000000000000000L; > default: > throw new RuntimeException("Unhandled power of ten " + > exponent); > } > } > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130327/4863bc64/attachment-0001.html From krystal.mo at oracle.com Wed Mar 27 08:57:35 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Wed, 27 Mar 2013 08:57:35 -0700 Subject: tableswitch does not use an array of offsets In-Reply-To: References: Message-ID: <515316EF.9000307@oracle.com> I'm curious, too. Did a search and found a piece of relevant history: 6335285 : 17% regression for alacrity_jetstream at linux-amd64 for 1.6.0b55 vs 1.6.0b54 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6335285 Which sets MinJumpTableSize to 18 after some benchmarking. That was done in 2005. It looks like in the early days C2 used to only compile tableswitch as a decision tree, and actually generating code with a jump table was added later (circa 2004). - Kris On 2013/3/27 7:16, Chuck Rasbold wrote: > The behavior is expected, but the rationale behind it may be lost to > history. > > There's a HotSpot flag, -XX:MinJumpTableSize= that controls the > minimum number of consecutive case branches needed to provoke the > creation of a jump table. > > As you've discovered, the default is 18. I'm sure that value had some > empirical backing when it was set (at least six) years ago, but > perhaps it could be differently tuned for today's hardware. > > -- Chuck > > > On Wed, Mar 27, 2013 at 1:56 AM, Yann Le Tallec > wrote: > > The code below is compiled as a tableswitch bytecode instruction > as one would expect because the case values are contiguous. > However, the JIT (Hotspot using JDK/JRE 1.7u17 64 bit on > x86/Windows in either -server or -client mode) compiles it into a > succession of cmp/je/jg. > > When adding one more case statement (case 17) to reach a total > number of 18 case statements, the JIT does compile the switch > using an array of offsets to calculate the jump. > > A micro-benchmark (controlled for compilation, inlining (off), gc) > shows that adding an additional case statement to the method below > (case 17) to reach a total of 18 improves performance materially > (up to 25% depending on how the method is exercised). > > Is the decision to *not* use an array of offsets for <18 cases > derived from profiling? Is that the expected behaviour and what is > the underlying reason? > > Many thanks, > Yann > > static double multiplyByPowerOfTen(final double d, final int > exponent) { > switch (exponent) { > case 0: > return d; > case 1: > return d * 10; > case 2: > return d * 100; > case 3: > return d * 1000; > case 4: > return d * 10000; > case 5: > return d * 100000; > case 6: > return d * 1000000; > case 7: > return d * 10000000; > case 8: > return d * 100000000; > case 9: > return d * 1000000000; > case 10: > return d * 10000000000L; > case 11: > return d * 100000000000L; > case 12: > return d * 1000000000000L; > case 13: > return d * 10000000000000L; > case 14: > return d * 100000000000000L; > case 15: > return d * 1000000000000000L; > case 16: > return d * 10000000000000000L; > default: > throw new RuntimeException("Unhandled power of ten > " + exponent); > } > } > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130327/09d97731/attachment.html From azeem.jiva at oracle.com Wed Mar 27 09:17:26 2013 From: azeem.jiva at oracle.com (Azeem Jiva) Date: Wed, 27 Mar 2013 09:17:26 -0700 Subject: tableswitch does not use an array of offsets In-Reply-To: <515316EF.9000307@oracle.com> References: <515316EF.9000307@oracle.com> Message-ID: <57D87E06-051E-4467-A8E9-B61C77AF9481@oracle.com> Ahh yes that old piece of code :) 18 was picked because after some investigation that seemed at the time the best balance between the binary search and jump tables. That's probably different now on better/newer hardware. I think 18 was picked for SPECjvm98 which seemed to run best at 18. -- Azeem Jiva @javawithjiva On Mar 27, 2013, at 8:57 AM, Krystal Mo wrote: > I'm curious, too. Did a search and found a piece of relevant history: > > 6335285 : 17% regression for alacrity_jetstream at linux-amd64 for 1.6.0b55 vs 1.6.0b54 > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6335285 > > Which sets MinJumpTableSize to 18 after some benchmarking. That was done in 2005. > > It looks like in the early days C2 used to only compile tableswitch as a decision tree, and actually generating code with a jump table was added later (circa 2004). > > - Kris > > On 2013/3/27 7:16, Chuck Rasbold wrote: >> The behavior is expected, but the rationale behind it may be lost to history. >> >> There's a HotSpot flag, -XX:MinJumpTableSize= that controls the minimum number of consecutive case branches needed to provoke the creation of a jump table. >> >> As you've discovered, the default is 18. I'm sure that value had some empirical backing when it was set (at least six) years ago, but perhaps it could be differently tuned for today's hardware. >> >> -- Chuck >> >> >> On Wed, Mar 27, 2013 at 1:56 AM, Yann Le Tallec wrote: >> The code below is compiled as a tableswitch bytecode instruction as one would expect because the case values are contiguous. However, the JIT (Hotspot using JDK/JRE 1.7u17 64 bit on x86/Windows in either -server or -client mode) compiles it into a succession of cmp/je/jg. >> >> When adding one more case statement (case 17) to reach a total number of 18 case statements, the JIT does compile the switch using an array of offsets to calculate the jump. >> >> A micro-benchmark (controlled for compilation, inlining (off), gc) shows that adding an additional case statement to the method below (case 17) to reach a total of 18 improves performance materially (up to 25% depending on how the method is exercised). >> >> Is the decision to *not* use an array of offsets for <18 cases derived from profiling? Is that the expected behaviour and what is the underlying reason? >> >> Many thanks, >> Yann >> >> static double multiplyByPowerOfTen(final double d, final int exponent) { >> switch (exponent) { >> case 0: >> return d; >> case 1: >> return d * 10; >> case 2: >> return d * 100; >> case 3: >> return d * 1000; >> case 4: >> return d * 10000; >> case 5: >> return d * 100000; >> case 6: >> return d * 1000000; >> case 7: >> return d * 10000000; >> case 8: >> return d * 100000000; >> case 9: >> return d * 1000000000; >> case 10: >> return d * 10000000000L; >> case 11: >> return d * 100000000000L; >> case 12: >> return d * 1000000000000L; >> case 13: >> return d * 10000000000000L; >> case 14: >> return d * 100000000000000L; >> case 15: >> return d * 1000000000000000L; >> case 16: >> return d * 10000000000000000L; >> default: >> throw new RuntimeException("Unhandled power of ten " + exponent); >> } >> } >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130327/565b27c4/attachment.html From ylt at letallec.org Wed Mar 27 09:51:57 2013 From: ylt at letallec.org (Yann Le Tallec) Date: Wed, 27 Mar 2013 16:51:57 +0000 Subject: tableswitch does not use an array of offsets In-Reply-To: References: Message-ID: I should have mentioned that my question is due to this other discussion: http://stackoverflow.com/questions/15621083/why-does-java-switch-on-ordinal-ints-appear-to-run-faster-with-added-cases On 27 March 2013 08:56, Yann Le Tallec wrote: > The code below is compiled as a tableswitch bytecode instruction as one > would expect because the case values are contiguous. However, the JIT > (Hotspot using JDK/JRE 1.7u17 64 bit on x86/Windows in either -server or > -client mode) compiles it into a succession of cmp/je/jg. > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130327/0de49273/attachment-0001.html From perutka.ondrej at gmail.com Wed Mar 27 13:54:56 2013 From: perutka.ondrej at gmail.com (=?ISO-8859-2?Q?Ond=F8ej_Perutka?=) Date: Wed, 27 Mar 2013 21:54:56 +0100 Subject: AVX 256 instructions in JDK7? In-Reply-To: <5151F7FD.8000007@oracle.com> References: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> <5151F7FD.8000007@oracle.com> Message-ID: Hello again, I don't want to speak too soon but I think I found the problem. This mail is a bit longer, so first of all let me answer your questions (feel free to skip this part :-)). > First, what java version you are experimented with? > java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (fedora-2.3.8.0.fc17-x86_64) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) Could you clarify your statement?: Attached is output from the Intel's Software Development Emulator and memory map of the emulated application. There are listed time consuming transitions between AVX and SSE instructions in the SDE output. Important are lines with non-zero number of "Dynamic AVX to SSE Transitions". This means transition from the state B to the state C of YMM registers (using Agner's terminology). Each line has address of the "State Change Block". In this case it should be address of the block which put the registers into the state B (and did not call vzeroupper to put them into the state A). Almost all of those addresses points somewhere into an anonymous memory. Do you have call stacks? Unfortunately I cannot get call stacks because it's almost impossible to debug JVM running within the SDE (it's terribly slow, it takes several minutes even to start my application). And without SDE I cannot get those "State Change Block" addresses pointing to the anonymous memory so I don't know where to put breakpoints. Does the problem happened only in this code or during calls into Libav? I'm not sure I understand your question so I hope the answer is satisfactory :-) : I have not checked any other code but I'm pretty sure it would cause trouble in any other call to a native code which mixes SSE and AVX 128 instructions. As I understand, it is only problem if you mix SSE and AVX instructions in > the same loop. Our JIT should not do that. It generates only AVX > instructions (with VEX prefix) if AVX is available. It's not only problem of some loop it makes problems to the whole thread. (OS is responsible for clearing upper half of YMM registers on context switching, so it should not affect other threads.) The whole problem starts if there is some VEX prefixed 256 bit instruction not followed by the VZEROUPPER instruction. It leaves upper half of some YMM register used. And if it is followed by some block of SSE instructions or even worse by some block which mixes SSE and 128 bit AVX instructions it will cause time consuming transition(s) between states of YMM registers. Here is a problematic example: --------------------------------------------- ... # some 256 bit AVX instruction: AVX 256 ... # call to a function which mixes SSE and 128 bit AVX instructions: AVX 128 SSE AVX 128 SSE AVX 128 ... And here is a correct example: --------------------------------------------- ... # some 256 bit AVX instruction: AVX 256 ... vzeroupper ... # call to a function which mixes SSE and 128 bit AVX instructions: AVX 128 SSE AVX 128 SSE AVX 128 ... ############################### OK, that's all about your e-mail, now about my findings. Thanks to Peter Levart, who wrote me it's possible to disable AVX instructions within JVM using the -XX:UseAVX=0 command line option, I was able to filter noise from the SDE output. The rest was the problematic spot. It is the _dl_x86_64_save_sse function from the ld-2.15.so library. This function is called (indirectly) from the Java_sun_font_NativeFont_fontExists function which is a part of the libfontmanager.so library. I believe it's a part of OpenJDK since it's located in my OpenJDK directory tree. Here is the call stack: #0 0x0000003579214e80 in _dl_x86_64_save_sse () from /lib64/ld-linux-x86-64.so.2 #1 0x000000357920ad09 in _dl_lookup_symbol_x () from /lib64/ld-linux-x86-64.so.2 #2 0x000000357920e2d4 in _dl_fixup () from /lib64/ld-linux-x86-64.so.2 #3 0x00000035792148e5 in _dl_runtime_resolve () from /lib64/ld-linux-x86-64.so.2 #4 0x00007fffdea841a8 in Java_sun_font_NativeFont_fontExists () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so #5 0x00007fffed011f90 in ?? () #6 0x00007fffed005410 in ?? () ... The Java_sun_font_NativeFont_fontExists function was called only once right after my application started. To prove it's the cause of all problems I made a little hack to the libfontmanager.so and added the vzeroupper instruction opcode before return from the Java_sun_font_NativeFont_fontExists. (I also removed corresponding nop padding from the end of the function.) Everything works fine since then even with enabled AVX instructions. It seems this forgotten call caused literally a chain reaction. Attached is output from the emulator made after this hack. You can compare it with the previous one. (There are still some conflicts because the vzeroupper is not called immediately after return from the _dl_runtime_resolve function.) I don't know whether the _dl_runtime_resolve function called directly from the Java_sun_font_NativeFont_fontExists function is a part of ld's public API or not, so I don't know whether the bug is on side of OpenJDK or binutils. Regards, Ondrej 2013/3/26 Vladimir Kozlov > Hi Ondrej > > we need more context from you. > > First, what java version you are experimented with? > > Currently AVX wide vectors usage is only available in EA jdk8. > In 7u4 was added only usage of VEX prefix. > > The "anonymous memory" is most likely our CodeCache where JIT places > compiled native code. > > Could you clarify your statement?: > > > >> The origin of almost all bad transitions from AVX -> SSE (I mean the > code that uses > >> AVX 256 instructions and does not call VZEROUPPER) is somewhere inside > >> anonymous memory blocks (according to Intel's SDE and pmem). > > Do you have call stacks? > Does the problem happened only in this code or during calls into Libav? > > > >> to the same libraries with AVX disabled. The problem is definitely in > >> "bad" transitions between SSE and AVX instructions. These transitions > >> are costly in case the upper part of YMM registers is not zeroed using > >> VZEROUPPER or VZEROALL instruction before using SSE. More details at > >> http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). > > As I understand, it is only problem if you mix SSE and AVX instructions in > the same loop. Our JIT should not do that. It generates only AVX > instructions (with VEX prefix) if AVX is available. > > Regards, > Vladimir > > > > On 3/26/13 11:34 AM, Christian Thalinger wrote: > >> [That question should go to hotspot-compiler-dev. BCC'ed >> hotspot-runtime-dev.] >> >> On Mar 26, 2013, at 8:20 AM, Ond?ej Perutka > > wrote: >> >> Hello, >>> I've got a question related to my project. It is Java wrapper for >>> Libav libraries and I have some performance issues with it. >>> >>> If I compile the libraries with AVX instructions enabled the whole >>> testing application uses approximately 130% of CPU time in comparison >>> to the same libraries with AVX disabled. The problem is definitely in >>> "bad" transitions between SSE and AVX instructions. These transitions >>> are costly in case the upper part of YMM registers is not zeroed using >>> VZEROUPPER or VZEROALL instruction before using SSE. More details at >>> http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). >>> >>> There is no problem with those libraries, if they are not used from >>> Java. I used Intel's Software Developer Emulator to find those bad AVX >>> <-> SSE transitions and I found thousands of them. The origin of >>> almost all bad transitions from AVX -> SSE (I mean the code that uses >>> AVX 256 instructions and does not call VZEROUPPER) is somewhere inside >>> anonymous memory blocks (according to Intel's SDE and pmem). >>> >>> Libav mixes SSE and AVX 128 instructions a lot. It cannot cause any >>> trouble if the upper part of YMM registers is zeroed. But in case it >>> is not zeroed it would oscillate between B and C states (according to >>> the Agner's terminology). Both of these transitions costs quite a lot >>> of CPU cycles. >>> >>> So here is my question: Is it possible that JIT compiler compiles some >>> bytecode into native instructions, uses some AVX 256 instrucitons, >>> does not use VZEROUPPER and puts the result into some anonymous memory >>> block? >>> >>> Ondrej Perutka >>> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130327/a439e541/attachment-0001.html -------------- next part -------------- # =================================================== # AVX/SSE transition checker # # 'Penalty in Block' provides the address (rIP) of the code basic block with # the penaties. # # 'Dynamic AVX to SSE Transition' counts the number of potentially # costly AVX-to-SSE sequences # # 'Dynamic SSE to AVX Transition' counts the number of potentially # costly SSE-to-AVX sequences # # 'Static Icount' is the static number instructions in the block # # 'Executions' is the dynamic number of times the block was executed # # 'Dynamic Icount' is the product of the static icount and executions columns # # 'Previous Block' is an attempt to find the previous control flow block # # 'State Change Block' is an attempt to find the block that put the # state machine in a state that conflicted with this block, causing a # transition in this block # # =================================================== Penalty Dynamic Dynamic State in AVX to SSE SSE to AVX Static Dynamic Previous Change Block Transition Transition Icount Executions Icount Block Block ================ ============ ============ ======== ========== ======== ================ ================ 0x7f771a2784e0 3064 0 6 198141 1188846 0x7f76d5f089c0 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - [anon] #Previous block in routine: .plt @ 0x7f76d5f089c0 - libbridj.so - 0x79c0 #Penalty detected in routine: __strlen_sse2_pminub @ 0x7f771a2784e0 - libc-2.15.so - 0x15f4e0 0x7f771a247979 1 0 7 28121 196847 0x7f771a247970 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __strchr_sse42 @ 0x7f771a247970 - #Penalty detected in routine: __strchr_sse42 @ 0x7f771a247979 - 0x7f771a1a8580 39 0 20 26349 526980 0x7f771a15f742 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: vfprintf @ 0x7f771a15f742 - #Penalty detected in routine: strchrnul @ 0x7f771a1a8580 - 0x7f771a2497b9 8 0 9 2102 18918 0x7f771a2497b0 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __strrchr_sse42 @ 0x7f771a2497b0 - #Penalty detected in routine: __strrchr_sse42 @ 0x7f771a2497b9 - 0x7f771a1a16ca 2 0 4 50638 202552 0x7f771a1a1610 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __GI_memset @ 0x7f771a1a1610 - #Penalty detected in routine: __GI_memset @ 0x7f771a1a16ca - 0x7f771a1acc10 1 0 11 10353 113883 0x7f771a1acbfc 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __strncpy_sse2_unaligned @ 0x7f771a1acbfc - #Penalty detected in routine: __strncpy_sse2_unaligned @ 0x7f771a1acc10 - 0x7f771a25d8e5 182 0 11 414180 4555980 0x7f771a25d8e0 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - [anon] #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8e0 - libc-2.15.so - 0x1448e0 #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25d8e5 - libc-2.15.so - 0x1448e5 0x7f771a25d953 169 0 12 1809103 21709236 0x7f771a25d940 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - [anon] #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d940 - libc-2.15.so - 0x144940 #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25d953 - libc-2.15.so - 0x144953 0x7f771a25f728 1 0 9 95 855 0x7f771a25d8b1 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8b1 - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25f728 - 0x7f771a25fcbc 109 0 5 47417 237085 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fcbc - 0x7f771a25fc8a 1 0 15 1714 25710 0x7f771a25d8ca 0x7f771412e4f0 #Initial state from routine: *unknown* @ 0x7f771412e4f0 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fc8a - 0x7f77196a2043 185 0 8 43292 346336 0x7f77196a203e 0x7f7714131fc7 #Initial state from routine: *unknown* @ 0x7f7714131fc7 - #Previous block in routine: .text @ 0x7f77196a203e - #Penalty detected in routine: .text @ 0x7f77196a2043 - 0x7f771a25fabc 1 0 5 713 3565 0x7f771a25d8b1 0x7f771415cec0 #Initial state from routine: *unknown* @ 0x7f771415cec0 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8b1 - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fabc - 0x7f771a25f4a6 1 0 3 6793 20379 0x7f771a25d8b1 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8b1 - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25f4a6 - 0x7f771a2601dc 5 0 7 340 2380 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a2601dc - 0x7f771a25fbcc 3 0 5 546 2730 0x7f771a25d8b1 0x7f771415db4d #Initial state from routine: *unknown* @ 0x7f771415db4d - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8b1 - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fbcc - 0x7f771a25f49c 4 0 5 27739 138695 0x7f771a25d8b1 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8b1 - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25f49c - 0x7f771a25fdf6 1 0 5 356 1780 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fdf6 - 0x7f771a25f47e 1 0 11 4349 47839 0x7f771a25d8b1 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8b1 - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25f47e - 0x7f77193b4a66 2566 0 9 14637 131733 0x7f77193b4a55 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - [anon] #Previous block in routine: .text @ 0x7f77193b4a55 - libjvm.so - 0x4f0a55 #Penalty detected in routine: .text @ 0x7f77193b4a66 - libjvm.so - 0x4f0a66 0x7f77196f4e6e 4009 0 9 24386 219474 0x7f77196f4e5d 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - [anon] #Previous block in routine: .text @ 0x7f77196f4e5d - libjvm.so - 0x830e5d #Penalty detected in routine: .text @ 0x7f77196f4e6e - libjvm.so - 0x830e6e 0x7f771a25fe5c 62 0 7 267 1869 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fe5c - 0x7f77196a23c1 127 0 8 2545 20360 0x7f77196a23b9 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: .text @ 0x7f77196a23b9 - #Penalty detected in routine: .text @ 0x7f77196a23c1 - 0x7f771411b46f 992 0 19 91654 1741426 0x7f77193ed337 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: .text @ 0x7f77193ed337 - #Penalty detected in routine: *unknown* @ 0x7f771411b46f - 0x7f77193e49b0 367 0 9 8292 74628 0x7f77193e49a4 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: .text @ 0x7f77193e49a4 - #Penalty detected in routine: .text @ 0x7f77193e49b0 - 0x7f771412cf90 0 21010 12 411139 4933668 0x357d21f5da 0x7f771a25fdf6 #Initial state from routine: __memcpy_ssse3_back @ 0x7f771a25fdf6 - libc-2.15.so - 0x146df6 #Previous block in routine: XChangeProperty @ 0x357d21f5da - libX11.so.6.3.0 - 0x1f5da #Penalty detected in routine: *unknown* @ 0x7f771412cf90 - [anon] 0x7f771411b522 492 0 11 47014 517154 0x7f771411b519 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: *unknown* @ 0x7f771411b519 - #Penalty detected in routine: *unknown* @ 0x7f771411b522 - 0x7f77193e49c2 607 0 6 7878 47268 0x7f77193e505c 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: .text @ 0x7f77193e505c - #Penalty detected in routine: .text @ 0x7f77193e49c2 - 0x7f771a260082 1 0 9 83 747 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a260082 - 0x7f771411b524 758 0 10 44629 446290 0x7f771411b546 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: *unknown* @ 0x7f771411b546 - #Penalty detected in routine: *unknown* @ 0x7f771411b524 - 0x7f771a25fe52 2 0 9 146 1314 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a25fe52 - 0x7f771412e94b 0 310 4 42578 170312 0x7f771412e946 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412e946 - #Penalty detected in routine: *unknown* @ 0x7f771412e94b - 0x7f771412f490 0 19 5 27906 139530 0x7f771412f460 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412f460 - #Penalty detected in routine: *unknown* @ 0x7f771412f490 - 0x7f771412e4f0 0 244 5 65253 326265 0x7f771412b54c 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - #Previous block in routine: *unknown* @ 0x7f771412b54c - #Penalty detected in routine: *unknown* @ 0x7f771412e4f0 - 0x7f771412f390 0 6 5 74163 370815 0x7f771412b54c 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412b54c - #Penalty detected in routine: *unknown* @ 0x7f771412f390 - 0x7f7714131fc7 0 2086 5 186741 933705 0x7f771412f110 0x7f771411b522 #Initial state from routine: *unknown* @ 0x7f771411b522 - [anon] #Previous block in routine: *unknown* @ 0x7f771412f110 - [anon] #Penalty detected in routine: *unknown* @ 0x7f7714131fc7 - [anon] 0x7f77141639fe 0 1 3 10000 30000 0x7f771412ce80 0x7f771a247979 #Initial state from routine: __strchr_sse42 @ 0x7f771a247979 - #Previous block in routine: *unknown* @ 0x7f771412ce80 - #Penalty detected in routine: *unknown* @ 0x7f77141639fe - 0x7f77178f6cc0 14682 0 6 14684 88104 0x7f77141b5647 0x7f771412f410 #Initial state from routine: *unknown* @ 0x7f771412f410 - [anon] #Previous block in routine: *unknown* @ 0x7f77141b5647 - [anon] #Penalty detected in routine: Java_java_lang_Float_floatToRawIntBits @ 0x7f77178f6cc0 - libjava.so - 0xecc0 0x7f771412eb8c 0 199 4 88831 355324 0x7f771412eb70 0x7f77196f4e6e #Initial state from routine: .text @ 0x7f77196f4e6e - #Previous block in routine: *unknown* @ 0x7f771412eb70 - #Penalty detected in routine: *unknown* @ 0x7f771412eb8c - 0x7f771412f590 0 6 5 32549 162745 0x7f771412b54c 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412b54c - #Penalty detected in routine: *unknown* @ 0x7f771412f590 - 0x7f77178f6800 326 0 6 8118 48708 0x7f771412cf5d 0x7f7714132027 #Initial state from routine: *unknown* @ 0x7f7714132027 - #Previous block in routine: *unknown* @ 0x7f771412cf5d - #Penalty detected in routine: Java_java_lang_Double_doubleToRawLongBits @ 0x7f77178f6800 - 0x7f771412f410 0 1631 5 180159 900795 0x7f7714121177 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - libjvm.so - 0x5209b0 #Previous block in routine: *unknown* @ 0x7f7714121177 - [anon] #Penalty detected in routine: *unknown* @ 0x7f771412f410 - [anon] 0x7f77141377f8 0 9 6 177 1062 0x7f77141377ef 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - #Previous block in routine: *unknown* @ 0x7f77141377ef - #Penalty detected in routine: *unknown* @ 0x7f77141377f8 - 0x7f771413a4e1 0 1593 10 12724 127240 0x7f771412f8d0 0x7f7719557e61 #Initial state from routine: .text @ 0x7f7719557e61 - libjvm.so - 0x693e61 #Previous block in routine: *unknown* @ 0x7f771412f8d0 - [anon] #Penalty detected in routine: *unknown* @ 0x7f771413a4e1 - [anon] 0x7f771412e570 0 6 5 27043 135215 0x7f771412e972 0x7f771a1a8580 #Initial state from routine: strchrnul @ 0x7f771a1a8580 - #Previous block in routine: *unknown* @ 0x7f771412e972 - #Penalty detected in routine: *unknown* @ 0x7f771412e570 - 0x7f771412f510 0 1 5 28074 140370 0x7f771412f4e0 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412f4e0 - #Penalty detected in routine: *unknown* @ 0x7f771412f510 - 0x7f7714132027 0 12 5 27605 138025 0x7f771412f110 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412f110 - #Penalty detected in routine: *unknown* @ 0x7f7714132027 - 0x7f771a260318 1 0 11 63 693 0x7f771a25d8ca 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memcpy_ssse3_back @ 0x7f771a25d8ca - #Penalty detected in routine: __memcpy_ssse3_back @ 0x7f771a260318 - 0x7f771412f48f 0 3 6 85 510 0x7f771412f010 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412f010 - #Penalty detected in routine: *unknown* @ 0x7f771412f48f - 0x7f771412edb0 0 2 7 173881 1217167 0x7f771412ed80 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412ed80 - #Penalty detected in routine: *unknown* @ 0x7f771412edb0 - 0x7f7719557e61 73 0 9 705 6345 0x7f7719557e4d 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: .text @ 0x7f7719557e4d - #Penalty detected in routine: .text @ 0x7f7719557e61 - 0x7f771412e6f0 0 148 5 15421 77105 0x7f771412e6c0 0x7f77193b4a66 #Initial state from routine: .text @ 0x7f77193b4a66 - #Previous block in routine: *unknown* @ 0x7f771412e6c0 - #Penalty detected in routine: *unknown* @ 0x7f771412e6f0 - 0x7f7714137814 0 7 9 140 1260 0x7f77141377ef 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - #Previous block in routine: *unknown* @ 0x7f77141377ef - #Penalty detected in routine: *unknown* @ 0x7f7714137814 - 0x7f771412e6ef 0 1 6 25 150 0x7f771412e0f0 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - #Previous block in routine: *unknown* @ 0x7f771412e0f0 - #Penalty detected in routine: *unknown* @ 0x7f771412e6ef - 0x7f771412e56f 0 2 6 45 270 0x7f771412f010 0x7f77196a23c1 #Initial state from routine: .text @ 0x7f77196a23c1 - #Previous block in routine: *unknown* @ 0x7f771412f010 - #Penalty detected in routine: *unknown* @ 0x7f771412e56f - 0x7f771412f610 0 1 5 18843 94215 0x7f771412f5e0 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771412f5e0 - #Penalty detected in routine: *unknown* @ 0x7f771412f610 - 0x7f771413a481 0 1 10 68980 689800 0x7f771412f7cb 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771412f7cb - #Penalty detected in routine: *unknown* @ 0x7f771413a481 - 0x7f77178f67f0 103 0 6 2765 16590 0x7f771412cf5d 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: *unknown* @ 0x7f771412cf5d - #Penalty detected in routine: Java_java_lang_Double_longBitsToDouble @ 0x7f77178f67f0 - libjava.so 0x7f771412ee50 0 4 7 15799 110593 0x7f771412ee42 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771412ee42 - #Penalty detected in routine: *unknown* @ 0x7f771412ee50 - 0x7f771412e670 0 2 5 22977 114885 0x7f771412e640 0x7f771411b524 #Initial state from routine: *unknown* @ 0x7f771411b524 - #Previous block in routine: *unknown* @ 0x7f771412e640 - #Penalty detected in routine: *unknown* @ 0x7f771412e670 - 0x7f7714152e60 9 0 26 65 1690 0x7f77141d325e 0x7f7714131fc7 #Initial state from routine: *unknown* @ 0x7f7714131fc7 - #Previous block in routine: *unknown* @ 0x7f77141d325e - #Penalty detected in routine: *unknown* @ 0x7f7714152e60 - 0x7f7714152a60 4 0 26 38 988 0x7f7714185360 0x7f771412e94b #Initial state from routine: *unknown* @ 0x7f771412e94b - #Previous block in routine: *unknown* @ 0x7f7714185360 - #Penalty detected in routine: *unknown* @ 0x7f7714152a60 - 0x7f7714152c60 6 0 26 70 1820 0x7f77141cf1a8 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: *unknown* @ 0x7f77141cf1a8 - #Penalty detected in routine: *unknown* @ 0x7f7714152c60 - 0x7f771415cec0 0 1268 6 27091 162546 0x7f771415ced8 0x7f77196f4e6e #Initial state from routine: .text @ 0x7f77196f4e6e - libjvm.so - 0x830e6e #Previous block in routine: *unknown* @ 0x7f771415ced8 - [anon] #Penalty detected in routine: *unknown* @ 0x7f771415cec0 - [anon] 0x7f771a262e90 1 0 11 4261 46871 0x7f771a262e6e 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memmove_ssse3_back @ 0x7f771a262e6e - libc-2.15.so #Penalty detected in routine: __memmove_ssse3_back @ 0x7f771a262e90 - libc-2.15.so 0x7f77190f7806 1 0 9 11 99 0x7f77190f77f5 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: .text @ 0x7f77190f77f5 - libjvm.so #Penalty detected in routine: .text @ 0x7f77190f7806 - libjvm.so 0x7f771a264a8c 1 0 5 4579 22895 0x7f771a262e77 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memmove_ssse3_back @ 0x7f771a262e77 - libc-2.15.so #Penalty detected in routine: __memmove_ssse3_back @ 0x7f771a264a8c - libc-2.15.so 0x7f7714120522 0 3 2 4337 8674 0x7f7714120512 0x7f771411b524 #Initial state from routine: *unknown* @ 0x7f771411b524 - #Previous block in routine: *unknown* @ 0x7f7714120512 - #Penalty detected in routine: *unknown* @ 0x7f7714120522 - 0x7f7714153060 1 0 26 41 1066 0x7f77141c76ed 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: *unknown* @ 0x7f77141c76ed - #Penalty detected in routine: *unknown* @ 0x7f7714153060 - 0x7f771a264fac 3 0 5 11 55 0x7f771a262e77 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memmove_ssse3_back @ 0x7f771a262e77 - libc-2.15.so #Penalty detected in routine: __memmove_ssse3_back @ 0x7f771a264fac - libc-2.15.so 0x7f771415d0d0 0 3 6 284 1704 0x7f771415d0e8 0x7f7714152c60 #Initial state from routine: *unknown* @ 0x7f7714152c60 - #Previous block in routine: *unknown* @ 0x7f771415d0e8 - #Penalty detected in routine: *unknown* @ 0x7f771415d0d0 - 0x7f771a264fa2 1 0 7 13 91 0x7f771a262e77 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memmove_ssse3_back @ 0x7f771a262e77 - libc-2.15.so #Penalty detected in routine: __memmove_ssse3_back @ 0x7f771a264fa2 - libc-2.15.so 0x7f771a264a82 1 0 7 1166 8162 0x7f771a262e77 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: __memmove_ssse3_back @ 0x7f771a262e77 - libc-2.15.so #Penalty detected in routine: __memmove_ssse3_back @ 0x7f771a264a82 - libc-2.15.so 0x7f771415db4d 0 471 4 1640 6560 0x7f771415db40 0x7f77196f4e6e #Initial state from routine: .text @ 0x7f77196f4e6e - libjvm.so #Previous block in routine: *unknown* @ 0x7f771415db40 - #Penalty detected in routine: *unknown* @ 0x7f771415db4d - 0x7f771412fa76 0 3 5 133861 669305 0x7f771412fa67 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771412fa67 - #Penalty detected in routine: *unknown* @ 0x7f771412fa76 - 0x7f771412edaf 0 1 8 12538 100304 0x7f771412f10f 0x7f77193e49c2 #Initial state from routine: .text @ 0x7f77193e49c2 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771412f10f - #Penalty detected in routine: *unknown* @ 0x7f771412edaf - 0x7f771412fad6 0 3 5 4208 21040 0x7f771412fac7 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771412fac7 - #Penalty detected in routine: *unknown* @ 0x7f771412fad6 - 0x7f77141645dd 0 1 12 1 12 0x7f771412ce75 0x7f771411b524 #Initial state from routine: *unknown* @ 0x7f771411b524 - #Previous block in routine: *unknown* @ 0x7f771412ce75 - #Penalty detected in routine: *unknown* @ 0x7f77141645dd - 0x7f76bc266f40 1 0 18 1 18 0x7f771412cf5d 0x7f77141645dd #Initial state from routine: *unknown* @ 0x7f77141645dd - #Previous block in routine: *unknown* @ 0x7f771412cf5d - #Penalty detected in routine: Java_sun_font_FreetypeFontScaler_createScalerContextNative @ 0x7f76bc266f40 - libfontmanager.so 0x7f771412c8a0 0 1 9 206 1854 0x7f771413812c 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - libjvm.so #Previous block in routine: *unknown* @ 0x7f771413812c - #Penalty detected in routine: *unknown* @ 0x7f771412c8a0 - 0x7f76bc2677c6 1 0 14 25 350 0x7f76bc26779f 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: Java_sun_font_FreetypeFontScaler_getGlyphImageNative @ 0x7f76bc26779f - libfontmanager.so #Penalty detected in routine: Java_sun_font_FreetypeFontScaler_getGlyphImageNative @ 0x7f76bc2677c6 - libfontmanager.so 0x7f77196fbd36 20 0 8 25 200 0x3579a0c41c 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: pthread_getspecific @ 0x3579a0c41c - libpthread-2.15.so #Penalty detected in routine: .text @ 0x7f77196fbd36 - libjvm.so 0x7f77141373c3 0 1 4 20 80 0x7f77141373ba 0x7f77193e49b0 #Initial state from routine: .text @ 0x7f77193e49b0 - libjvm.so #Previous block in routine: *unknown* @ 0x7f77141373ba - #Penalty detected in routine: *unknown* @ 0x7f77141373c3 - 0x7f76d5f14a18 61 0 27 13993 377811 0x7f76dc4cb000 0x7f771412cf90 #Initial state from routine: *unknown* @ 0x7f771412cf90 - #Previous block in routine: *unknown* @ 0x7f76dc4cb000 - #Penalty detected in routine: dcbGetUserData @ 0x7f76d5f14a18 - libbridj.so 0x7f7718bde770 0 6 11 6 66 0x7f7718b8a550 0x7f76d59c20b2 #Initial state from routine: av_d2q @ 0x7f76d59c20b2 - libavutil.so.52.5.0 #Previous block in routine: .plt @ 0x7f7718b8a550 - libm-2.15.so #Penalty detected in routine: __ieee754_log_avx @ 0x7f7718bde770 - libm-2.15.so 0x7f76d59c20b2 6 0 18 6 108 0x7f7718bdf0b6 0x7f7718bde770 #Initial state from routine: __ieee754_log_avx @ 0x7f7718bde770 - libm-2.15.so #Previous block in routine: __ieee754_log_avx @ 0x7f7718bdf0b6 - libm-2.15.so #Penalty detected in routine: av_d2q @ 0x7f76d59c20b2 - libavutil.so.52.5.0 0x7f7718be9270 0 10 13 10 130 0x7f76c69334f0 0x7f76c6941414 #Initial state from routine: ff_init_ff_cos_tabs @ 0x7f76c6941414 - libavcodec.so.54.40.0 #Previous block in routine: .plt @ 0x7f76c69334f0 - libavcodec.so.54.40.0 #Penalty detected in routine: __cos_avx @ 0x7f7718be9270 - libm-2.15.so 0x7f76c6941414 10 0 6 10 60 0x7f7718be9600 0x7f7718be67a4 #Initial state from routine: csloww @ 0x7f7718be67a4 - libm-2.15.so #Previous block in routine: __cos_avx @ 0x7f7718be9600 - libm-2.15.so #Penalty detected in routine: ff_init_ff_cos_tabs @ 0x7f76c6941414 - libavcodec.so.54.40.0 0x7f7718bc0e60 4 0 70 4 280 0x7f7718be677d 0x7f7718be66a0 #Initial state from routine: csloww @ 0x7f7718be66a0 - libm-2.15.so #Previous block in routine: csloww @ 0x7f7718be677d - libm-2.15.so #Penalty detected in routine: __dubsin @ 0x7f7718bc0e60 - libm-2.15.so 0x7f7718be66a0 0 2 8 2 16 0x7f7718bc1819 0x7f7718bc0e60 #Initial state from routine: __dubsin @ 0x7f7718bc0e60 - libm-2.15.so #Previous block in routine: __dubsin @ 0x7f7718bc1819 - libm-2.15.so #Penalty detected in routine: csloww @ 0x7f7718be66a0 - libm-2.15.so 0x7f7718be67a4 0 2 8 2 16 0x7f7718bc1819 0x7f7718bc0e60 #Initial state from routine: __dubsin @ 0x7f7718bc0e60 - libm-2.15.so #Previous block in routine: __dubsin @ 0x7f7718bc1819 - libm-2.15.so #Penalty detected in routine: csloww @ 0x7f7718be67a4 - libm-2.15.so 0x7f771a264f2c 3 0 5 14 70 0x7f771a262e77 0x7f771415db4d #Initial state from routine: *unknown* @ 0x7f771415db4d - #Previous block in routine: __memmove_ssse3_back @ 0x7f771a262e77 - libc-2.15.so #Penalty detected in routine: __memmove_ssse3_back @ 0x7f771a264f2c - libc-2.15.so # SUMMARY # AVX_to_SSE_transition_instances: 29080 # SSE_to_AVX_transition_instances: 29079 # Dynamic_insts: 203563703160 # AVX_to_SSE_instances/instruction: 0.0000 # SSE_to_AVX_instances/instruction: 0.0000 # AVX_to_SSE_instances/100instructions: 0.0000 # SSE_to_AVX_instances/100instructions: 0.0000 -------------- next part -------------- 26906: java -jar playback-sample-0.3-SNAPSHOT.jar /media/D/Filmy/HD/the.dark.knight.rises.2012.1080p.bluray.x264-alliance.mkv 0000000000400000 4K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/bin/java 0000000000600000 8K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/bin/java 00000000006b1000 132K rw--- [ anon ] 0000000030400000 6944K r-x-- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pinbin 0000000030ac8000 2048K ----- [ anon ] 0000000030cc8000 240K rw--- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pinbin 0000000030d04000 188K rw--- [ anon ] 0000000030d33000 28K rwx-- [ anon ] 0000000030d3a000 216K rw--- [ anon ] 0000000030d70000 252K rwx-- [ anon ] 0000000030db0000 8K rwx-- [ anon ] 0000000030db5000 240K rwx-- [ anon ] 0000000030df1000 4K ----- [ anon ] 0000000030df2000 416K rw--- [ anon ] 0000000779800000 21248K rw--- [ anon ] 000000077acc0000 148736K rw--- [ anon ] 0000000783e00000 84736K rw--- [ anon ] 00000007890c0000 1271040K rw--- [ anon ] 00000007d6a00000 42368K rw--- [ anon ] 00000007d9360000 635520K rw--- [ anon ] 00000034f6200000 620K r-x-- /usr/lib64/libfreetype.so.6.8.0 00000034f629b000 2044K ----- /usr/lib64/libfreetype.so.6.8.0 00000034f649a000 24K r---- /usr/lib64/libfreetype.so.6.8.0 00000034f64a0000 4K rw--- /usr/lib64/libfreetype.so.6.8.0 0000003579200000 128K r-x-- /usr/lib64/ld-2.15.so 000000357941f000 4K r---- /usr/lib64/ld-2.15.so 0000003579420000 4K rw--- /usr/lib64/ld-2.15.so 0000003579421000 4K rw--- [ anon ] 0000003579600000 1712K r-x-- /usr/lib64/libc-2.15.so 00000035797ac000 2048K ----- /usr/lib64/libc-2.15.so 00000035799ac000 16K r---- /usr/lib64/libc-2.15.so 00000035799b0000 8K rw--- /usr/lib64/libc-2.15.so 00000035799b2000 20K rw--- [ anon ] 0000003579a00000 88K r-x-- /usr/lib64/libpthread-2.15.so 0000003579a16000 2048K ----- /usr/lib64/libpthread-2.15.so 0000003579c16000 4K r---- /usr/lib64/libpthread-2.15.so 0000003579c17000 4K rw--- /usr/lib64/libpthread-2.15.so 0000003579c18000 16K rw--- [ anon ] 0000003579e00000 12K r-x-- /usr/lib64/libdl-2.15.so 0000003579e03000 2044K ----- /usr/lib64/libdl-2.15.so 000000357a002000 4K r---- /usr/lib64/libdl-2.15.so 000000357a003000 4K rw--- /usr/lib64/libdl-2.15.so 000000357a200000 28K r-x-- /usr/lib64/librt-2.15.so 000000357a207000 2044K ----- /usr/lib64/librt-2.15.so 000000357a406000 4K r---- /usr/lib64/librt-2.15.so 000000357a407000 4K rw--- /usr/lib64/librt-2.15.so 000000357a600000 92K r-x-- /usr/lib64/libz.so.1.2.5 000000357a617000 2044K ----- /usr/lib64/libz.so.1.2.5 000000357a816000 4K rw--- /usr/lib64/libz.so.1.2.5 000000357aa00000 1000K r-x-- /usr/lib64/libm-2.15.so 000000357aafa000 2044K ----- /usr/lib64/libm-2.15.so 000000357acf9000 4K r---- /usr/lib64/libm-2.15.so 000000357acfa000 4K rw--- /usr/lib64/libm-2.15.so 000000357c600000 84K r-x-- /usr/lib64/libgcc_s-4.7.2-20120921.so.1 000000357c615000 2044K ----- /usr/lib64/libgcc_s-4.7.2-20120921.so.1 000000357c814000 4K rw--- /usr/lib64/libgcc_s-4.7.2-20120921.so.1 000000357d200000 1232K r-x-- /usr/lib64/libX11.so.6.3.0 000000357d334000 2048K ----- /usr/lib64/libX11.so.6.3.0 000000357d534000 4K r---- /usr/lib64/libX11.so.6.3.0 000000357d535000 20K rw--- /usr/lib64/libX11.so.6.3.0 000000357d600000 116K r-x-- /usr/lib64/libxcb.so.1.1.0 000000357d61d000 2044K ----- /usr/lib64/libxcb.so.1.1.0 000000357d81c000 4K r---- /usr/lib64/libxcb.so.1.1.0 000000357d81d000 4K rw--- /usr/lib64/libxcb.so.1.1.0 000000357da00000 8K r-x-- /usr/lib64/libXau.so.6.0.0 000000357da02000 2048K ----- /usr/lib64/libXau.so.6.0.0 000000357dc02000 4K r---- /usr/lib64/libXau.so.6.0.0 000000357dc03000 4K rw--- /usr/lib64/libXau.so.6.0.0 000000357de00000 64K r-x-- /usr/lib64/libXext.so.6.4.0 000000357de10000 2048K ----- /usr/lib64/libXext.so.6.4.0 000000357e010000 4K r---- /usr/lib64/libXext.so.6.4.0 000000357e011000 4K rw--- /usr/lib64/libXext.so.6.4.0 000000357e600000 36K r-x-- /usr/lib64/libXrender.so.1.3.0 000000357e609000 2044K ----- /usr/lib64/libXrender.so.1.3.0 000000357e808000 4K r---- /usr/lib64/libXrender.so.1.3.0 000000357e809000 4K rw--- /usr/lib64/libXrender.so.1.3.0 000000357ee00000 916K r-x-- /usr/lib64/libstdc++.so.6.0.17 000000357eee5000 2044K ----- /usr/lib64/libstdc++.so.6.0.17 000000357f0e4000 32K r---- /usr/lib64/libstdc++.so.6.0.17 000000357f0ec000 8K rw--- /usr/lib64/libstdc++.so.6.0.17 000000357f0ee000 84K rw--- [ anon ] 0000003580a00000 56K r-x-- /usr/lib64/libXi.so.6.1.0 0000003580a0e000 2044K ----- /usr/lib64/libXi.so.6.1.0 0000003580c0d000 4K r---- /usr/lib64/libXi.so.6.1.0 0000003580c0e000 4K rw--- /usr/lib64/libXi.so.6.1.0 0000003580e00000 20K r-x-- /usr/lib64/libXfixes.so.3.1.0 0000003580e05000 2044K ----- /usr/lib64/libXfixes.so.3.1.0 0000003581004000 4K r---- /usr/lib64/libXfixes.so.3.1.0 0000003581005000 4K rw--- /usr/lib64/libXfixes.so.3.1.0 0000003581200000 36K r-x-- /usr/lib64/libXcursor.so.1.0.2 0000003581209000 2048K ----- /usr/lib64/libXcursor.so.1.0.2 0000003581409000 4K r---- /usr/lib64/libXcursor.so.1.0.2 000000358140a000 4K rw--- /usr/lib64/libXcursor.so.1.0.2 0000003581a00000 868K r-x-- /usr/lib64/libasound.so.2.0.0 0000003581ad9000 2044K ----- /usr/lib64/libasound.so.2.0.0 0000003581cd8000 24K r---- /usr/lib64/libasound.so.2.0.0 0000003581cde000 8K rw--- /usr/lib64/libasound.so.2.0.0 000000358ca00000 20K r-x-- /usr/lib64/libXtst.so.6.1.0 000000358ca05000 2044K ----- /usr/lib64/libXtst.so.6.1.0 000000358cc04000 4K r---- /usr/lib64/libXtst.so.6.1.0 000000358cc05000 4K rw--- /usr/lib64/libXtst.so.6.1.0 000000384ae00000 48K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/jli/libjli.so 000000384ae0c000 2048K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/jli/libjli.so 000000384b00c000 4K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/jli/libjli.so 00007f766c000000 12056K rw--- [ anon ] 00007f766cbc6000 53480K ----- [ anon ] 00007f7670c11000 53180K rwx-- [ anon ] 00007f7674000000 16576K rw--- [ anon ] 00007f7675030000 48960K ----- [ anon ] 00007f7678000000 16400K rw--- [ anon ] 00007f7679004000 49136K ----- [ anon ] 00007f767c000000 17760K rw--- [ anon ] 00007f767d158000 47776K ----- [ anon ] 00007f7680000000 16396K rw--- [ anon ] 00007f7681003000 49140K ----- [ anon ] 00007f7684000000 10752K rw--- [ anon ] 00007f7684a80000 54784K ----- [ anon ] 00007f768806f000 65092K rwx-- [ anon ] 00007f768c000000 7024K rw--- [ anon ] 00007f768c6dc000 58512K ----- [ anon ] 00007f7690429000 13728K rwx-- [ anon ] 00007f76917c3000 31072K rwx-- [ anon ] 00007f769361b000 4K ----- [ anon ] 00007f769361c000 30012K rwx-- [ anon ] 00007f769536b000 4K ----- [ anon ] 00007f769536c000 21808K rwx-- [ anon ] 00007f7696a2a000 22872K rwx-- [ anon ] 00007f7698080000 4K ----- [ anon ] 00007f7698081000 8192K rwx-- [ anon ] 00007f76989f3000 9260K rwx-- [ anon ] 00007f76992fe000 4K ----- [ anon ] 00007f76992ff000 21808K rwx-- [ anon ] 00007f769a9bb000 22804K rwx-- [ anon ] 00007f769c000000 132K rw--- [ anon ] 00007f769c021000 65404K ----- [ anon ] 00007f76a0478000 4K ----- [ anon ] 00007f76a0479000 43108K rwx-- [ anon ] 00007f76a2f73000 4K rwx-- [ anon ] 00007f76a2f76000 4K rwx-- [ anon ] 00007f76a2f78000 10372K rwx-- [ anon ] 00007f76a3999000 6556K rwx-- [ anon ] 00007f76a4000000 132K rw--- [ anon ] 00007f76a4021000 65404K ----- [ anon ] 00007f76a8000000 132K rw--- [ anon ] 00007f76a8021000 65404K ----- [ anon ] 00007f76ac000000 132K rw--- [ anon ] 00007f76ac021000 65404K ----- [ anon ] 00007f76b0000000 132K rw--- [ anon ] 00007f76b0021000 65404K ----- [ anon ] 00007f76b4000000 292K rwx-- [ anon ] 00007f76b4049000 416K rwx-- [ anon ] 00007f76b40b1000 16K rwx-- [ anon ] 00007f76b40b5000 4K rwx-- [ anon ] 00007f76b40b6000 12K ----- [ anon ] 00007f76b40b9000 1016K rwx-- [ anon ] 00007f76b41b7000 12K ----- [ anon ] 00007f76b41ba000 23660K rwx-- [ anon ] 00007f76b58d5000 2504K rwx-- [ anon ] 00007f76b5b47000 12K ----- [ anon ] 00007f76b5b4a000 1016K rwx-- [ anon ] 00007f76b5c48000 12K ----- [ anon ] 00007f76b5c4b000 10268K rwx-- [ anon ] 00007f76b6652000 12K ----- [ anon ] 00007f76b6655000 6060K rwx-- [ anon ] 00007f76b6c40000 4K r--s- /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-3 00007f76b6c41000 36K r--s- /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-3 00007f76b6c4a000 12K r--s- /var/cache/fontconfig/0b1bcc92b4d25cc154d77dafe3bceaa0-le64.cache-3 00007f76b6c4d000 12K r--s- /var/cache/fontconfig/2e1514a9fdd499050989183bb65136db-le64.cache-3 00007f76b6c50000 8K r--s- /var/cache/fontconfig/3f821257dd33660ba7bbb45c32deb84c-le64.cache-3 00007f76b6c52000 8K r--s- /var/cache/fontconfig/830f035fa84a65ce80e050178dbb630d-le64.cache-3 00007f76b6c54000 4K r--s- /var/cache/fontconfig/81a173283b451552b599cfaafd6236bd-le64.cache-3 00007f76b6c55000 4K r--s- /var/cache/fontconfig/ac68f755438cc3dc5a526084839fc7ca-le64.cache-3 00007f76b6c56000 4K r--s- /var/cache/fontconfig/12513961c6e7090f8648812f9eaf65d6-le64.cache-3 00007f76b6c57000 8K r--s- /var/cache/fontconfig/e26bf336397aae6fcef4d3803472adec-le64.cache-3 00007f76b6c59000 4K r--s- /var/cache/fontconfig/17e60ccdf2eb53b214a9a5d6663eb217-le64.cache-3 00007f76b6c5a000 4K r--s- /var/cache/fontconfig/6fcb01a03a016cc71057b587cdea6709-le64.cache-3 00007f76b6c5b000 12K r--s- /var/cache/fontconfig/e0636055caa850f70f1a6db008fc4729-le64.cache-3 00007f76b6c5e000 4K r--s- /var/cache/fontconfig/b887eea8f1b96e1d899b44ed6681fc27-le64.cache-3 00007f76b6c5f000 4K r--s- /var/cache/fontconfig/860639f272b8b4b3094f9e399e41bccd-le64.cache-3 00007f76b6c60000 4K r--s- /var/cache/fontconfig/211368abcb0ff835c229ff05c9ec01dc-le64.cache-3 00007f76b6c61000 4K r--s- /var/cache/fontconfig/c46020d7221988a13df853d2b46304fc-le64.cache-3 00007f76b6c62000 4K r--s- /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-le64.cache-3 00007f76b6c63000 4K r--s- /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-le64.cache-3 00007f76b6c64000 4K r--s- /var/cache/fontconfig/47f48679023f44a4d1e44699a69464f6-le64.cache-3 00007f76b6c65000 4K rwx-- [ anon ] 00007f76b6c66000 4K r--s- /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-le64.cache-3 00007f76b6c67000 4K r--s- /var/cache/fontconfig/3c3fb04d32a5211b073874b125d29701-le64.cache-3 00007f76b6c68000 4K r--s- /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-le64.cache-3 00007f76b6c69000 16K r--s- /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-le64.cache-3 00007f76b6c6d000 8K r--s- /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-le64.cache-3 00007f76b6c6f000 4K r--s- /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-le64.cache-3 00007f76b6c70000 16K r--s- /var/cache/fontconfig/7b312f204090bff0956e0e66992a6837-le64.cache-3 00007f76b6c74000 36K r--s- /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le64.cache-3 00007f76b6c7d000 28K r--s- /var/cache/fontconfig/928306c3ad40271d946e41014a49fc28-le64.cache-3 00007f76b6c84000 56K rwx-- [ anon ] 00007f76b6c92000 4K r--s- /var/cache/fontconfig/3640555adad8a8f6978400293cfce7ab-le64.cache-3 00007f76b6c93000 16K rwx-- [ anon ] 00007f76b6c97000 520K rwx-- [ anon ] 00007f76b6d19000 168K rwx-- [ anon ] 00007f76b6d43000 19188K rwx-- [ anon ] 00007f76b8000000 132K rw--- [ anon ] 00007f76b8021000 65404K ----- [ anon ] 00007f76bc000000 1180K rwx-- [ anon ] 00007f76bc127000 4K r--s- /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-3 00007f76bc128000 36K r--s- /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-3 00007f76bc131000 12K r--s- /var/cache/fontconfig/0b1bcc92b4d25cc154d77dafe3bceaa0-le64.cache-3 00007f76bc134000 12K r--s- /var/cache/fontconfig/2e1514a9fdd499050989183bb65136db-le64.cache-3 00007f76bc137000 8K r--s- /var/cache/fontconfig/3f821257dd33660ba7bbb45c32deb84c-le64.cache-3 00007f76bc139000 8K r--s- /var/cache/fontconfig/830f035fa84a65ce80e050178dbb630d-le64.cache-3 00007f76bc13b000 4K r--s- /var/cache/fontconfig/81a173283b451552b599cfaafd6236bd-le64.cache-3 00007f76bc13c000 4K r--s- /var/cache/fontconfig/ac68f755438cc3dc5a526084839fc7ca-le64.cache-3 00007f76bc13d000 4K r--s- /var/cache/fontconfig/12513961c6e7090f8648812f9eaf65d6-le64.cache-3 00007f76bc13e000 8K r--s- /var/cache/fontconfig/e26bf336397aae6fcef4d3803472adec-le64.cache-3 00007f76bc140000 4K r--s- /var/cache/fontconfig/17e60ccdf2eb53b214a9a5d6663eb217-le64.cache-3 00007f76bc141000 4K r--s- /var/cache/fontconfig/6fcb01a03a016cc71057b587cdea6709-le64.cache-3 00007f76bc142000 12K r--s- /var/cache/fontconfig/e0636055caa850f70f1a6db008fc4729-le64.cache-3 00007f76bc145000 4K r--s- /var/cache/fontconfig/b887eea8f1b96e1d899b44ed6681fc27-le64.cache-3 00007f76bc146000 4K r--s- /var/cache/fontconfig/860639f272b8b4b3094f9e399e41bccd-le64.cache-3 00007f76bc147000 4K r--s- /var/cache/fontconfig/211368abcb0ff835c229ff05c9ec01dc-le64.cache-3 00007f76bc148000 4K r--s- /var/cache/fontconfig/c46020d7221988a13df853d2b46304fc-le64.cache-3 00007f76bc149000 4K r--s- /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-le64.cache-3 00007f76bc14a000 4K r--s- /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-le64.cache-3 00007f76bc14b000 4K r--s- /var/cache/fontconfig/47f48679023f44a4d1e44699a69464f6-le64.cache-3 00007f76bc14c000 4K r--s- /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-le64.cache-3 00007f76bc14d000 4K r--s- /var/cache/fontconfig/3c3fb04d32a5211b073874b125d29701-le64.cache-3 00007f76bc14e000 4K r--s- /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-le64.cache-3 00007f76bc14f000 16K r--s- /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-le64.cache-3 00007f76bc153000 8K r--s- /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-le64.cache-3 00007f76bc155000 4K r--s- /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-le64.cache-3 00007f76bc156000 4K rwx-- [ anon ] 00007f76bc157000 16K r--s- /var/cache/fontconfig/7b312f204090bff0956e0e66992a6837-le64.cache-3 00007f76bc15b000 36K r--s- /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le64.cache-3 00007f76bc164000 4K rwx-- [ anon ] 00007f76bc165000 28K r--s- /var/cache/fontconfig/928306c3ad40271d946e41014a49fc28-le64.cache-3 00007f76bc16c000 16K rwx-- [ anon ] 00007f76bc170000 4K r--s- /var/cache/fontconfig/3640555adad8a8f6978400293cfce7ab-le64.cache-3 00007f76bc171000 24K rwx-- [ anon ] 00007f76bc177000 184K rwx-- [ anon ] 00007f76bc1a5000 728K rwx-- [ anon ] 00007f76bc25b000 12K rwx-- [ anon ] 00007f76bc25e000 236K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so 00007f76bc299000 2044K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so 00007f76bc498000 12K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so 00007f76bc49b000 8K rwx-- [ anon ] 00007f76bc49d000 12K rwx-- [ anon ] 00007f76bc4a0000 4K r--s- /var/cache/fontconfig/87f5e051180a7a75f16eb6fe7dbd3749-le64.cache-3 00007f76bc4a1000 36K r--s- /var/cache/fontconfig/b79f3aaa7d385a141ab53ec885cc22a8-le64.cache-3 00007f76bc4aa000 4K rwx-- [ anon ] 00007f76bcbec000 12K r--s- /var/cache/fontconfig/0b1bcc92b4d25cc154d77dafe3bceaa0-le64.cache-3 00007f76bcbef000 4K rwx-- [ anon ] 00007f76bcbf0000 12K r--s- /var/cache/fontconfig/2e1514a9fdd499050989183bb65136db-le64.cache-3 00007f76bcbf3000 8K r--s- /var/cache/fontconfig/3f821257dd33660ba7bbb45c32deb84c-le64.cache-3 00007f76bcbf5000 8K r--s- /var/cache/fontconfig/830f035fa84a65ce80e050178dbb630d-le64.cache-3 00007f76bcbf7000 4K r--s- /var/cache/fontconfig/81a173283b451552b599cfaafd6236bd-le64.cache-3 00007f76bcbf8000 4K r--s- /var/cache/fontconfig/ac68f755438cc3dc5a526084839fc7ca-le64.cache-3 00007f76bcbf9000 4K r--s- /var/cache/fontconfig/12513961c6e7090f8648812f9eaf65d6-le64.cache-3 00007f76bcbfa000 8K r--s- /var/cache/fontconfig/e26bf336397aae6fcef4d3803472adec-le64.cache-3 00007f76bcbfc000 4K r--s- /var/cache/fontconfig/17e60ccdf2eb53b214a9a5d6663eb217-le64.cache-3 00007f76bcbfd000 4K r--s- /var/cache/fontconfig/6fcb01a03a016cc71057b587cdea6709-le64.cache-3 00007f76bcbfe000 12K r--s- /var/cache/fontconfig/e0636055caa850f70f1a6db008fc4729-le64.cache-3 00007f76bcc01000 4K r--s- /var/cache/fontconfig/b887eea8f1b96e1d899b44ed6681fc27-le64.cache-3 00007f76bcc02000 4K r--s- /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-le64.cache-3 00007f76bcc03000 4K r--s- /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-le64.cache-3 00007f76bcc04000 4K r--s- /var/cache/fontconfig/47f48679023f44a4d1e44699a69464f6-le64.cache-3 00007f76bcc05000 4K r--s- /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-le64.cache-3 00007f76bcc06000 4K r--s- /var/cache/fontconfig/3c3fb04d32a5211b073874b125d29701-le64.cache-3 00007f76bcc07000 4K r--s- /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-le64.cache-3 00007f76bcc08000 16K r--s- /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-le64.cache-3 00007f76bcc0c000 4K rwx-- [ anon ] 00007f76bcc0d000 4K r--s- /var/cache/fontconfig/860639f272b8b4b3094f9e399e41bccd-le64.cache-3 00007f76bcc0e000 4K r--s- /var/cache/fontconfig/211368abcb0ff835c229ff05c9ec01dc-le64.cache-3 00007f76bcc0f000 4K r--s- /var/cache/fontconfig/c46020d7221988a13df853d2b46304fc-le64.cache-3 00007f76bcc10000 16K r--s- /var/cache/fontconfig/7b312f204090bff0956e0e66992a6837-le64.cache-3 00007f76bcc14000 36K r--s- /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le64.cache-3 00007f76bcc1d000 28K r--s- /var/cache/fontconfig/928306c3ad40271d946e41014a49fc28-le64.cache-3 00007f76bcc24000 4K rwx-- [ anon ] 00007f76bcc25000 8K r--s- /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-le64.cache-3 00007f76bcc27000 4K r--s- /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-le64.cache-3 00007f76bcc28000 44K rwx-- [ anon ] 00007f76bcc33000 8K rwx-- [ anon ] 00007f76bcc35000 4K r--s- /var/cache/fontconfig/3640555adad8a8f6978400293cfce7ab-le64.cache-3 00007f76bcc36000 60K rwx-- [ anon ] 00007f76bcc45000 8K rwx-- [ anon ] 00007f76bcc47000 22692K rwx-- [ anon ] 00007f76be270000 1044K rwx-- [ anon ] 00007f76be375000 12K ----- [ anon ] 00007f76be378000 208K rwx-- [ anon ] 00007f76be3ac000 4K r---- [ anon ] 00007f76be3ad000 88K rwx-- [ anon ] 00007f76be3c3000 28K rwx-- [ anon ] 00007f76be3ca000 12K ----- [ anon ] 00007f76be3cd000 10520K rwx-- [ anon ] 00007f76bee13000 112K r-x-- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavresample.so.1.1.0 00007f76bee2f000 2044K ----- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavresample.so.1.1.0 00007f76bf02e000 8K rw--- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavresample.so.1.1.0 00007f76bf030000 60K rwx-- [ anon ] 00007f76bf03f000 1180K rwx-- [ anon ] 00007f76bf166000 16K rwx-- [ anon ] 00007f76bf16a000 8K rwx-- [ anon ] 00007f76bf16c000 284K r-x-- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libswscale.so.2.1.1 00007f76bf1b3000 2044K ----- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libswscale.so.2.1.1 00007f76bf3b2000 8K rw--- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libswscale.so.2.1.1 00007f76bf3b4000 9360K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavformat.so.54.21.2 00007f76bfcd8000 1100K r-x-- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavformat.so.54.21.2 00007f76bfdeb000 2048K ----- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavformat.so.54.21.2 00007f76bffeb000 84K rw--- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavformat.so.54.21.2 00007f76c0000000 132K rw--- [ anon ] 00007f76c0021000 65404K ----- [ anon ] 00007f76c4000000 12K rwx-- [ anon ] 00007f76c4003000 36K r-x-- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavdevice.so.53.2.0 00007f76c400c000 2044K ----- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavdevice.so.53.2.0 00007f76c420b000 8K rw--- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavdevice.so.53.2.0 00007f76c420d000 3328K rw--- [ anon ] 00007f76c454d000 36576K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavcodec.so.54.40.0 00007f76c6905000 6452K r-x-- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavcodec.so.54.40.0 00007f76c6f52000 2048K ----- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavcodec.so.54.40.0 00007f76c7152000 168K rw--- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavcodec.so.54.40.0 00007f76c717c000 5592K rw--- [ anon ] 00007f76c76f2000 9272K rwx-- [ anon ] 00007f76c8000000 6496K rw--- [ anon ] 00007f76c8658000 59040K ----- [ anon ] 00007f76cc000000 132K rw--- [ anon ] 00007f76cc021000 65404K ----- [ anon ] 00007f76d0000000 2620K rw--- [ anon ] 00007f76d028f000 62916K ----- [ anon ] 00007f76d4000000 76K rwx-- [ anon ] 00007f76d4013000 12K ----- [ anon ] 00007f76d4016000 1236K rwx-- [ anon ] 00007f76d414b000 4K rwx-- [ anon ] 00007f76d414c000 40K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/resources.jar 00007f76d4156000 84K rwx-- [ anon ] 00007f76d416b000 2560K rw--- [ anon ] 00007f76d43eb000 22268K rwx-- [ anon ] 00007f76d59aa000 16K rwx-- [ anon ] 00007f76d59ae000 124K r-x-- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavutil.so.52.5.0 00007f76d59cd000 2044K ----- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavutil.so.52.5.0 00007f76d5bcc000 12K rw--- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavutil.so.52.5.0 00007f76d5bcf000 16K rw--- [ anon ] 00007f76d5bd3000 8K rwx-- [ anon ] 00007f76d5bd5000 1036K rwx-- [ anon ] 00007f76d5cd8000 44K rwx-- [ anon ] 00007f76d5ce3000 516K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavutil.so.52.5.0 00007f76d5d64000 1412K rwx-- [ anon ] 00007f76d5ec5000 216K rwx-- [ anon ] 00007f76d5efb000 24K rwx-- [ anon ] 00007f76d5f01000 100K r-x-- /tmp/BridJExtractedLibraries4858399960179125874/libbridj.so 00007f76d5f1a000 2044K ----- /tmp/BridJExtractedLibraries4858399960179125874/libbridj.so 00007f76d6119000 4K r---- /tmp/BridJExtractedLibraries4858399960179125874/libbridj.so 00007f76d611a000 4K rw--- /tmp/BridJExtractedLibraries4858399960179125874/libbridj.so 00007f76d611b000 6364K rwx-- [ anon ] 00007f76d6752000 1496K rwx-- [ anon ] 00007f76d68c8000 24K rwx-- [ anon ] 00007f76d68ce000 12K rwx-- [ anon ] 00007f76d68d1000 1760K rw-s- [ shmid=0x1670004 ] 00007f76d6a89000 9016K rwx-- [ anon ] 00007f76d7357000 108K rwx-- [ anon ] 00007f76d7372000 168K rwx-- [ anon ] 00007f76d739c000 48K rwx-- [ anon ] 00007f76d73a8000 160K rwx-- [ anon ] 00007f76d73d0000 272K rwx-- [ anon ] 00007f76d7414000 2564K rwx-- [ anon ] 00007f76d7695000 332K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/xawt/libmawt.so 00007f76d76e8000 2048K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/xawt/libmawt.so 00007f76d78e8000 16K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/xawt/libmawt.so 00007f76d78ec000 4K rw--- [ anon ] 00007f76d78ed000 332K rwx-- [ anon ] 00007f76d7940000 20K rwx-- [ anon ] 00007f76d7945000 84K rwx-- [ anon ] 00007f76d795a000 8K rwx-- [ anon ] 00007f76d795c000 1220K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libswscale.so.2.1.1 00007f76d7a8d000 88K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libnet.so 00007f76d7aa3000 2048K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libnet.so 00007f76d7ca3000 4K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libnet.so 00007f76d7ca4000 556K rwx-- [ anon ] 00007f76d7d2f000 644K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libawt.so 00007f76d7dd0000 2048K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libawt.so 00007f76d7fd0000 48K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libawt.so 00007f76d7fdc000 144K rw--- [ anon ] 00007f76d8000000 132K rw--- [ anon ] 00007f76d8021000 65404K ----- [ anon ] 00007f76dc000000 60K rwx-- [ anon ] 00007f76dc00f000 452K rwx-- [ anon ] 00007f76dc080000 28K r--s- /usr/lib64/gconv/gconv-modules.cache 00007f76dc087000 500K rwx-- [ anon ] 00007f76dc104000 72K rwx-- [ anon ] 00007f76dc116000 144K r---- /usr/share/locale/cs/LC_MESSAGES/libc.mo 00007f76dc13a000 12K rwx-- [ anon ] 00007f76dc13d000 12K rwx-- [ anon ] 00007f76dc140000 192K rwx-- [ anon ] 00007f76dc170000 1072K rwx-- [ anon ] 00007f76dc27c000 32K rwx-- [ anon ] 00007f76dc284000 60K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/lib/dx-1.7.jar 00007f76dc293000 972K rwx-- [ anon ] 00007f76dc386000 4K rwx-- [ anon ] 00007f76dc387000 16K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/ext/localedata.jar 00007f76dc38b000 2824K rwx-- [ anon ] 00007f76dc64d000 52K rwx-- [ anon ] 00007f76dc65a000 20K rwx-- [ anon ] 00007f76dc65f000 28K rwx-- [ anon ] 00007f76dc666000 44K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/charsets.jar 00007f76dc671000 4K rwx-- [ anon ] 00007f76dc672000 32K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/lib/bridj-0.6.2.jar 00007f76dc67a000 248K rwx-- [ anon ] 00007f76dc6b8000 16K rwx-- [ anon ] 00007f76dc6bc000 20K rwx-- [ anon ] 00007f76dc6c1000 36K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/lib/jlibav-0.3-SNAPSHOT.jar 00007f76dc6ca000 21544K rwx-- [ anon ] 00007f76ddbd4000 102576K r---- /usr/lib/locale/locale-archive 00007f76e4000000 132K rw--- [ anon ] 00007f76e4021000 65404K ----- [ anon ] 00007f76e8000000 132K rw--- [ anon ] 00007f76e8021000 65404K ----- [ anon ] 00007f76ec000000 132K rw--- [ anon ] 00007f76ec021000 65404K ----- [ anon ] 00007f76f0000000 516K rwx-- [ anon ] 00007f76f0081000 4K ----- [ anon ] 00007f76f0082000 3180K rwx-- [ anon ] 00007f76f039d000 8K rwx-- [ anon ] 00007f76f039f000 16K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/jsse.jar 00007f76f03a3000 992K rwx-- [ anon ] 00007f76f049b000 4K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/playback-sample-0.3-SNAPSHOT.jar 00007f76f049c000 132K rwx-- [ anon ] 00007f76f04bd000 4K rwx-- [ anon ] 00007f76f04be000 36K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/ext/gnome-java-bridge.jar 00007f76f04c7000 28K rwx-- [ anon ] 00007f76f04ce000 12K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/ext/pulse-java.jar 00007f76f04d1000 10432K rwx-- [ anon ] 00007f76f0f01000 4K ----- [ anon ] 00007f76f0f02000 4464K rwx-- [ anon ] 00007f76f135e000 12K rwx-- [ anon ] 00007f76f1361000 13816K rwx-- [ anon ] 00007f76f20df000 4K ----- [ anon ] 00007f76f20e0000 11492K rwx-- [ anon ] 00007f76f2c19000 840K rwx-- [ anon ] 00007f76f2ceb000 52K rwx-- [ anon ] 00007f76f2cf8000 68K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libnio.so 00007f76f2d09000 2044K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libnio.so 00007f76f2f08000 4K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libnio.so 00007f76f2f09000 188K rwx-- [ anon ] 00007f76f323b000 10772K rwx-- [ anon ] 00007f76f3cc0000 68864K rw--- [ anon ] 00007f76f8000000 132K rw--- [ anon ] 00007f76f8021000 65404K ----- [ anon ] 00007f76fc000000 456K rwx-- [ anon ] 00007f76fc375000 14796K rwx-- [ anon ] 00007f76fd1e8000 8K rwx-- [ anon ] 00007f76fd1ea000 9952K rwx-- [ anon ] 00007f76fdba2000 4K ----- [ anon ] 00007f76fdba3000 1652K rwx-- [ anon ] 00007f76fdd40000 5140K rw--- [ anon ] 00007f76fe245000 52K rwx-- [ anon ] 00007f76fe252000 10280K rw--- [ anon ] 00007f76fec5c000 2868K rwx-- [ anon ] 00007f76fef29000 12K rwx-- [ anon ] 00007f76fef2c000 12K rwx-- [ anon ] 00007f76fef2f000 4K rwx-- [ anon ] 00007f76fef30000 17216K rw--- [ anon ] 00007f7700000000 132K rw--- [ anon ] 00007f7700021000 65404K ----- [ anon ] 00007f7704000000 132K rw--- [ anon ] 00007f7704021000 65404K ----- [ anon ] 00007f7708000000 132K rw--- [ anon ] 00007f7708021000 65404K ----- [ anon ] 00007f770c000000 396K rwx-- [ anon ] 00007f770c063000 108K rwx-- [ anon ] 00007f770c07e000 272K rwx-- [ anon ] 00007f770c0c2000 464K rwx-- [ anon ] 00007f770c136000 20K rwx-- [ anon ] 00007f770c13b000 12K rwx-- [ anon ] 00007f770c13e000 1704K rwx-- [ anon ] 00007f770c2e8000 432K rw--- [ anon ] 00007f770c354000 1712K r--s- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/rt.jar 00007f770c500000 4200K rwx-- [ anon ] 00007f770ca08000 4K rwx-- [ anon ] 00007f770ca0b000 4K rwx-- [ anon ] 00007f770ca14000 12K rwx-- [ anon ] 00007f770ca1b000 9716K rwx-- [ anon ] 00007f770d398000 4K ----- [ anon ] 00007f770d399000 11760K rwx-- [ anon ] 00007f770df15000 4K ----- [ anon ] 00007f770df16000 11756K rwx-- [ anon ] 00007f770ea91000 4K ----- [ anon ] 00007f770ea92000 12268K rwx-- [ anon ] 00007f770f68d000 4K ----- [ anon ] 00007f770f68e000 1196K rwx-- [ anon ] 00007f770f7b9000 44K rw--- [ anon ] 00007f770f7c4000 288K rw--- [ anon ] 00007f770f80c000 8K rwx-- [ anon ] 00007f770f80e000 12K rwx-- [ anon ] 00007f770f811000 32K rwx-- [ anon ] 00007f770f819000 8K rwx-- [ anon ] 00007f770f81b000 168K rw--- [ anon ] 00007f770f845000 2480K rw--- [ anon ] 00007f770fab1000 272K rwx-- [ anon ] 00007f770faf5000 12K rwx-- [ anon ] 00007f770faf8000 8K rwx-- [ anon ] 00007f770fafa000 44K rw--- [ anon ] 00007f770fb05000 288K rw--- [ anon ] 00007f770fb4d000 168K rw--- [ anon ] 00007f770fb77000 2480K rw--- [ anon ] 00007f770fde3000 84K rw--- [ anon ] 00007f770fdf8000 1240K rw--- [ anon ] 00007f770ff2e000 4K rw--- [ anon ] 00007f770ff2f000 584K rwx-- [ anon ] 00007f770ffc1000 228K rwx-- [ anon ] 00007f770fffa000 24K rwx-- [ anon ] 00007f7710000000 10920K rw--- [ anon ] 00007f7710aaa000 54616K ----- [ anon ] 00007f7714000000 284K rwx-- [ anon ] 00007f7714047000 80K rwx-- [ anon ] 00007f771405b000 40K rw--- [ anon ] 00007f7714065000 728K rw--- [ anon ] 00007f771411b000 2496K rwx-- [ anon ] 00007f771438b000 46656K rw--- [ anon ] 00007f771711b000 728K rwx-- [ anon ] 00007f77171d1000 16K rwx-- [ anon ] 00007f77171d5000 4K rwx-- [ anon ] 00007f77171d6000 32K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libzip.so 00007f77171de000 2044K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libzip.so 00007f77173dd000 4K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libzip.so 00007f77173de000 1200K rwx-- [ anon ] 00007f771750a000 8K rwx-- [ anon ] 00007f771750c000 32K rw-s- /tmp/hsperfdata_daemonx/26906 00007f7717514000 28K rwx-- [ anon ] 00007f771751b000 8K rwx-- [ anon ] 00007f771751d000 4K rwx-- [ anon ] 00007f771751e000 48K r-x-- /usr/lib64/libnss_files-2.15.so 00007f771752a000 2044K ----- /usr/lib64/libnss_files-2.15.so 00007f7717729000 4K r---- /usr/lib64/libnss_files-2.15.so 00007f771772a000 4K rw--- /usr/lib64/libnss_files-2.15.so 00007f771772b000 1240K rwx-- [ anon ] 00007f7717861000 4K rwx-- [ anon ] 00007f7717862000 4K rw--- [ anon ] 00007f7717863000 4K r---- [ anon ] 00007f7717864000 416K rwx-- [ anon ] 00007f77178cc000 92K rwx-- [ anon ] 00007f77178e3000 20K rwx-- [ anon ] 00007f77178e8000 168K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libjava.so 00007f7717912000 2048K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libjava.so 00007f7717b12000 8K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libjava.so 00007f7717b14000 144K rwx-- [ anon ] 00007f7717b38000 56K rwx-- [ anon ] 00007f7717b46000 20K rwx-- [ anon ] 00007f7717b4b000 32K rwx-- [ anon ] 00007f7717b53000 12K rwx-- [ anon ] 00007f7717b56000 52K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libverify.so 00007f7717b63000 2044K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libverify.so 00007f7717d62000 8K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libverify.so 00007f7717d64000 600K rwx-- [ anon ] 00007f7717dfa000 10092K rwx-- [ anon ] 00007f77187d5000 12K ----- [ anon ] 00007f77187d8000 1092K rwx-- [ anon ] 00007f77188e9000 996K rwx-- [ anon ] 00007f77189e2000 248K rwx-- [ anon ] 00007f7718a20000 1412K rwx-- [ anon ] 00007f7718b81000 12K rwx-- [ anon ] 00007f7718b84000 4K rwx-- [ anon ] 00007f7718b85000 1000K r-x-- /usr/lib64/libm-2.15.so 00007f7718c7f000 2044K ----- /usr/lib64/libm-2.15.so 00007f7718e7e000 4K r---- /usr/lib64/libm-2.15.so 00007f7718e7f000 4K rw--- /usr/lib64/libm-2.15.so 00007f7718e80000 60K rwx-- [ anon ] 00007f7718e8f000 8K rwx-- [ anon ] 00007f7718e91000 8K rwx-- [ anon ] 00007f7718e93000 24K rwx-- [ anon ] 00007f7718e99000 172K rwx-- [ anon ] 00007f7718ec4000 10248K r-x-- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/server/libjvm.so 00007f77198c6000 2048K ----- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/server/libjvm.so 00007f7719ac6000 644K rw--- /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/server/libjvm.so 00007f7719b67000 172K rw--- [ anon ] 00007f7719b92000 1232K rwx-- [ anon ] 00007f7719cc6000 8K rwx-- [ anon ] 00007f7719cc8000 1148K rwx-- [ anon ] 00007f7719de7000 2052K rwx-- [ anon ] 00007f7719fe8000 48K rwx-- [ anon ] 00007f7719ff4000 72K rwx-- [ anon ] 00007f771a006000 904K rwx-- [ anon ] 00007f771a0e8000 8K rw--- [ anon ] 00007f771a0ea000 4K rwx-- [ anon ] 00007f771a0eb000 4K rw--- [ anon ] 00007f771a0ec000 164K rwx-- [ anon ] 00007f771a115000 12K rwx-- [ anon ] 00007f771a118000 4K rwx-- [ anon ] 00007f771a119000 1712K r-x-- /usr/lib64/libc-2.15.so 00007f771a2c5000 2048K ----- /usr/lib64/libc-2.15.so 00007f771a4c5000 16K r---- /usr/lib64/libc-2.15.so 00007f771a4c9000 8K rw--- /usr/lib64/libc-2.15.so 00007f771a4cb000 20K rw--- [ anon ] 00007f771a4d0000 12K r-x-- /usr/lib64/libdl-2.15.so 00007f771a4d3000 2044K ----- /usr/lib64/libdl-2.15.so 00007f771a6d2000 4K r---- /usr/lib64/libdl-2.15.so 00007f771a6d3000 4K rw--- /usr/lib64/libdl-2.15.so 00007f771a6d4000 220K rwx-- [ anon ] 00007f771a70b000 4K rw--- [ anon ] 00007f771a70c000 140K rwx-- [ anon ] 00007f771a72f000 4K rw--- [ anon ] 00007f771a730000 308K rwx-- [ anon ] 00007f771a77d000 20K rwx-- [ anon ] 00007f771a782000 1084K rwx-- [ anon ] 00007f771a891000 4K rw--- [ anon ] 00007f771a892000 596K rwx-- [ anon ] 00007f771a927000 1312K rwx-- [ anon ] 00007f771aa6f000 2304K ----- [ anon ] 00007f771acaf000 41472K rwx-- [ anon ] 00007f771d52f000 218368K ----- [ anon ] 00007f772aa6f000 8204K rwx-- [ anon ] 00007f772b272000 11240K rw--- [ anon ] 00007f772bd6c000 100K rwx-- [ anon ] 00007f772bd85000 328K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavresample.so.1.1.0 00007f772bdd7000 8K rwx-- [ anon ] 00007f772bdd9000 12K rwx-- [ anon ] 00007f772bddc000 284K r--s- /home/daemonx/NetBeansProjects/jlibav/samples/playback-sample/target/playback-sample-0.3-SNAPSHOT-bin/libav/libavdevice.so.53.2.0 00007f772be23000 16K rwx-- [ anon ] 00007f772be27000 916K rwx-- [ anon ] 00007f772bf0c000 2304K rw--- [ anon ] 00007f772c14c000 1280K rwx-- [ anon ] 00007f772c28c000 88K r-x-- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_ext_lib/libelf.so.0.8.13 00007f772c2a2000 2048K ----- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_ext_lib/libelf.so.0.8.13 00007f772c4a2000 4K rw--- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_ext_lib/libelf.so.0.8.13 00007f772c4a3000 224K r-x-- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_ext_lib/libdwarf.so 00007f772c4db000 2048K ----- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_ext_lib/libdwarf.so 00007f772c6db000 8K rw--- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_ext_lib/libdwarf.so 00007f772c6dd000 5060K r-x-- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/sde-mix-mt.so 00007f772cbce000 2048K ----- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/sde-mix-mt.so 00007f772cdce000 232K rw--- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/sde-mix-mt.so 00007f772ce08000 3772K rw--- [ anon ] 00007f772d1b7000 84K r-x-- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libgcc_s.so.1 00007f772d1cc000 2044K ----- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libgcc_s.so.1 00007f772d3cb000 4K rw--- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libgcc_s.so.1 00007f772d3cc000 896K r-x-- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libstdc++.so.6 00007f772d4ac000 2044K ----- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libstdc++.so.6 00007f772d6ab000 32K r---- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libstdc++.so.6 00007f772d6b3000 8K rw--- /home/daemonx/pokus/sde-bdw-external-5.38.0-2013-01-03-lin/intel64/pin_lib/libstdc++.so.6 00007f772d6b5000 88K rw--- [ anon ] 00007f772d6cb000 28K rwx-- [ anon ] 00007f772d6d2000 100K rw--- [ anon ] 00007f772d6eb000 124K rwx-- [ anon ] 00007f772d70b000 20K rwx-- [ anon ] 00007f772d710000 128K r-x-- /usr/lib64/ld-2.15.so 00007f772d730000 2044K ----- [ anon ] 00007f772d92f000 4K r---- /usr/lib64/ld-2.15.so 00007f772d930000 4K rw--- /usr/lib64/ld-2.15.so 00007f772d931000 4K rw--- [ anon ] 00007fff4cfce000 132K rwx-- [ stack ] 00007fff4cfef000 4K rw--- [ anon ] 00007fff4cfff000 4K r-x-- [ anon ] ffffffffff600000 4K r-x-- [ anon ] total 5386596K -------------- next part -------------- # =================================================== # AVX/SSE transition checker # # 'Penalty in Block' provides the address (rIP) of the code basic block with # the penaties. # # 'Dynamic AVX to SSE Transition' counts the number of potentially # costly AVX-to-SSE sequences # # 'Dynamic SSE to AVX Transition' counts the number of potentially # costly SSE-to-AVX sequences # # 'Static Icount' is the static number instructions in the block # # 'Executions' is the dynamic number of times the block was executed # # 'Dynamic Icount' is the product of the static icount and executions columns # # 'Previous Block' is an attempt to find the previous control flow block # # 'State Change Block' is an attempt to find the block that put the # state machine in a state that conflicted with this block, causing a # transition in this block # # =================================================== Penalty Dynamic Dynamic State in AVX to SSE SSE to AVX Static Dynamic Previous Change Block Transition Transition Icount Executions Icount Block Block ================ ============ ============ ======== ========== ======== ================ ================ 0x7fdeb100046f 1 0 19 95204 1808876 0x7fdebc341337 0x3579214ec4 #Initial state from routine: _dl_x86_64_save_sse @ 0x3579214ec4 #Previous block in routine: .text @ 0x7fdebc341337 #Penalty detected in routine: *unknown* @ 0x7fdeb100046f 0x7fdeb1011f90 0 4 12 431629 5179548 0x7fdebc3882bb 0x7fdeb1000522 #Initial state from routine: *unknown* @ 0x7fdeb1000522 #Previous block in routine: JVM_CurrentThread @ 0x7fdebc3882bb #Penalty detected in routine: *unknown* @ 0x7fdeb1011f90 0x7fdeb1000522 4 0 11 49188 541068 0x7fdeb1000519 0x7fdeb1011f90 #Initial state from routine: *unknown* @ 0x7fdeb1011f90 #Previous block in routine: *unknown* @ 0x7fdeb1000519 #Penalty detected in routine: *unknown* @ 0x7fdeb1000522 0x7fde771071b3 0 1 9 2 18 0x7fdebd0dfa34 0x7fdeb1000522 #Initial state from routine: *unknown* @ 0x7fdeb1000522 #Previous block in routine: _int_free @ 0x7fdebd0dfa34 #Penalty detected in routine: Java_sun_font_NativeFont_fontExists @ 0x7fde771071b3 # SUMMARY # AVX_to_SSE_transition_instances: 5 # SSE_to_AVX_transition_instances: 5 # Dynamic_insts: 210676150372 # AVX_to_SSE_instances/instruction: 0.0000 # SSE_to_AVX_instances/instruction: 0.0000 # AVX_to_SSE_instances/100instructions: 0.0000 # SSE_to_AVX_instances/100instructions: 0.0000 From vladimir.kozlov at oracle.com Wed Mar 27 16:28:39 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 27 Mar 2013 16:28:39 -0700 Subject: AVX 256 instructions in JDK7? In-Reply-To: References: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> <5151F7FD.8000007@oracle.com> Message-ID: <515380A7.9000303@oracle.com> Ondrej, thank you for the detailed report. So it happens because of call into native library. I surprise that a call which is executed only once is causing this. Question: can you build Hotspot VM if I give you changes to test? There is place in VM where it does some resetting when calling native methods. Executing vzeroupper at that place may fix your problem. I attached patch which you can try. Regards, Vladimir On 3/27/13 1:54 PM, Ond?ej Perutka wrote: > Hello again, > I don't want to speak too soon but I think I found the problem. This > mail is a bit longer, so first of all let me answer your questions (feel > free to skip this part :-)). > > First, what java version you are experimented with? > > > java version "1.7.0_09-icedtea" > OpenJDK Runtime Environment (fedora-2.3.8.0.fc17-x86_64) > OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) > > > Could you clarify your statement?: > > > Attached is output from the Intel's Software Development Emulator and > memory map of the emulated application. There are listed time consuming > transitions between AVX and SSE instructions in the SDE output. > Important are lines with non-zero number of "Dynamic AVX to SSE > Transitions". This means transition from the state B to the state C of > YMM registers (using Agner's terminology). Each line has address of the > "State Change Block". In this case it should be address of the block > which put the registers into the state B (and did not call vzeroupper to > put them into the state A). Almost all of those addresses points > somewhere into an anonymous memory. > > > Do you have call stacks? > > > Unfortunately I cannot get call stacks because it's almost impossible to > debug JVM running within the SDE (it's terribly slow, it takes several > minutes even to start my application). And without SDE I cannot get > those "State Change Block" addresses pointing to the anonymous memory so > I don't know where to put breakpoints. > > > Does the problem happened only in this code or during calls into Libav? > > I'm not sure I understand your question so I hope the answer is > satisfactory :-) : I have not checked any other code but I'm pretty sure > it would cause trouble in any other call to a native code which mixes > SSE and AVX 128 instructions. > > > As I understand, it is only problem if you mix SSE and AVX > instructions in the same loop. Our JIT should not do that. It > generates only AVX instructions (with VEX prefix) if AVX is available. > > > It's not only problem of some loop it makes problems to the whole > thread. (OS is responsible for clearing upper half of YMM registers on > context switching, so it should not affect other threads.) The whole > problem starts if there is some VEX prefixed 256 bit instruction not > followed by the VZEROUPPER instruction. It leaves upper half of some YMM > register used. And if it is followed by some block of SSE instructions > or even worse by some block which mixes SSE and 128 bit AVX instructions > it will cause time consuming transition(s) between states of YMM registers. > > Here is a problematic example: > --------------------------------------------- > > ... > # some 256 bit AVX instruction: > AVX 256 > ... > # call to a function which mixes SSE and 128 bit AVX instructions: > AVX 128 > SSE > AVX 128 > SSE > AVX 128 > ... > > And here is a correct example: > --------------------------------------------- > > ... > # some 256 bit AVX instruction: > AVX 256 > ... > vzeroupper > ... > # call to a function which mixes SSE and 128 bit AVX instructions: > AVX 128 > SSE > AVX 128 > SSE > AVX 128 > ... > > ############################### > > OK, that's all about your e-mail, now about my findings. Thanks to Peter > Levart, who wrote me it's possible to disable AVX instructions within > JVM using the -XX:UseAVX=0 command line option, I was able to filter > noise from the SDE output. The rest was the problematic spot. It is the > _dl_x86_64_save_sse function from the ld-2.15.so > library. This function is called (indirectly) from the > Java_sun_font_NativeFont_fontExists function which is a part of the > libfontmanager.so library. I believe it's a part of OpenJDK since it's > located in my OpenJDK directory tree. Here is the call stack: > > #0 0x0000003579214e80 in _dl_x86_64_save_sse () from > /lib64/ld-linux-x86-64.so.2 > #1 0x000000357920ad09 in _dl_lookup_symbol_x () from > /lib64/ld-linux-x86-64.so.2 > #2 0x000000357920e2d4 in _dl_fixup () from /lib64/ld-linux-x86-64.so.2 > #3 0x00000035792148e5 in _dl_runtime_resolve () from > /lib64/ld-linux-x86-64.so.2 > #4 0x00007fffdea841a8 in Java_sun_font_NativeFont_fontExists () > from > /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so > #5 0x00007fffed011f90 in ?? () > #6 0x00007fffed005410 in ?? () > ... > > The Java_sun_font_NativeFont_fontExists function was called only once > right after my application started. > > To prove it's the cause of all problems I made a little hack to the > libfontmanager.so and added the vzeroupper instruction opcode before > return from the Java_sun_font_NativeFont_fontExists. (I also removed > corresponding nop padding from the end of the function.) Everything > works fine since then even with enabled AVX instructions. It seems this > forgotten call caused literally a chain reaction. Attached is output > from the emulator made after this hack. You can compare it with the > previous one. (There are still some conflicts because the vzeroupper is > not called immediately after return from the _dl_runtime_resolve function.) > > I don't know whether the _dl_runtime_resolve function called directly > from the Java_sun_font_NativeFont_fontExists function is a part of ld's > public API or not, so I don't know whether the bug is on side of OpenJDK > or binutils. > > Regards, > Ondrej > > > 2013/3/26 Vladimir Kozlov > > > Hi Ondrej > > we need more context from you. > > First, what java version you are experimented with? > > Currently AVX wide vectors usage is only available in EA jdk8. > In 7u4 was added only usage of VEX prefix. > > The "anonymous memory" is most likely our CodeCache where JIT places > compiled native code. > > Could you clarify your statement?: > > > >> The origin of almost all bad transitions from AVX -> SSE (I mean > the code that uses > >> AVX 256 instructions and does not call VZEROUPPER) is somewhere > inside > >> anonymous memory blocks (according to Intel's SDE and pmem). > > Do you have call stacks? > Does the problem happened only in this code or during calls into Libav? > > > >> to the same libraries with AVX disabled. The problem is > definitely in > >> "bad" transitions between SSE and AVX instructions. These > transitions > >> are costly in case the upper part of YMM registers is not zeroed > using > >> VZEROUPPER or VZEROALL instruction before using SSE. More details at > >> http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). > > As I understand, it is only problem if you mix SSE and AVX > instructions in the same loop. Our JIT should not do that. It > generates only AVX instructions (with VEX prefix) if AVX is available. > > Regards, > Vladimir > > > > On 3/26/13 11:34 AM, Christian Thalinger wrote: > > [That question should go to hotspot-compiler-dev. BCC'ed > hotspot-runtime-dev.] > > On Mar 26, 2013, at 8:20 AM, Ond?ej Perutka > > >> wrote: > > Hello, > I've got a question related to my project. It is Java > wrapper for > Libav libraries and I have some performance issues with it. > > If I compile the libraries with AVX instructions enabled the > whole > testing application uses approximately 130% of CPU time in > comparison > to the same libraries with AVX disabled. The problem is > definitely in > "bad" transitions between SSE and AVX instructions. These > transitions > are costly in case the upper part of YMM registers is not > zeroed using > VZEROUPPER or VZEROALL instruction before using SSE. More > details at > http://agner.org/optimize/optimizing_assembly.pdf (section > 13.6). > > There is no problem with those libraries, if they are not > used from > Java. I used Intel's Software Developer Emulator to find > those bad AVX > <-> SSE transitions and I found thousands of them. The origin of > almost all bad transitions from AVX -> SSE (I mean the code > that uses > AVX 256 instructions and does not call VZEROUPPER) is > somewhere inside > anonymous memory blocks (according to Intel's SDE and pmem). > > Libav mixes SSE and AVX 128 instructions a lot. It cannot > cause any > trouble if the upper part of YMM registers is zeroed. But in > case it > is not zeroed it would oscillate between B and C states > (according to > the Agner's terminology). Both of these transitions costs > quite a lot > of CPU cycles. > > So here is my question: Is it possible that JIT compiler > compiles some > bytecode into native instructions, uses some AVX 256 > instrucitons, > does not use VZEROUPPER and puts the result into some > anonymous memory > block? > > Ondrej Perutka > > > -------------- next part -------------- --- old/src/cpu/x86/vm/assembler_x86.cpp 2013-03-27 16:23:25.000000000 -0700 +++ new/src/cpu/x86/vm/assembler_x86.cpp 2013-03-27 16:23:24.000000000 -0700 @@ -3118,6 +3118,12 @@ emit_operand(dst, src); } +void Assembler::vzeroupper() { + assert(VM_Version::supports_avx(), ""); + (void)vex_prefix_and_encode(xmm0, xmm0, xmm0, VEX_SIMD_NONE); + emit_int8(0x77); +} + #ifndef _LP64 // 32bit only pieces of the assembler --- old/src/cpu/x86/vm/assembler_x86.hpp 2013-03-27 16:23:25.000000000 -0700 +++ new/src/cpu/x86/vm/assembler_x86.hpp 2013-03-27 16:23:25.000000000 -0700 @@ -1612,6 +1612,11 @@ void vxorpd(XMMRegister dst, XMMRegister nds, Address src); void vxorps(XMMRegister dst, XMMRegister nds, Address src); + // AVX instruction which is used to clear upper 128 bits of YMM registers and + // to avoid transaction penalty between AVX and SSE states. There is no + // penalty if legacy SSE instructions are encoded using VEX prefix because + // they always clear upper 128 bits. + void vzeroupper(); protected: // Next instructions require address alignment 16 bytes SSE mode. --- old/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2013-03-27 16:23:26.000000000 -0700 +++ new/src/cpu/x86/vm/sharedRuntime_x86_64.cpp 2013-03-27 16:23:26.000000000 -0700 @@ -2103,6 +2103,10 @@ else if (CheckJNICalls ) { __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::verify_mxcsr_entry()))); } + if (VM_Version::supports_avx()) { + // Clear upper bits of YMM registers to avoid SSE <-> AVX transition penalty. + __ vzeroupper(); + } // Unpack native results. --- old/src/cpu/x86/vm/templateInterpreter_x86_64.cpp 2013-03-27 16:23:26.000000000 -0700 +++ new/src/cpu/x86/vm/templateInterpreter_x86_64.cpp 2013-03-27 16:23:26.000000000 -0700 @@ -1087,6 +1087,10 @@ else if (CheckJNICalls) { __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::x86::verify_mxcsr_entry()))); } + if (VM_Version::supports_avx()) { + // Clear upper bits of YMM registers to avoid SSE <-> AVX transition penalty. + __ vzeroupper(); + } // NOTE: The order of these pushes is known to frame::interpreter_frame_result // in order to extract the result of a method call. If the order of these From david.r.chase at oracle.com Wed Mar 27 18:09:41 2013 From: david.r.chase at oracle.com (David Chase) Date: Wed, 27 Mar 2013 21:09:41 -0400 Subject: RFR (M): 6443505: Ideal() function for CmpLTMask Message-ID: <32C62903-0EB1-4668-B66F-B94ED433AC30@oracle.com> Problem: (as stated) C2 needs a special case like CmpLTMask (turn result of a comparison into a -1/0 mask) for the comparison of a difference with zero. (as actually observed) 1) The improvement in that case is minimal and (very) difficult to get to trigger, because CSE interferes and extracts the p-q from the pattern. 2) The original code generation for caddCmpLTMask on some platforms was actually wrong (used carry bit for a signed comparison) 3) The original Ideal pattern matching, because of a typo/thinko, accidentally failed to apply in the symmetric case 4) Code generation for CmpLTMask on all platforms omitted the somewhat relevant case of and-CmpLTMask; if the very specific pattern failed to apply, then it would fall back to the laborious calculation of an actual mask, when much more compact code could apply. Fix: Repair wrong code generation. Write additional pattern for (and (cmpltmask p q) y) Fixed the typo so the pattern fires more often. Webrev: http://cr.openjdk.java.net/~drchase/6443505/webrev.00/ Testing: Wrote a new test to definitely exercise the two patterns in question. Verified that "new test" would fail running with unfixed compiler. Verified (observing assembly output) that the new patterns matched on x86_32-cmov, x86_32+cmov, x86_64, and Sparc (except that I could not get the and-cmpltmask pattern to fire on Sparc. Bit of a shame we lack a cumulative coverage tool wired into jtreg so we could easily know if it ever fired at all). Benchmarked change on x86_64 (saw little or no performance difference on the whole benchmark) JPRT on compiler tests (clean runs thwarted by irrelevant failures, but it was always the same 2 or 3 borked tests.) JPRT on just the new test (clean run) Questions: not 100% sure on the pattern costs. not 100% sure on the choice of "pipeline". From roland.westrelin at oracle.com Thu Mar 28 01:25:46 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 28 Mar 2013 09:25:46 +0100 Subject: RFR(S) 8009721: Move the definition of class LRG_List In-Reply-To: <561052B9-E703-4F9D-B47F-EB836B3C8184@oracle.com> References: <561052B9-E703-4F9D-B47F-EB836B3C8184@oracle.com> Message-ID: <3CDC988E-6615-48F8-BCBC-4443A6637A04@oracle.com> > Problem: > The class PhaseLive in opto/live.hpp uses a data structure, class LRG_List, defined in opto/chaitin.hpp. Each time the class PhaseLive is used, chaitin.hpp needs to be included. This would make no sense if, for example, a new register allocator in C2 would like to use the class PhaseLive and because of this needs to include chaitin.hpp. > > Solution: > Move the definition of the class LRG_List from opto/chaitin.hpp to opto/live.hpp. It looks good to me. Roland. From roland.westrelin at oracle.com Thu Mar 28 02:01:45 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 28 Mar 2013 10:01:45 +0100 Subject: RFR (S): 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" Message-ID: http://cr.openjdk.java.net/~roland/8010934/webrev.00/ LIRGenerator::do_ArrayLength() tries to not emit code to load the length of an array if it doesn't serve as implicit null check and it's not used (following range check elimination), using the instruction's use count. The use count doesn't take into account references from debug infos so even if it is zero the instruction can still be needed. This minor optimization doesn't appear to trigger often (never on a few reference_server runs) so I simply removed it. Roland. From roland.westrelin at oracle.com Thu Mar 28 02:19:08 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 28 Mar 2013 10:19:08 +0100 Subject: RFR(XS): 8010399: Test8009761.java "Failed: init recursive calls: 5498. After deopt 5494". Message-ID: http://cr.openjdk.java.net/~roland/8010399/webrev.00/ The test that I pushed for: 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates assumes it controls what gets compiled and when so it cannot be run with -Xcomp. Adding the -Xmixed option is apparently sufficient to prevent it from running with -Xcomp. Roland. From perutka.ondrej at gmail.com Thu Mar 28 08:51:25 2013 From: perutka.ondrej at gmail.com (=?ISO-8859-2?Q?Ond=F8ej_Perutka?=) Date: Thu, 28 Mar 2013 16:51:25 +0100 Subject: AVX 256 instructions in JDK7? In-Reply-To: <515380A7.9000303@oracle.com> References: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> <5151F7FD.8000007@oracle.com> <515380A7.9000303@oracle.com> Message-ID: Excellent, the patch works! However, I got an error during compilation. (I applied the patch to the OpenJDK version jdk7u9-b05.) It said the emit_int8() method was undefined so I replaced it with the emit_byte() method. I hope it has the same functionality. Attached is updated patch. I also think the doc of the vzeroupper() method is a bit confusing because the VEX prefixed SSE instructions leaves upper part of YMM registers untouched. That's why it's problematic if they are combined with legacy SSE instructions and the upper part of some YMM register is non-zero. See the YMM transition table in section 13.6 of the Agner's publication: http://agner.org/optimize/optimizing_assembly.pdf Regards, Ondrej 2013/3/28 Vladimir Kozlov > Ondrej, thank you for the detailed report. > > So it happens because of call into native library. > I surprise that a call which is executed only once is causing this. > > Question: can you build Hotspot VM if I give you changes to test? > > There is place in VM where it does some resetting when calling native > methods. Executing vzeroupper at that place may fix your problem. > > I attached patch which you can try. > > Regards, > Vladimir > > > On 3/27/13 1:54 PM, Ond?ej Perutka wrote: > >> Hello again, >> I don't want to speak too soon but I think I found the problem. This >> mail is a bit longer, so first of all let me answer your questions (feel >> free to skip this part :-)). >> >> First, what java version you are experimented with? >> >> >> java version "1.7.0_09-icedtea" >> OpenJDK Runtime Environment (fedora-2.3.8.0.fc17-x86_64) >> OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) >> >> >> Could you clarify your statement?: >> >> >> Attached is output from the Intel's Software Development Emulator and >> memory map of the emulated application. There are listed time consuming >> transitions between AVX and SSE instructions in the SDE output. >> Important are lines with non-zero number of "Dynamic AVX to SSE >> Transitions". This means transition from the state B to the state C of >> YMM registers (using Agner's terminology). Each line has address of the >> "State Change Block". In this case it should be address of the block >> which put the registers into the state B (and did not call vzeroupper to >> put them into the state A). Almost all of those addresses points >> somewhere into an anonymous memory. >> >> >> Do you have call stacks? >> >> >> Unfortunately I cannot get call stacks because it's almost impossible to >> debug JVM running within the SDE (it's terribly slow, it takes several >> minutes even to start my application). And without SDE I cannot get >> those "State Change Block" addresses pointing to the anonymous memory so >> I don't know where to put breakpoints. >> >> >> Does the problem happened only in this code or during calls into >> Libav? >> >> I'm not sure I understand your question so I hope the answer is >> satisfactory :-) : I have not checked any other code but I'm pretty sure >> it would cause trouble in any other call to a native code which mixes >> SSE and AVX 128 instructions. >> >> >> As I understand, it is only problem if you mix SSE and AVX >> instructions in the same loop. Our JIT should not do that. It >> generates only AVX instructions (with VEX prefix) if AVX is available. >> >> >> It's not only problem of some loop it makes problems to the whole >> thread. (OS is responsible for clearing upper half of YMM registers on >> context switching, so it should not affect other threads.) The whole >> problem starts if there is some VEX prefixed 256 bit instruction not >> followed by the VZEROUPPER instruction. It leaves upper half of some YMM >> register used. And if it is followed by some block of SSE instructions >> or even worse by some block which mixes SSE and 128 bit AVX instructions >> it will cause time consuming transition(s) between states of YMM >> registers. >> >> Here is a problematic example: >> --------------------------------------------- >> >> ... >> # some 256 bit AVX instruction: >> AVX 256 >> ... >> # call to a function which mixes SSE and 128 bit AVX instructions: >> AVX 128 >> SSE >> AVX 128 >> SSE >> AVX 128 >> ... >> >> And here is a correct example: >> --------------------------------------------- >> >> ... >> # some 256 bit AVX instruction: >> AVX 256 >> ... >> vzeroupper >> ... >> # call to a function which mixes SSE and 128 bit AVX instructions: >> AVX 128 >> SSE >> AVX 128 >> SSE >> AVX 128 >> ... >> >> ############################### >> >> OK, that's all about your e-mail, now about my findings. Thanks to Peter >> Levart, who wrote me it's possible to disable AVX instructions within >> JVM using the -XX:UseAVX=0 command line option, I was able to filter >> noise from the SDE output. The rest was the problematic spot. It is the >> _dl_x86_64_save_sse function from the ld-2.15.so >> >> library. This function is called (indirectly) from the >> Java_sun_font_NativeFont_fontExists function which is a part of the >> libfontmanager.so library. I believe it's a part of OpenJDK since it's >> located in my OpenJDK directory tree. Here is the call stack: >> >> #0 0x0000003579214e80 in _dl_x86_64_save_sse () from >> /lib64/ld-linux-x86-64.so.2 >> #1 0x000000357920ad09 in _dl_lookup_symbol_x () from >> /lib64/ld-linux-x86-64.so.2 >> #2 0x000000357920e2d4 in _dl_fixup () from /lib64/ld-linux-x86-64.so.2 >> #3 0x00000035792148e5 in _dl_runtime_resolve () from >> /lib64/ld-linux-x86-64.so.2 >> #4 0x00007fffdea841a8 in Java_sun_font_NativeFont_fontExists () >> from >> >> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so >> #5 0x00007fffed011f90 in ?? () >> #6 0x00007fffed005410 in ?? () >> ... >> >> The Java_sun_font_NativeFont_fontExists function was called only once >> right after my application started. >> >> To prove it's the cause of all problems I made a little hack to the >> libfontmanager.so and added the vzeroupper instruction opcode before >> return from the Java_sun_font_NativeFont_fontExists. (I also removed >> corresponding nop padding from the end of the function.) Everything >> works fine since then even with enabled AVX instructions. It seems this >> forgotten call caused literally a chain reaction. Attached is output >> from the emulator made after this hack. You can compare it with the >> previous one. (There are still some conflicts because the vzeroupper is >> not called immediately after return from the _dl_runtime_resolve >> function.) >> >> I don't know whether the _dl_runtime_resolve function called directly >> from the Java_sun_font_NativeFont_fontExists function is a part of ld's >> public API or not, so I don't know whether the bug is on side of OpenJDK >> or binutils. >> >> Regards, >> Ondrej >> >> >> 2013/3/26 Vladimir Kozlov > > >> >> >> Hi Ondrej >> >> we need more context from you. >> >> First, what java version you are experimented with? >> >> Currently AVX wide vectors usage is only available in EA jdk8. >> In 7u4 was added only usage of VEX prefix. >> >> The "anonymous memory" is most likely our CodeCache where JIT places >> compiled native code. >> >> Could you clarify your statement?: >> >> >> >> The origin of almost all bad transitions from AVX -> SSE (I mean >> the code that uses >> >> AVX 256 instructions and does not call VZEROUPPER) is somewhere >> inside >> >> anonymous memory blocks (according to Intel's SDE and pmem). >> >> Do you have call stacks? >> Does the problem happened only in this code or during calls into >> Libav? >> >> >> >> to the same libraries with AVX disabled. The problem is >> definitely in >> >> "bad" transitions between SSE and AVX instructions. These >> transitions >> >> are costly in case the upper part of YMM registers is not zeroed >> using >> >> VZEROUPPER or VZEROALL instruction before using SSE. More details >> at >> >> http://agner.org/optimize/optimizing_assembly.pdf (section 13.6). >> >> As I understand, it is only problem if you mix SSE and AVX >> instructions in the same loop. Our JIT should not do that. It >> generates only AVX instructions (with VEX prefix) if AVX is available. >> >> Regards, >> Vladimir >> >> >> >> On 3/26/13 11:34 AM, Christian Thalinger wrote: >> >> [That question should go to hotspot-compiler-dev. BCC'ed >> hotspot-runtime-dev.] >> >> On Mar 26, 2013, at 8:20 AM, Ond?ej Perutka >> >> > >> >> wrote: >> >> Hello, >> I've got a question related to my project. It is Java >> wrapper for >> Libav libraries and I have some performance issues with it. >> >> If I compile the libraries with AVX instructions enabled the >> whole >> testing application uses approximately 130% of CPU time in >> comparison >> to the same libraries with AVX disabled. The problem is >> definitely in >> "bad" transitions between SSE and AVX instructions. These >> transitions >> are costly in case the upper part of YMM registers is not >> zeroed using >> VZEROUPPER or VZEROALL instruction before using SSE. More >> details at >> http://agner.org/optimize/optimizing_assembly.pdf (section >> 13.6). >> >> There is no problem with those libraries, if they are not >> used from >> Java. I used Intel's Software Developer Emulator to find >> those bad AVX >> <-> SSE transitions and I found thousands of them. The origin >> of >> almost all bad transitions from AVX -> SSE (I mean the code >> that uses >> AVX 256 instructions and does not call VZEROUPPER) is >> somewhere inside >> anonymous memory blocks (according to Intel's SDE and pmem). >> >> Libav mixes SSE and AVX 128 instructions a lot. It cannot >> cause any >> trouble if the upper part of YMM registers is zeroed. But in >> case it >> is not zeroed it would oscillate between B and C states >> (according to >> the Agner's terminology). Both of these transitions costs >> quite a lot >> of CPU cycles. >> >> So here is my question: Is it possible that JIT compiler >> compiles some >> bytecode into native instructions, uses some AVX 256 >> instrucitons, >> does not use VZEROUPPER and puts the result into some >> anonymous memory >> block? >> >> Ondrej Perutka >> >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130328/42c824aa/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: hsx23.patch Type: application/octet-stream Size: 2455 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130328/42c824aa/hsx23-0001.patch From vladimir.kozlov at oracle.com Thu Mar 28 08:54:02 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 28 Mar 2013 08:54:02 -0700 Subject: RFR (S): 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" In-Reply-To: References: Message-ID: <5154679A.6050606@oracle.com> Why big indention for print in process_access_indexed() also could ad parenthesis and spaces for length expression in it?: ((ai->length() != NULL) ? ai->length()->id() : -1) insert_deoptimization() comment said it returns true or false but I don't see that. May be change the comment. Thanks, Vladimir On 3/28/13 2:01 AM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8010934/webrev.00/ > > LIRGenerator::do_ArrayLength() tries to not emit code to load the length of an array if it doesn't serve as implicit null check and it's not used (following range check elimination), using the instruction's use count. The use count doesn't take into account references from debug infos so even if it is zero the instruction can still be needed. This minor optimization doesn't appear to trigger often (never on a few reference_server runs) so I simply removed it. > > Roland. > From vladimir.kozlov at oracle.com Thu Mar 28 08:57:52 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 28 Mar 2013 08:57:52 -0700 Subject: RFR(XS): 8010399: Test8009761.java "Failed: init recursive calls: 5498. After deopt 5494". In-Reply-To: References: Message-ID: <51546880.4090006@oracle.com> Good. Yes, we need more precise control what is compiled and inlined. Thanks, Vladimir On 3/28/13 2:19 AM, Roland Westrelin wrote: > http://cr.openjdk.java.net/~roland/8010399/webrev.00/ > > The test that I pushed for: > 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates > > assumes it controls what gets compiled and when so it cannot be run with -Xcomp. Adding the -Xmixed option is apparently sufficient to prevent it from running with -Xcomp. > > Roland. > From roland.westrelin at oracle.com Thu Mar 28 09:03:24 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 28 Mar 2013 17:03:24 +0100 Subject: RFR(XS): 8010399: Test8009761.java "Failed: init recursive calls: 5498. After deopt 5494". In-Reply-To: <51546880.4090006@oracle.com> References: <51546880.4090006@oracle.com> Message-ID: <34A330BB-4966-4546-BD98-D8D1CD48BA26@oracle.com> > Good. Yes, we need more precise control what is compiled and inlined. Thank you for the review. Roland. From roland.westrelin at oracle.com Thu Mar 28 09:13:31 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Thu, 28 Mar 2013 17:13:31 +0100 Subject: RFR (S): 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" In-Reply-To: <5154679A.6050606@oracle.com> References: <5154679A.6050606@oracle.com> Message-ID: <3F793ED2-EBF5-45B3-8BEC-BE0A2B62F8B3@oracle.com> Thanks for taking a look, Vladimir. > Why big indention for print in process_access_indexed() also could ad parenthesis and spaces for length expression in it?: > ((ai->length() != NULL) ? ai->length()->id() : -1) I'll fix the indentation and format the ?: as you suggest. > insert_deoptimization() comment said it returns true or false but I don't see that. May be change the comment. I'll fix the comment. Thanks for spotting that. Roland. From vladimir.kozlov at oracle.com Thu Mar 28 10:02:23 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 28 Mar 2013 10:02:23 -0700 Subject: AVX 256 instructions in JDK7? In-Reply-To: References: <1ECA8A68-51E1-41F4-B861-D9B1769E6E5F@oracle.com> <5151F7FD.8000007@oracle.com> <515380A7.9000303@oracle.com> Message-ID: <5154779F.1030105@oracle.com> On 3/28/13 8:51 AM, Ond?ej Perutka wrote: > Excellent, the patch works! Good. I will file bug and fix it. > > However, I got an error during compilation. (I applied the patch to the > OpenJDK version jdk7u9-b05.) It said the emit_int8() method was > undefined so I replaced it with the emit_byte() method. I hope it has > the same functionality. Attached is updated patch. sorry, I used newer sources to prepare patch and missed this. Yes, using emit_byte() is correct. > > I also think the doc of the vzeroupper() method is a bit confusing > because the VEX prefixed SSE instructions leaves upper part of YMM > registers untouched. That's why it's problematic if they are combined > with legacy SSE instructions and the upper part of some YMM register is > non-zero. See the YMM transition table in section 13.6 of the Agner's > publication: > > http://agner.org/optimize/optimizing_assembly.pdf No, VEX prefixed instructions zero upper bits: http://download-software.intel.com/sites/default/files/319433-014.pdf 4.1.9: "If an instruction with a destination XMM register is encoded with a VEX prefix, the processor zeroes the upper 128 bits of the equivalent YMM register. Legacy SSE instructions without VEX preserve the upper 128-bits." My comment for vzeroupper() instruction talks about intermixing avx instructions with VEX prefixed legacy instructions: 2.8: "Intermixed 256-bit, 128-bit or scalar SIMD instructions that are encoded with VEX prefixes have no transition delay due to internal state management." and "Sequences of legacy SSE instructions (including SSE2, and subsequent generations non-VEX-encoded SIMD extensions) that are not intermixed with VEX-encoded SIMD instructions are not subject to transition delays." Regards, Vladimir > > Regards, > Ondrej > > > 2013/3/28 Vladimir Kozlov > > > Ondrej, thank you for the detailed report. > > So it happens because of call into native library. > I surprise that a call which is executed only once is causing this. > > Question: can you build Hotspot VM if I give you changes to test? > > There is place in VM where it does some resetting when calling > native methods. Executing vzeroupper at that place may fix your problem. > > I attached patch which you can try. > > Regards, > Vladimir > > > On 3/27/13 1:54 PM, Ond?ej Perutka wrote: > > Hello again, > I don't want to speak too soon but I think I found the problem. This > mail is a bit longer, so first of all let me answer your > questions (feel > free to skip this part :-)). > > First, what java version you are experimented with? > > > java version "1.7.0_09-icedtea" > OpenJDK Runtime Environment (fedora-2.3.8.0.fc17-x86_64) > OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) > > > Could you clarify your statement?: > > > Attached is output from the Intel's Software Development > Emulator and > memory map of the emulated application. There are listed time > consuming > transitions between AVX and SSE instructions in the SDE output. > Important are lines with non-zero number of "Dynamic AVX to SSE > Transitions". This means transition from the state B to the > state C of > YMM registers (using Agner's terminology). Each line has address > of the > "State Change Block". In this case it should be address of the block > which put the registers into the state B (and did not call > vzeroupper to > put them into the state A). Almost all of those addresses points > somewhere into an anonymous memory. > > > Do you have call stacks? > > > Unfortunately I cannot get call stacks because it's almost > impossible to > debug JVM running within the SDE (it's terribly slow, it takes > several > minutes even to start my application). And without SDE I cannot get > those "State Change Block" addresses pointing to the anonymous > memory so > I don't know where to put breakpoints. > > > Does the problem happened only in this code or during calls > into Libav? > > I'm not sure I understand your question so I hope the answer is > satisfactory :-) : I have not checked any other code but I'm > pretty sure > it would cause trouble in any other call to a native code which > mixes > SSE and AVX 128 instructions. > > > As I understand, it is only problem if you mix SSE and AVX > instructions in the same loop. Our JIT should not do that. It > generates only AVX instructions (with VEX prefix) if AVX is > available. > > > It's not only problem of some loop it makes problems to the whole > thread. (OS is responsible for clearing upper half of YMM > registers on > context switching, so it should not affect other threads.) The whole > problem starts if there is some VEX prefixed 256 bit instruction not > followed by the VZEROUPPER instruction. It leaves upper half of > some YMM > register used. And if it is followed by some block of SSE > instructions > or even worse by some block which mixes SSE and 128 bit AVX > instructions > it will cause time consuming transition(s) between states of YMM > registers. > > Here is a problematic example: > --------------------------------------------- > > ... > # some 256 bit AVX instruction: > AVX 256 > ... > # call to a function which mixes SSE and 128 bit AVX instructions: > AVX 128 > SSE > AVX 128 > SSE > AVX 128 > ... > > And here is a correct example: > --------------------------------------------- > > ... > # some 256 bit AVX instruction: > AVX 256 > ... > vzeroupper > ... > # call to a function which mixes SSE and 128 bit AVX instructions: > AVX 128 > SSE > AVX 128 > SSE > AVX 128 > ... > > ############################### > > OK, that's all about your e-mail, now about my findings. Thanks > to Peter > Levart, who wrote me it's possible to disable AVX instructions > within > JVM using the -XX:UseAVX=0 command line option, I was able to filter > noise from the SDE output. The rest was the problematic spot. It > is the > _dl_x86_64_save_sse function from the ld-2.15.so > > > library. This function is called (indirectly) from the > Java_sun_font_NativeFont_fontExists function which is a part of the > libfontmanager.so library. I believe it's a part of OpenJDK > since it's > located in my OpenJDK directory tree. Here is the call stack: > > #0 0x0000003579214e80 in _dl_x86_64_save_sse () from > /lib64/ld-linux-x86-64.so.2 > #1 0x000000357920ad09 in _dl_lookup_symbol_x () from > /lib64/ld-linux-x86-64.so.2 > #2 0x000000357920e2d4 in _dl_fixup () from > /lib64/ld-linux-x86-64.so.2 > #3 0x00000035792148e5 in _dl_runtime_resolve () from > /lib64/ld-linux-x86-64.so.2 > #4 0x00007fffdea841a8 in Java_sun_font_NativeFont_fontExists () > from > /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/libfontmanager.so > #5 0x00007fffed011f90 in ?? () > #6 0x00007fffed005410 in ?? () > ... > > The Java_sun_font_NativeFont_fontExists function was called only > once > right after my application started. > > To prove it's the cause of all problems I made a little hack to the > libfontmanager.so and added the vzeroupper instruction opcode before > return from the Java_sun_font_NativeFont_fontExists. (I also removed > corresponding nop padding from the end of the function.) Everything > works fine since then even with enabled AVX instructions. It > seems this > forgotten call caused literally a chain reaction. Attached is output > from the emulator made after this hack. You can compare it with the > previous one. (There are still some conflicts because the > vzeroupper is > not called immediately after return from the _dl_runtime_resolve > function.) > > I don't know whether the _dl_runtime_resolve function called > directly > from the Java_sun_font_NativeFont_fontExists function is a part > of ld's > public API or not, so I don't know whether the bug is on side of > OpenJDK > or binutils. > > Regards, > Ondrej > > > 2013/3/26 Vladimir Kozlov > >> > > > Hi Ondrej > > we need more context from you. > > First, what java version you are experimented with? > > Currently AVX wide vectors usage is only available in EA jdk8. > In 7u4 was added only usage of VEX prefix. > > The "anonymous memory" is most likely our CodeCache where > JIT places > compiled native code. > > Could you clarify your statement?: > > > >> The origin of almost all bad transitions from AVX -> > SSE (I mean > the code that uses > >> AVX 256 instructions and does not call VZEROUPPER) is > somewhere > inside > >> anonymous memory blocks (according to Intel's SDE and > pmem). > > Do you have call stacks? > Does the problem happened only in this code or during calls > into Libav? > > > >> to the same libraries with AVX disabled. The problem is > definitely in > >> "bad" transitions between SSE and AVX instructions. These > transitions > >> are costly in case the upper part of YMM registers is > not zeroed > using > >> VZEROUPPER or VZEROALL instruction before using SSE. > More details at > >> http://agner.org/optimize/optimizing_assembly.pdf > (section 13.6). > > As I understand, it is only problem if you mix SSE and AVX > instructions in the same loop. Our JIT should not do that. It > generates only AVX instructions (with VEX prefix) if AVX is > available. > > Regards, > Vladimir > > > > On 3/26/13 11:34 AM, Christian Thalinger wrote: > > [That question should go to hotspot-compiler-dev. BCC'ed > hotspot-runtime-dev.] > > On Mar 26, 2013, at 8:20 AM, Ond?ej Perutka > > > > > > >>> wrote: > > Hello, > I've got a question related to my project. It is Java > wrapper for > Libav libraries and I have some performance issues > with it. > > If I compile the libraries with AVX instructions > enabled the > whole > testing application uses approximately 130% of CPU > time in > comparison > to the same libraries with AVX disabled. The problem is > definitely in > "bad" transitions between SSE and AVX instructions. > These > transitions > are costly in case the upper part of YMM registers > is not > zeroed using > VZEROUPPER or VZEROALL instruction before using > SSE. More > details at > http://agner.org/optimize/optimizing_assembly.pdf (section > 13.6). > > There is no problem with those libraries, if they > are not > used from > Java. I used Intel's Software Developer Emulator to > find > those bad AVX > <-> SSE transitions and I found thousands of them. > The origin of > almost all bad transitions from AVX -> SSE (I mean > the code > that uses > AVX 256 instructions and does not call VZEROUPPER) is > somewhere inside > anonymous memory blocks (according to Intel's SDE > and pmem). > > Libav mixes SSE and AVX 128 instructions a lot. It > cannot > cause any > trouble if the upper part of YMM registers is > zeroed. But in > case it > is not zeroed it would oscillate between B and C states > (according to > the Agner's terminology). Both of these transitions > costs > quite a lot > of CPU cycles. > > So here is my question: Is it possible that JIT > compiler > compiles some > bytecode into native instructions, uses some AVX 256 > instrucitons, > does not use VZEROUPPER and puts the result into some > anonymous memory > block? > > Ondrej Perutka > > > > From david.r.chase at oracle.com Thu Mar 28 10:45:38 2013 From: david.r.chase at oracle.com (David Chase) Date: Thu, 28 Mar 2013 13:45:38 -0400 Subject: RFR (S): 8010913 : compiler/6863420 often exceeds timeout Message-ID: <4FF7D604-759B-497A-B75D-DACE0755F43D@oracle.com> Problem: The test runs over-long on some test machines, causing timeouts and spurious failures if JPRT is used to check compiler tests across a range of machines. A four-minute run was observed in one case. Fix: Add an increased timeout and a timeout thread for shutting down the test early. Testing: JPRT of that test across all available platforms with an artificially short timeout to ensure that the timeout thread worked as expected, manual check of successful runs to be sure that the timeout thread did its job (i.e., saw runs for a hair more than the time limit, as well as short runs). webrev: http://cr.openjdk.java.net/~drchase/8010913/webrev.00/ From xerox.time.tech at gmail.com Thu Mar 28 11:00:07 2013 From: xerox.time.tech at gmail.com (Xin Tong) Date: Thu, 28 Mar 2013 14:00:07 -0400 Subject: calling convention Message-ID: where can I find the calling convention for JIT generated code in openJDK for X86 ? Xin From krystal.mo at oracle.com Thu Mar 28 11:22:37 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Thu, 28 Mar 2013 11:22:37 -0700 Subject: calling convention In-Reply-To: References: Message-ID: <51548A6D.4070101@oracle.com> Hi Xin, You can read the *.ad files in platform-dependent sources, in conjunction with the logic in SharedRuntime::java_calling_convention(). The declarations for j_rarg0 and friends are in src/cpu/x86/vm/assembler_x86.hpp. Hope that helps, - Kris On 2013/3/28 11:00, Xin Tong wrote: > where can I find the calling convention for JIT generated code in > openJDK for X86 ? > > Xin From john.r.rose at oracle.com Thu Mar 28 11:39:58 2013 From: john.r.rose at oracle.com (John Rose) Date: Thu, 28 Mar 2013 11:39:58 -0700 Subject: calling convention In-Reply-To: <51548A6D.4070101@oracle.com> References: <51548A6D.4070101@oracle.com> Message-ID: On Mar 28, 2013, at 11:22 AM, Krystal Mo wrote: > You can read the *.ad files in platform-dependent sources, in conjunction with the logic in SharedRuntime::java_calling_convention(). > The declarations for j_rarg0 and friends are in src/cpu/x86/vm/assembler_x86.hpp. That's good info. Xin's question "should" be fully addressed by this wiki page: https://wikis.oracle.com/display/HotSpotInternals/CallingSequences But the contents of that page need a serious rework. ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130328/05e94ba3/attachment.html From krystal.mo at oracle.com Thu Mar 28 11:47:05 2013 From: krystal.mo at oracle.com (Krystal Mo) Date: Thu, 28 Mar 2013 11:47:05 -0700 Subject: calling convention In-Reply-To: References: <51548A6D.4070101@oracle.com> Message-ID: <51549029.4010706@oracle.com> On 03/28/2013 11:39 AM, John Rose wrote: > On Mar 28, 2013, at 11:22 AM, Krystal Mo > wrote: > >> You can read the *.ad files in platform-dependent sources, in >> conjunction with the logic in SharedRuntime::java_calling_convention(). >> The declarations for j_rarg0 and friends are in >> src/cpu/x86/vm/assembler_x86.hpp. > > That's good info. > > Xin's question "should" be fully addressed by this wiki page: > https://wikis.oracle.com/display/HotSpotInternals/CallingSequences > Yes. Actually let me do that. I'll compile a list of calling conventions (register/stack usage) and put them on the wiki. The comments on frame layout scattered in different places in HotSpot could be useful to people, too; should gather them into one place. - Kris > But the contents of that page need a serious rework. > > ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130328/75784201/attachment.html From igor.ignatyev at oracle.com Thu Mar 28 14:41:05 2013 From: igor.ignatyev at oracle.com (Igor Ignatyev) Date: Fri, 29 Mar 2013 01:41:05 +0400 Subject: RFR(M): 8007288: Additional WB API for compiler's testing Message-ID: <5154B8F1.2030108@oracle.com> Hi all, Please review the patch. 1. added new functions to WhiteBox: public native boolean setForceInlineMethod(Method method, boolean value); public native boolean enqueueMethodForCompilation(Method method, int compLevel); public native void clearMethodState(Method method); 2. related changes in not whitebox code: - added 'Method::clear_not_*_compilable()' and corresponded 'AccessFlags::clear_not_*_compilable()' - added 'MethodData::init()' - reset method data into original state. reset all counters, flags 3. removed useless code: - 'if (!TieredCompilation) { comp_level = CompLevel_highest_tier; }' in CompileBroker::compile_method() -- there is no method calls w/ comp_level != CompLevel_highest_tier in non-tiered - 'MethodData::initialize(methodHandle method)' -- declaration w/o definition 4. added tests for new WB functions webrev: http://cr.openjdk.java.net/~iignatyev/8007288/webrev.00/ jbs: https://jbs.oracle.com/bugs/browse/JDK-8007288 -- Best regards, Igor Ignatyev From david.r.chase at oracle.com Thu Mar 28 14:52:52 2013 From: david.r.chase at oracle.com (David Chase) Date: Thu, 28 Mar 2013 17:52:52 -0400 Subject: RFR(M): 8007288: Additional WB API for compiler's testing In-Reply-To: <5154B8F1.2030108@oracle.com> References: <5154B8F1.2030108@oracle.com> Message-ID: <0549160A-DBFE-42A8-9AAE-AC98CB066D09@oracle.com> (Not a reviewer) Could you run these tests on the "east" JPRT queue and see if they have any problems there? We seem to have some surprisingly slow machines there, and that has caused problems with other tests. David On 2013-03-28, at 5:41 PM, Igor Ignatyev wrote: > Hi all, > > Please review the patch. > > 1. added new functions to WhiteBox: > public native boolean setForceInlineMethod(Method method, boolean value); > public native boolean enqueueMethodForCompilation(Method method, int compLevel); > public native void clearMethodState(Method method); > 2. related changes in not whitebox code: > - added 'Method::clear_not_*_compilable()' and corresponded 'AccessFlags::clear_not_*_compilable()' > - added 'MethodData::init()' - reset method data into original state. reset all counters, flags > 3. removed useless code: > - 'if (!TieredCompilation) { comp_level = CompLevel_highest_tier; }' in CompileBroker::compile_method() -- there is no method calls w/ comp_level != CompLevel_highest_tier in non-tiered > - 'MethodData::initialize(methodHandle method)' -- declaration w/o definition > 4. added tests for new WB functions > > webrev: http://cr.openjdk.java.net/~iignatyev/8007288/webrev.00/ > jbs: https://jbs.oracle.com/bugs/browse/JDK-8007288 > -- > Best regards, > Igor Ignatyev From john.r.rose at oracle.com Thu Mar 28 16:35:31 2013 From: john.r.rose at oracle.com (John Rose) Date: Thu, 28 Mar 2013 16:35:31 -0700 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 In-Reply-To: <4CA94106-1D2A-4DF2-814E-DF2F7A190B60@oracle.com> References: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> <4CA94106-1D2A-4DF2-814E-DF2F7A190B60@oracle.com> Message-ID: <8A8F768B-D0E2-46C1-AEC2-ED2FAA88EA09@oracle.com> On Mar 25, 2013, at 9:09 AM, Roland Westrelin wrote: > Hi Christian, > > Thanks for taking a look at this. > >> cpu/sparc/vm/templateInterpreter_sparc.cpp >> 502: //6815692//Method::extra_stack_words() + // extra push slots for MH adapters >> 1553: //6815692//+ Method::extra_stack_words() >> >> Especially the second one in templateInterpreter_sparc.cpp. > > The second one is misleading because size_activation_helper() is passed Method::max_stack() which accounted for the extra stack slot for the appendix before my change (and still does). > > Other commented Method::extra_stack_words() are not needed either so I'll remove them. Thanks for fixing this. Good. It's time to get rid of the //6815692// stuff. The extra_stack variables (always zero now) can go away too. I think extra_stack_words can be deleted, and extra_stack_entries can be made private to Method. This line of code is redundant in src/cpu/x86/vm/templateInterpreter_x86_{32,64}.cpp: const int extra_stack = Method::extra_stack_entries(); Unless it is masking some other bug, this increment can go away with no bad effect. (I.e., that extra_stack value should be zero also, and the variable removed.) ? John From vladimir.kozlov at oracle.com Thu Mar 28 16:37:42 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Thu, 28 Mar 2013 16:37:42 -0700 Subject: RFR (M): 6443505: Ideal() function for CmpLTMask In-Reply-To: <32C62903-0EB1-4668-B66F-B94ED433AC30@oracle.com> References: <32C62903-0EB1-4668-B66F-B94ED433AC30@oracle.com> Message-ID: <5154D446.5050708@oracle.com> "pipeline" info is not used in code generation, it is outdated anyway. So use what other similar instructions use. I think we should use only branch variant on all x86 (32 and 64bit). We save register (tmp) and it is MUCH MUCH more important for performance (less spills on stack). And you need only 3 instructions for cadd_cmpLTMask. And, please, remove unneeded spaces near parenthesis, at least in new code. Thanks, Vladimir On 3/27/13 6:09 PM, David Chase wrote: > Problem: > (as stated) > C2 needs a special case like CmpLTMask (turn result of a comparison into a -1/0 mask) for the comparison of a difference with zero. > > (as actually observed) > 1) The improvement in that case is minimal and (very) difficult to get to trigger, because CSE interferes and extracts the p-q from the pattern. > 2) The original code generation for caddCmpLTMask on some platforms was actually wrong (used carry bit for a signed comparison) > 3) The original Ideal pattern matching, because of a typo/thinko, accidentally failed to apply in the symmetric case > 4) Code generation for CmpLTMask on all platforms omitted the somewhat relevant case of and-CmpLTMask; if the very specific pattern failed to apply, then it would fall back to the laborious calculation of an actual mask, when much more compact code could apply. > > Fix: > Repair wrong code generation. > Write additional pattern for (and (cmpltmask p q) y) > Fixed the typo so the pattern fires more often. > > Webrev: > http://cr.openjdk.java.net/~drchase/6443505/webrev.00/ > > Testing: > Wrote a new test to definitely exercise the two patterns in question. > Verified that "new test" would fail running with unfixed compiler. > > Verified (observing assembly output) that the new patterns matched on x86_32-cmov, x86_32+cmov, x86_64, and Sparc > (except that I could not get the and-cmpltmask pattern to fire on Sparc. > Bit of a shame we lack a cumulative coverage tool wired into jtreg so we could easily know if it ever fired at all). > > Benchmarked change on x86_64 (saw little or no performance difference on the whole benchmark) > > JPRT on compiler tests (clean runs thwarted by irrelevant failures, but it was always the same 2 or 3 borked tests.) > > JPRT on just the new test (clean run) > > Questions: > not 100% sure on the pattern costs. > not 100% sure on the choice of "pipeline". > From john.coomes at oracle.com Thu Mar 28 20:39:00 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:39:00 +0000 Subject: hg: hsx/hotspot-comp/jaxp: Added tag jdk8-b83 for changeset a46d69a1a8ec Message-ID: <20130329033907.A90F948495@hg.openjdk.java.net> Changeset: f5f40094ffcc Author: katleman Date: 2013-03-28 10:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxp/rev/f5f40094ffcc Added tag jdk8-b83 for changeset a46d69a1a8ec ! .hgtags From john.coomes at oracle.com Thu Mar 28 20:39:13 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:39:13 +0000 Subject: hg: hsx/hotspot-comp/jaxws: Added tag jdk8-b83 for changeset a1dcc0d83da1 Message-ID: <20130329033918.13CC548496@hg.openjdk.java.net> Changeset: 54c29eb352e7 Author: katleman Date: 2013-03-28 10:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jaxws/rev/54c29eb352e7 Added tag jdk8-b83 for changeset a1dcc0d83da1 ! .hgtags From john.coomes at oracle.com Thu Mar 28 20:38:49 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:38:49 +0000 Subject: hg: hsx/hotspot-comp: Added tag jdk8-b83 for changeset 466685ba01bf Message-ID: <20130329033849.19F8B48493@hg.openjdk.java.net> Changeset: d409b4cdb74f Author: katleman Date: 2013-03-28 10:53 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/rev/d409b4cdb74f Added tag jdk8-b83 for changeset 466685ba01bf ! .hgtags From john.coomes at oracle.com Thu Mar 28 20:38:53 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:38:53 +0000 Subject: hg: hsx/hotspot-comp/corba: Added tag jdk8-b83 for changeset a45bb25a67c7 Message-ID: <20130329033855.B1D4148494@hg.openjdk.java.net> Changeset: 14f1babaf548 Author: katleman Date: 2013-03-28 10:53 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/corba/rev/14f1babaf548 Added tag jdk8-b83 for changeset a45bb25a67c7 ! .hgtags From john.coomes at oracle.com Thu Mar 28 20:39:27 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:39:27 +0000 Subject: hg: hsx/hotspot-comp/jdk: 3 new changesets Message-ID: <20130329034038.1C34A48497@hg.openjdk.java.net> Changeset: 6782f2c46bca Author: wetmore Date: 2013-03-21 16:31 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/6782f2c46bca 8009517: new code changes causing errors in old build (-Werror) environment Reviewed-by: mduigou ! make/com/sun/org/apache/xml/Makefile ! make/javax/others/Makefile Changeset: ac519af51769 Author: dcherepanov Date: 2013-03-27 08:32 +0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/ac519af51769 Merge Changeset: 8cc500af2454 Author: katleman Date: 2013-03-28 10:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/8cc500af2454 Added tag jdk8-b83 for changeset ac519af51769 ! .hgtags From john.coomes at oracle.com Thu Mar 28 20:41:55 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:41:55 +0000 Subject: hg: hsx/hotspot-comp/nashorn: Added tag jdk8-b83 for changeset 053d7c55dc82 Message-ID: <20130329034157.27FB448499@hg.openjdk.java.net> Changeset: fbbdef940138 Author: katleman Date: 2013-03-28 10:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/nashorn/rev/fbbdef940138 Added tag jdk8-b83 for changeset 053d7c55dc82 ! .hgtags From john.coomes at oracle.com Thu Mar 28 20:41:41 2013 From: john.coomes at oracle.com (john.coomes at oracle.com) Date: Fri, 29 Mar 2013 03:41:41 +0000 Subject: hg: hsx/hotspot-comp/langtools: Added tag jdk8-b83 for changeset 22ba3f92d4ae Message-ID: <20130329034150.2C86948498@hg.openjdk.java.net> Changeset: 35cef52b0023 Author: katleman Date: 2013-03-28 10:55 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/langtools/rev/35cef52b0023 Added tag jdk8-b83 for changeset 22ba3f92d4ae ! .hgtags From roland.westrelin at oracle.com Fri Mar 29 11:22:36 2013 From: roland.westrelin at oracle.com (Roland Westrelin) Date: Fri, 29 Mar 2013 19:22:36 +0100 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 In-Reply-To: <8A8F768B-D0E2-46C1-AEC2-ED2FAA88EA09@oracle.com> References: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> <4CA94106-1D2A-4DF2-814E-DF2F7A190B60@oracle.com> <8A8F768B-D0E2-46C1-AEC2-ED2FAA88EA09@oracle.com> Message-ID: Thanks for reviewing this. > Good. It's time to get rid of the //6815692// stuff. The extra_stack variables (always zero now) can go away too. I'm not sure what to do with this: guarantee(!EnableInvokeDynamic, "no support yet for java.lang.invoke.MethodHandle"); //6815692 //6815692//if (EnableInvokeDynamic) //6815692// __ inc(O3, Method::extra_stack_entries()); in cppInterpreter_sparc.cpp > I think extra_stack_words can be deleted, and extra_stack_entries can be made private to Method. > > This line of code is redundant in src/cpu/x86/vm/templateInterpreter_x86_{32,64}.cpp: > const int extra_stack = Method::extra_stack_entries(); I applied Christian's suggestions and yours and found a reference to Method::extra_stack_entries() in c2 that I assume can be removed. Here is a new webrev: http://cr.openjdk.java.net/~roland/8010460/webrev.01/ Roland. From christian.thalinger at oracle.com Fri Mar 29 12:24:19 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 29 Mar 2013 12:24:19 -0700 Subject: RFR (XS): 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292 In-Reply-To: References: <6B922316-9630-4955-9A42-8FA52D5571F6@oracle.com> <4CA94106-1D2A-4DF2-814E-DF2F7A190B60@oracle.com> <8A8F768B-D0E2-46C1-AEC2-ED2FAA88EA09@oracle.com> Message-ID: On Mar 29, 2013, at 11:22 AM, Roland Westrelin wrote: > Thanks for reviewing this. > >> Good. It's time to get rid of the //6815692// stuff. The extra_stack variables (always zero now) can go away too. > > I'm not sure what to do with this: > guarantee(!EnableInvokeDynamic, "no support yet for java.lang.invoke.MethodHandle"); //6815692 > //6815692//if (EnableInvokeDynamic) > //6815692// __ inc(O3, Method::extra_stack_entries()); > > in cppInterpreter_sparc.cpp > >> I think extra_stack_words can be deleted, and extra_stack_entries can be made private to Method. >> >> This line of code is redundant in src/cpu/x86/vm/templateInterpreter_x86_{32,64}.cpp: >> const int extra_stack = Method::extra_stack_entries(); > > I applied Christian's suggestions and yours and found a reference to Method::extra_stack_entries() in c2 that I assume can be removed. Here is a new webrev: > > http://cr.openjdk.java.net/~roland/8010460/webrev.01/ That looks good. -- Chris > > Roland. From roland.westrelin at oracle.com Fri Mar 29 18:25:31 2013 From: roland.westrelin at oracle.com (roland.westrelin at oracle.com) Date: Sat, 30 Mar 2013 01:25:31 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" Message-ID: <20130330012536.14A08484CD@hg.openjdk.java.net> Changeset: d595e8ddadd9 Author: roland Date: 2013-03-29 17:25 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d595e8ddadd9 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" Summary: incorrect code to skip some ArrayLength instructions in LIRGenerator Reviewed-by: kvn ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp From bharadwaj.yadavalli at oracle.com Fri Mar 29 23:33:22 2013 From: bharadwaj.yadavalli at oracle.com (bharadwaj.yadavalli at oracle.com) Date: Sat, 30 Mar 2013 06:33:22 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 36 new changesets Message-ID: <20130330063435.AE7BB484D3@hg.openjdk.java.net> Changeset: eca90b8a06eb Author: rdurbin Date: 2013-03-19 11:33 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/eca90b8a06eb 7030610: runtime/6878713/Test6878713.sh fails Error. failed to clean up files after test 7123945: runtime/6878713/Test6878713.sh require about 2G of native memory, swaps and times out Summary: Add new diagnostic option -XX:MallocMaxTestWords=NNN and fix Test6878713.sh. Reviewed-by: dcubed, coleenp, dholmes, iklam ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp ! test/runtime/6878713/Test6878713.sh Changeset: a649f6511c04 Author: ctornqvi Date: 2013-03-20 08:17 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a649f6511c04 8010084: Race in runtime/NMT/BaselineWithParameter.java Summary: Added a waitFor() on the process Reviewed-by: mgerdin, sla, zgu ! test/runtime/NMT/BaselineWithParameter.java Changeset: 91bf0bdae37b Author: coleenp Date: 2013-03-20 08:04 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/91bf0bdae37b 8008217: CDS: Class data sharing limits the malloc heap on Solaris Summary: In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress. In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address. Reviewed-by: kvn, dcubed, zgu, hseigel ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2c7663baeb67 Author: acorn Date: 2013-03-20 11:43 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2c7663baeb67 8010017: lambda: reflection get(Declared)Methods support for default methods. Summary: Don't expose vm generated overpass (bridges to default methods). Reviewed-by: dholmes, fparain ! src/share/vm/prims/jvm.cpp Changeset: 79259e97a072 Author: acorn Date: 2013-03-20 12:20 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/79259e97a072 Merge Changeset: 1feda2e9f044 Author: ctornqvi Date: 2013-03-20 20:40 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1feda2e9f044 8007982: some runtime/CommandLine/ tests fail on 32-bit platforms Summary: Changed tests to use platform independent flags Reviewed-by: collins, hseigel, zgu ! test/runtime/CommandLine/BooleanFlagWithInvalidValue.java ! test/runtime/CommandLine/FlagWithInvalidValue.java ! test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java Changeset: 81d1b58c078f Author: rdurbin Date: 2013-03-20 20:44 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/81d1b58c078f 8010396: checking MallocMaxTestWords in testMalloc() function is redundant Summary: Remove redundant checks in testMalloc and add assert. Reviewed-by: dcubed, coleenp, dholmes ! src/share/vm/runtime/os.cpp Changeset: e7081eb7e786 Author: dcubed Date: 2013-03-20 20:52 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e7081eb7e786 Merge Changeset: 06db4c0afbf3 Author: zgu Date: 2013-03-20 09:42 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/06db4c0afbf3 8009298: NMT: Special version of class loading/unloading with runThese stresses out NMT 8009777: NMT: add new NMT dcmd to control auto shutdown option Summary: Added diagnostic VM option and DCmd command to allow NMT stay alive under stress situation Reviewed-by: dcubed, coleenp ! src/share/vm/runtime/globals.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp ! src/share/vm/services/nmtDCmd.cpp ! src/share/vm/services/nmtDCmd.hpp Changeset: 0ac03fef364f Author: zgu Date: 2013-03-21 06:53 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/0ac03fef364f Merge ! src/share/vm/runtime/globals.hpp Changeset: 14509df4cd63 Author: iklam Date: 2013-03-21 20:46 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/14509df4cd63 8010389: After fix for 7107135 a failed dlopen() call results in a VM crash Summary: Call dlerror() in VM thread as necessary. Reviewed-by: coleenp, dholmes ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp + test/runtime/8010389/VMThreadDlopen.java Changeset: 6574f999e0cf Author: dcubed Date: 2013-03-23 22:35 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6574f999e0cf Merge ! src/share/vm/memory/metaspace.cpp Changeset: c342fbdf8a70 Author: ctornqvi Date: 2013-03-24 09:11 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/c342fbdf8a70 8008454: test/runtime/NMT/PrintNMTStatistics is broken Summary: Added @run tag so that it actually runs the test, also fixed broken command line and incorrect parsing. Also reviewed by gerard.ziemski at oracle.com Reviewed-by: mgerdin, zgu ! test/runtime/NMT/PrintNMTStatistics.java Changeset: 9c8e53c7bed0 Author: ctornqvi Date: 2013-03-24 09:21 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/9c8e53c7bed0 Merge - make/test/Queens.java Changeset: 729be16a470b Author: hseigel Date: 2013-03-25 08:37 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/729be16a470b 8010667: Non-zero padding is not allowed in splitverifier for tableswitch/lookupswitch instructions. Summary: Don't check the padding bits if class file version is >= 51. Reviewed-by: kvn, dholmes, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: b8deb3205b51 Author: bharadwaj Date: 2013-03-25 09:36 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/b8deb3205b51 8009552: test/vm/verifier/TestStaticIF.java failing with hs25.0-b Summary: Remove support for verification of class files with version 52 and above from type inference verifier. Reviewed-by: acorn, hseigel ! src/share/vm/classfile/verifier.cpp - test/runtime/8007736/TestStaticIF.java Changeset: 1916ca1dec2f Author: rbackman Date: 2013-03-26 15:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/1916ca1dec2f 8009382: Add JVM_Get{Field|Method}TypeAnnotations Reviewed-by: dcubed, rbackman Contributed-by: Joel Borggren-Franck ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 36376b540a98 Author: hseigel Date: 2013-03-26 09:06 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/36376b540a98 8009595: The UseSplitVerifier option needs to be deprecated. Summary: Put UseSplitVerifier option on the deprecated list. Reviewed-by: dcubed, kmo, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: a8016373a893 Author: hseigel Date: 2013-03-26 12:43 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/a8016373a893 Merge Changeset: 6b748c9e1845 Author: zgu Date: 2013-03-26 14:11 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6b748c9e1845 8010651: create.bat still builds the kernel Summary: Remove old kernel build targets and VS C++ projects created by create.bat on Windows Reviewed-by: coleenp, sla ! make/windows/build.make ! make/windows/create.bat ! make/windows/makefiles/compile.make ! make/windows/makefiles/product.make ! make/windows/makefiles/vm.make - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/WinGammaPlatform.java Changeset: 85192022ba8c Author: zgu Date: 2013-03-26 11:40 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/85192022ba8c Merge - test/runtime/8007736/TestStaticIF.java Changeset: 23f2d309e855 Author: zgu Date: 2013-03-26 15:20 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/23f2d309e855 Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw Changeset: 7f16d1812865 Author: tamao Date: 2013-03-20 12:27 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7f16d1812865 7196080: assert(max_heap >= InitialHeapSize) in arguments.cpp Summary: Remove the related assertions becasue they do not hold here. Reviewed-by: jmasa, tschatzl Contributed-by: tamao ! src/share/vm/runtime/arguments.cpp Changeset: dbd5837b342f Author: ehelin Date: 2013-03-22 16:10 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/dbd5837b342f 8000754: NPG: Implement a MemoryPool MXBean for Metaspace Reviewed-by: jmasa, stefank ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp + test/gc/metaspace/TestMetaspaceMemoryPools.java Changeset: 338b3a9e29b5 Author: stefank Date: 2013-03-25 11:00 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/338b3a9e29b5 Merge ! src/share/vm/services/memoryService.cpp Changeset: 42e370795a39 Author: ehelin Date: 2013-03-27 10:55 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/42e370795a39 8010818: NPG: Remove metaspace memory pools Reviewed-by: mgerdin, stefank ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp - test/gc/metaspace/TestMetaspaceMemoryPools.java Changeset: aeb22fdaa14c Author: brutisso Date: 2013-03-28 09:07 +0100 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/aeb22fdaa14c Merge ! src/share/vm/runtime/arguments.cpp Changeset: 728b89404e34 Author: jprovino Date: 2013-03-21 10:18 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/728b89404e34 8009904: jvmtiClassFileReconstituter.cpp needs to be excluded from the minimal jvm Summary: jvmtiClassFileReconstituter.cpp needs to be added to the list of files to exclude when JVMTI is excluded from the jvm Reviewed-by: dholmes, sspitsyn ! make/excludeSrc.make Changeset: 7ca101eef24a Author: jprovino Date: 2013-03-23 14:59 -0400 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/7ca101eef24a Merge Changeset: 04d6d4322c6a Author: collins Date: 2013-03-27 09:49 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/04d6d4322c6a 8009152: A number of jtreg tests need review/improvement Summary: Added a new test_env.txt file to capture common shell variable. Added concept of COMPILEJAVA for use when TESTJAVA is a JRE. If COMPILEJAVA not set then TESTJAVA will be the default with assumption it is a JDK. Reviewed-by: kvn, brutisso, coleenp ! test/compiler/5091921/Test6890943.sh ! test/compiler/5091921/Test7005594.sh ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/gc/6941923/test6941923.sh ! test/runtime/6626217/Test6626217.sh ! test/runtime/6878713/Test6878713.sh ! test/runtime/6929067/Test6929067.sh ! test/runtime/7020373/Test7020373.sh ! test/runtime/7051189/Xchecksig.sh ! test/runtime/7107135/Test7107135.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7158804/Test7158804.sh ! test/runtime/7162488/Test7162488.sh + test/test_env.sh Changeset: d1897e7e0488 Author: collins Date: 2013-03-28 15:42 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d1897e7e0488 Merge ! test/runtime/6878713/Test6878713.sh Changeset: e614fc564ded Author: katleman Date: 2013-03-28 10:54 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/e614fc564ded Added tag jdk8-b83 for changeset 1c8db54ee9f3 ! .hgtags Changeset: 8d0f263a370c Author: amurillo Date: 2013-03-28 19:01 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/8d0f263a370c Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw - test/runtime/8007736/TestStaticIF.java Changeset: af788b85010e Author: amurillo Date: 2013-03-28 19:02 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/af788b85010e Added tag hs25-b25 for changeset 8d0f263a370c ! .hgtags Changeset: d26674db4d91 Author: amurillo Date: 2013-03-28 19:13 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/d26674db4d91 8011022: new hotspot build - hs25-b26 Reviewed-by: jcoomes ! make/hotspot_version Changeset: cd9ad42dfde0 Author: bharadwaj Date: 2013-03-29 20:52 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/cd9ad42dfde0 Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/globals.hpp From krystal.mo at oracle.com Sat Mar 30 10:55:35 2013 From: krystal.mo at oracle.com (krystal.mo at oracle.com) Date: Sat, 30 Mar 2013 17:55:35 +0000 Subject: hg: hsx/hotspot-comp/hotspot: 8011009: Use do-while(0) instead of while(0) in EC_TRACE and RC_TRACE* macros Message-ID: <20130330175539.642FC484DA@hg.openjdk.java.net> Changeset: 6b19fe41b577 Author: kmo Date: 2013-03-30 08:01 -0700 URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/6b19fe41b577 8011009: Use do-while(0) instead of while(0) in EC_TRACE and RC_TRACE* macros Summary: Improve EC_TRACE and RC_TRACE* to use the do-while(0) trick for statement-like macro Reviewed-by: sspitsyn, dcubed ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp