989 Commits

Author SHA1 Message Date
Niclas Adlertz
350906807b 8024646: Remove LRG_List container, replace it with GrowableArray
We already have GrowableArray, use it instead of LRG_List

Reviewed-by: kvn
2013-09-12 23:13:45 +02:00
Niclas Adlertz
bcdf7e7a4d 8010941: MinJumpTableSize is set to 18, investigate if that's still optimal
Lowered the MinJumpTableSize for each platform

Reviewed-by: kvn
2013-09-11 09:34:00 +02:00
Vladimir Ivanov
f0e77ac67f 8001107: @Stable annotation for constant folding of lazily evaluated variables
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: rbackman, twisti, kvn
2013-09-10 14:51:48 -07:00
Vladimir Kozlov
1a700c9216 Merge 2013-09-05 11:04:39 -07:00
Niclas Adlertz
a0a141a9d9 Merge 2013-09-05 10:39:10 +02:00
Niclas Adlertz
547f4dea7b 8024095: Missing brackets in local scheduling code
Added brackets for if-statement

Reviewed-by: kvn, roland
2013-09-02 22:44:57 +02:00
Niclas Adlertz
900acf0c44 8023988: Move local scheduling of nodes to the CFG creation and code motion phase (PhaseCFG)
Moved local scheduling code from class Block to class PhaseCFG

Reviewed-by: kvn, roland
2013-09-01 19:21:05 +02:00
Lois Foltan
fca9e37c80 8021954: VM SIGSEGV during classloading on MacOS; hs_err_pid file produced
Declare all user-defined operator new()s within Hotspot code with the empty throw() exception specification

Reviewed-by: coleenp, twisti, dholmes, hseigel, dcubed, kvn, ccheung
2013-08-29 18:56:29 -04:00
Martin Doerr
c678f0173a 8023597: Optimize G1 barriers code for unsafe load_store
Avoid loading old values in G1 pre-barriers for inlined unsafe load_store nodes.

Reviewed-by: kvn, tonyp
2013-08-28 11:22:43 +02:00
Niclas Adlertz
be8c8aac48 8023691: Create interface for nodes in class Block
Create public methods for accessing the nodes in a block

Reviewed-by: kvn, roland
2013-08-26 12:50:23 +02:00
Goetz Lindenmaier
fac7ee02c5 8023033: PPC64 (part 13): basic changes for AIX
Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).

Reviewed-by: kvn, dholmes, stefank
2013-08-22 09:39:54 -07:00
Vladimir Kozlov
dac98bcc0d 8023472: C2 optimization breaks with G1
Set control edge for previous value load in G1 pre-barrier

Reviewed-by: twisti
2013-08-23 18:04:35 -07:00
Vladimir Kozlov
ccfb92c6a9 8012972: Incremental Inlining should support scalar replaced object in debug info
Store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value

Reviewed-by: roland, twisti
2013-08-23 11:41:37 -07:00
Erik Helin
30f059b5fc 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02:00
Rickard Bäckman
a231c31f38 8022675: Redundant class init check
Reviewed-by: kvn, twisti
2013-08-08 03:16:56 +02:00
Vladimir Kozlov
4ee53ef4e3 8021898: Broken JIT compiler optimization for loop unswitching
Fix method clone_projs() to clone all related MachProj nodes.

Reviewed-by: roland, adlertz
2013-08-16 14:11:40 -07:00
Niclas Adlertz
a235ecb344 8023003: Cleanup the public interface to PhaseCFG
Public methods that don't need to be public should be private.

Reviewed-by: kvn, twisti
2013-08-16 10:23:55 +02:00
Vladimir Kozlov
20f7d1a82a 8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag.

Reviewed-by: roland
2013-08-14 10:21:26 -07:00
Niclas Adlertz
bfe8385fa9 8022284: Hide internal data structure in PhaseCFG
Hide private node to block mapping using public interface

Reviewed-by: kvn, roland
2013-08-07 17:56:19 +02:00
Vladimir Kozlov
f4c4fd7903 Merge 2013-08-01 17:25:10 -07:00
Morris Meyer
80b04bb48e Merge 2013-07-24 13:54:03 -07:00
Calvin Cheung
1a1e83be6a 8004872: Early loading of HashMap and StringValue under -XX:+AggressiveOpts can be removed
This fix also removes the -XX:+UseStringCache option

Reviewed-by: dholmes, acorn, iklam
2013-07-18 14:57:51 -07:00
Vladimir Kozlov
1338c067aa 8007898: Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier()
Generate one "fat" membar instead of set of barriers for volitile store

Reviewed-by: roland
2013-07-12 14:03:10 -07:00
Vladimir Kozlov
493c485dc3 Merge 2013-07-11 12:56:29 -07:00
Goetz Lindenmaier
b57506ea6c 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX
On AIX 7.1 systemcfg.h defines IA64 unconditionally, so test for !AIX where IA64 is used.

