Vladimir Kozlov
7d92dc4d79
Merge
2014-01-28 12:28:17 -08:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08:00
Roland Westrelin
c19a7e0fa3
8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
...
Type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
2014-01-24 09:31:53 +01:00
Mikael Vidstedt
a0da47fd66
8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
...
Copyright year updated for files modified during 2013
Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Christian Thalinger
e71c8df213
8029366: ShouldNotReachHere error when creating an array with component type of void
...
Reviewed-by: kvn
2013-12-06 16:43:56 -08:00
Goetz Lindenmaier
fe89766184
8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence
...
Use new nodes for loadFence/storeFence intrinsics in C2.
Reviewed-by: kvn, dholmes
2013-11-26 18:38:19 -08:00
Goetz Lindenmaier
13b13f5259
8024921: PPC64 (part 113): Extend Load and Store nodes to know about memory ordering
...
Add a field to C2 LoadNode and StoreNode classes which indicates whether the load/store should do an acquire/release on platforms which support it.
Reviewed-by: kvn
2013-11-15 11:05:32 -08:00
Thomas Schatzl
b4e927d2a9
Merge
2013-09-16 09:41:03 +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
Erik Helin
30f059b5fc
8015107: NPG: Use consistent naming for metaspace concepts
...
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02: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
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
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
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
010f640069
8009472: Print additional information for 8004640 failure
...
Dump nodes and types in 8004640 case.
Reviewed-by: roland
2013-03-06 12:25:57 -08:00
Roland Westrelin
fe92862089
8007294: ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
...
InitializeNode::can_capture_store() must check that the captured store doesn't overwrite a memory location that is loaded before the store.
Reviewed-by: kvn
2013-02-25 14:13:04 +01:00
Vladimir Kozlov
9e0c61f822
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
...
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.
Reviewed-by: roland
2013-01-22 15:34:16 -08:00
Vladimir Kozlov
cfcd28fd9d
8005522: use fast-string instructions on x86 for zeroing
...
Use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.
Reviewed-by: twisti, roland
2013-01-03 15:09:55 -08:00
Vladimir Kozlov
5f132a5ec3
Merge
2012-10-12 09:22:52 -07:00
Roland Westrelin
61eb5a0549
7054512: Compress class pointers after perm gen removal
...
Support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Coleen Phillimore
28047d6a0f
8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
...
Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
2012-09-29 06:40:00 -04:00
Bharadwaj Yadavalli
d5d2e78faa
7193318: C2: remove number of inputs requirement from Node's new operator
...
Deleted placement new operator of Node - node(size_t, Compile *, int).
Reviewed-by: kvn, twisti
2012-09-27 09:38:42 -07:00
Roland Westrelin
302540691b
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
...
Use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
2012-09-20 16:49:17 +02:00
Jon Masamitsu
5c58d27aac
6964458: Reimplement class meta-data storage to use native memory
...
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Vladimir Kozlov
d1191bb4f4
7119644: Increase superword's vector size up to 256 bits
...
Increase vector size up to 256-bits for YMM AVX registers on x86.
Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Vladimir Kozlov
ae6d0d30f5
7174510: 19 JCK compiler tests fail with C2 error: memNode.cpp:812 - ShouldNotReachHere
...
Add missing check for EncodeP node in MemNode::Ideal_common_DU_postCCP() method.
Reviewed-by: twisti
2012-06-11 14:58:51 -07:00
Vladimir Kozlov
3770ecec6f
7132936: guarantee(t != NULL) failed: must be con
...
Use !higher_equal() check to skip top and values which fit.
Reviewed-by: never
2012-01-24 17:04:51 -08:00
Vladimir Kozlov
5b3f2efc2e
7131302: connode.cpp:205 Error: ShouldNotReachHere()
...
Add Value() methods to short and byte Load nodes to truncate constants which does not fit.
Reviewed-by: jrose
2012-01-20 09:43:06 -08:00
Vladimir Kozlov
791afc42da
7128352: assert(obj_node == obj) failed
...
Compare uncasted object nodes.
Reviewed-by: never
2012-01-10 18:05:38 -08:00
Roland Westrelin
97439fb4ff
7121140: Allocation paths require explicit memory synchronization operations for RMO systems
...
Adds store store barrier after initialization of header and body of objects.
Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Stefan Karlsson
e057d60ca1
7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
...
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.
Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Vladimir Kozlov
78034a3d3b
7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)
...
Delay memory node transformation until the memory is processed.
Reviewed-by: iveresov, never
2011-12-02 21:37:19 -08:00
Vladimir Kozlov
8d2ee23293
6890673: Eliminate allocations immediately after EA
...
Try to eliminate allocations and related locks immediately after escape analysis.
Reviewed-by: never
2011-11-16 09:13:57 -08:00
Vladimir Kozlov
09b7902e14
7107042: assert(no_dead_loop) failed: dead loop detected
...
Use dead nodes elimination code in PhaseIdealLoop before executing EA.
Reviewed-by: never, twisti
2011-11-09 07:25:51 -08:00
Vladimir Kozlov
47e357e16f
7081933: Use zeroing elimination optimization for large array
...
Don't zero new typeArray during runtime call if the allocation is followed by arraycopy into it.
Reviewed-by: twisti
2011-09-26 10:24:05 -07:00
Christian Thalinger
1038fed51d
7071709: JSR 292: switchpoint invalidation should be pushed not pulled
...
Reviewed-by: never
2011-09-02 04:28:59 -07:00
Roland Westrelin
b543a07b9a
7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
...
Replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes
Reviewed-by: kvn, twisti
2011-08-02 18:36:40 +02:00
Vladimir Kozlov
6d0283ed8e
Merge
2011-04-29 11:15:30 -07:00
Vladimir Kozlov
abc5f94df7
7026700: regression in 6u24-rev-b23: Crash in C2 compiler in PhaseIdealLoop::build_loop_late_post
...
Memory slices should be always created for non-static fields after allocation
Reviewed-by: never
2011-04-20 18:29:35 -07:00
Jon Masamitsu
b6e631d446
Merge
2011-04-08 14:19:50 -07:00
Tom Rodriguez
aac4647e6e
7032963: StoreCM shouldn't participate in store elimination
...
Reviewed-by: kvn
2011-04-05 19:14:03 -07:00
Vladimir Kozlov
0493606cdd
7032696: Fix for 7029152 broke VM
...
StrIntrinsicNode::Ideal() should not optimize memory during Parse.
Reviewed-by: jrose, never
2011-03-31 13:22:34 -07:00
Vladimir Kozlov
3ecb9f51df
7029152: Ideal nodes for String intrinsics miss memory edge optimization
...
In Ideal() method of String intrinsics nodes look for TypeAryPtr::CHARS memory slice if memory is MergeMem. Do not unroll a loop with String intrinsics code.
Reviewed-by: never
2011-03-30 12:08:49 -07:00
John Coomes
fe899cc10d
6962931: move interned strings out of the perm gen
...
Reviewed-by: never, coleenp, ysr, jwilhelm
2011-03-22 13:36:33 -07:00
Vladimir Kozlov
a74bc73598
6942326: x86 code in string_indexof() could read beyond reserved heap space
...
Copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.
Reviewed-by: never
2011-02-26 12:10:54 -08:00
Vladimir Kozlov
afa5d117b7
6812217: Base memory of MergeMem node violates assert during killing expanded AllocateArray node
...
The assert in MergeMemNode::memory_at() misses the case when address is TOP.
Reviewed-by: never
2011-02-24 10:28:20 -08:00
Tom Rodriguez
532dec3797
7002666: eclipse CDT projects crash with compressed oops
...
Reviewed-by: kvn, twisti
2010-12-01 10:16:31 -08:00
Stefan Karlsson
8006fe8f75
6989984: Use standard include model for Hospot
...
Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Vladimir Kozlov
7cc55737b6
6916062: assert(_inserts <= _insert_limit,"hash table overflow") in NodeHash::hash_insert
...
Missing check for not empty worklist when puting memory node back on worklist and expecting address type update.
Reviewed-by: never
2010-09-30 18:31:45 -07:00