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
Tom Rodriguez
f4b4eae617
6982537: Crash in Node*step_through_mergemem
...
Reviewed-by: kvn
2010-09-22 13:01:12 -07:00
Tom Rodriguez
84aedee955
6969586: OptimizeStringConcat: SIGSEGV in LoadNode::Value()
...
Reviewed-by: kvn
2010-08-30 17:27:35 -07:00
Vladimir Kozlov
21f481e5dd
6959430: Make sure raw loads have control edge
...
Check that raw loads have control edge
Reviewed-by: never, twisti
2010-06-15 18:07:27 -07:00
Erik Trimble
ba7c173659
6941466: Oracle rebranding changes for Hotspot repositories
...
Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
Vladimir Kozlov
9f5ca0249d
6895383: JCK test throws NPE for method compiled with Escape Analysis
...
Add missing checks for MemBar nodes in EA.
Reviewed-by: never
2009-12-09 16:40:45 -08:00
Tom Rodriguez
9db2092b1b
6892658: C2 should optimize some stringbuilder patterns
...
Reviewed-by: kvn, twisti
2009-11-12 09:24:21 -08:00
Vladimir Kozlov
c5744bd138
6896352: CTW fails hotspot/src/share/vm/opto/escape.cpp:1155
...
Always call C->get_alias_index(phase->type(address)) during parsing.
Reviewed-by: never
2009-11-04 14:43:50 -08:00
Vladimir Kozlov
243514d483
6827605: new String intrinsics may prevent EA scalar replacement
...
6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2
Modify String intrinsic methods to pass char[] pointers instead of string oops.
Reviewed-by: never
2009-09-14 12:14:20 -07:00
Changpeng Fang
c492f4cde5
6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default)
...
Design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node
Reviewed-by: kvn, never
2009-09-14 09:49:54 -07:00
Vladimir Kozlov
ca3a3504be
6711117: Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
...
Delay a memory node transformation if its control or address on IGVN worklist.
Reviewed-by: never
2009-04-07 19:04:24 -07:00
Changpeng Fang
c0d62ad9e6
6761600: Use sse 4.2 in intrinsics
...
Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals.
Reviewed-by: kvn, never, jrose
2009-03-31 14:07:08 -07:00
Christian Thalinger
89cea91c48
6797305: Add LoadUB and LoadUI opcode class
...
Add a LoadUB (unsigned byte) and LoadUI (unsigned int) opcode class so we have these load optimizations in the first place and do not need to handle them in the matcher.
Reviewed-by: never, kvn
2009-03-09 03:17:11 -07:00
Christian Thalinger
05d1de7727
6810672: Comment typos
...
I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
2009-02-27 13:27:09 -08:00
Vladimir Kozlov
73e8e582ba
6807084: AutoBox elimination is broken with compressed oops
...
Add checks for DecodeN nodes into AutoBox elimination code.
Reviewed-by: never
2009-02-18 13:53:42 -08:00
Vladimir Kozlov
681eb89b31
Merge
2009-02-17 14:30:24 -08:00
Tom Rodriguez
275a0bfb42
6793828: G1: invariant: queues are empty when activated
...
Reviewed-by: jrose, kvn
2009-02-05 11:42:10 -08:00
Christian Thalinger
3b8452da93
6796746: rename LoadC (char) opcode class to LoadUS (unsigned short)
...
Renaming LoadC to LoadUS would round up the planned introduction of LoadUB and LoadUI.
Reviewed-by: phh, kvn
2009-01-26 16:22:12 +01:00
Tom Rodriguez
a3d528cc30
6791132: bad control in autobox split code
...
Reviewed-by: kvn
2009-01-13 11:43:20 -08:00
Vladimir Kozlov
7aae40a95f
6462850: generate biased locking code in C2 ideal graph
...
Inline biased locking code in C2 ideal graph during macro nodes expansion
Reviewed-by: never
2008-11-07 09:29:38 -08:00
Chuck Rasbold
eee15b163e
6711100: 64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int")
...
Insert CastII nodes to narrow type of load_array_length() node
Reviewed-by: never, kvn
2008-09-17 08:29:17 -07:00
Vladimir Kozlov
37306315b2
6736417: Fastdebug C2 crashes in StoreBNode::Ideal
...
The result of step_through_mergemem() and remove_dead_region() is not checked in some cases.
Reviewed-by: never
2008-08-27 09:15:46 -07:00
Vladimir Kozlov
897278fce0
6731641: assert(m->adr_type() == mach->adr_type(),"matcher should not change adr type")
...
Fixed few addP node type and narrow oop type problems.
Reviewed-by: rasbold, never
2008-08-01 10:06:45 -07:00
Vladimir Kozlov
50c4a23cac
6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
...
Escape Analysis fixes.
Reviewed-by: never, rasbold
2008-07-28 17:12:52 -07:00