Reviewed-by: dholmes, kvn
2013-07-05 22:17:47 +02:00
David Chase
9a359984c2 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
Add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test

Reviewed-by: kvn, twisti
2013-07-02 20:42:12 -04:00
Vladimir Kozlov
16f3142152 Merge 2013-07-03 11:50:29 -07:00
Vladimir Kozlov
fc1302ea95 8019247: SIGSEGV in compiled method c8e.e.t_.getArray(Ljava/lang/Class;)[Ljava/lang/Object
Undo recent changes (and add more comments) in Ideal_allocation().

Reviewed-by: roland
2013-07-02 10:30:49 -07:00
Vladimir Kozlov
7509ebea00 Merge 2013-06-27 13:04:51 -07:00
Niclas Adlertz
19d56715fa 8017243: 8001345 is incomplete
Replaces unused decodeN at MemBarAcquire with its corresponding loadN if loadN is used at more than one place.

Reviewed-by: kvn, twisti
2013-06-25 12:07:07 -07:00
Vladimir Kozlov
b390a2d8e3 Merge 2013-06-21 15:56:24 -07:00
Goetz Lindenmaier
0522ce7a17 8016586: PPC64 (part 3): basic changes for PPC64
Added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.

Reviewed-by: dholmes, kvn
2013-06-20 16:30:44 -07:00
Vladimir Kozlov
175419c053 Merge 2013-06-20 16:08:11 -07:00
Niclas Adlertz
556b4925b3 8001345: VM crashes with assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Remove unnecessary LoadN / DecodeN nodes at MemBarAcquire nodes.

Reviewed-by: kvn, roland
2013-06-19 00:41:56 +02:00
Vladimir Kozlov
55f6f35697 Merge 2013-06-14 16:33:34 -07:00
David Chase
219121826e 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
Insert extra checks and bailouts for too many nodes

Reviewed-by: kvn
2013-06-11 16:34:34 -04:00
Calvin Cheung
53448fdbed 8014431: cleanup warnings indicated by the -Wunused-value compiler option on linux
Co-authored-by: Jeremy Manson <jeremymanson@google.com>
Reviewed-by: dholmes, coleenp
2013-06-13 22:02:40 -07:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Niclas Adlertz
f4682b75e5 8005956: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
Disable re-materialization of reaching definitions (which have live inputs) for phi nodes when spilling.

Reviewed-by: twisti, kvn
2013-06-03 12:39:33 -07:00
Vladimir Kozlov
ea54d8f3f0 8014811: loopTransform.cpp assert(cmp_end->in(2) == limit) failed
Stop current iteration of loop opts if partial_peel() failed and it created node clones outside processed loop.

Reviewed-by: roland
2013-05-22 09:02:43 -07:00
Christian Thalinger
c6c7f3439e Merge 2013-05-16 13:47:55 -07:00
Yumin Qi
98151c30c8 8012902: remove use of global operator new - take 2
The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms.

Reviewed-by: coleenp, dholmes, zgu
2013-05-14 09:41:12 -07:00
Vladimir Kozlov
2ed62e808c 8014286: failed java/lang/Math/DivModTests.java after 6934604 changes
Corrected escape state for the result of boxing method. Added force inlining executed boxing methods.

Reviewed-by: twisti
2013-05-13 14:36:39 -07:00
Vladimir Kozlov
d7176bf7f8 8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
Add NULL checks and asserts for Type::make_ptr() returned value.

Reviewed-by: twisti
2013-05-09 17:28:04 -07:00
Vladimir Kozlov
b4977e887a 6934604: enable parts of EliminateAutoBox by default
Resurrected autobox elimination code and enabled part of it by default.

Reviewed-by: roland, twisti
2013-05-08 15:08:01 -07:00
Vladimir Kozlov
1763afaec5 Merge 2013-05-03 15:35:30 -07:00
Mikael Gerdin
94677d4faf Merge 2013-05-02 16:41:09 -07:00
Dean Long
9c966207ef Merge 2013-04-24 21:11:02 -04:00
Goetz Lindenmaier
3f42e9e118 8003853: specify offset of IC load in java_to_interp stub
Refactored code to allow platform-specific differences

Reviewed-by: dlong, twisti
2013-04-24 20:55:28 -04:00
Martin Doerr
19d99e3d92 8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t
In graphKit INT operations were generated to access PtrQueue::_index which has type size_t. This is 64 bit on 64-bit machines. No problems occur on little endian machines as long as the index fits into 32 bit, but on big endian machines the upper part is read, which is zero. This leads to unnecessary branches to the slow path in the runtime.

Reviewed-by: twisti, johnc
2013-04-24 14:48:43 -07:00