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