Tobias Hartmann
70a55eac34
8054033: Remove unused references to Compile*
...
Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
Tobias Hartmann
85296fec28
8036851: volatile double accesses are not explicitly atomic in C2
...
The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.
Reviewed-by: twisti, kvn
2014-05-06 09:17:57 +02:00
Morris Meyer
6db303a301
8001532: C2 node files refactoring
...
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08: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
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
Vladimir Kozlov
aabed3781b
Merge
2013-11-21 12:30:35 -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
Igor Veresov
c342a79faf
8017065: C2 allows safepoint checks to leak into G1 pre-barriers
...
Make all raw loads strictly respect control dependencies, make sure RCE doesn't move raw loads, add verification of G1 pre-barriers.
Reviewed-by: kvn, roland
2013-11-05 01:57:18 -08: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
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
5f132a5ec3
Merge
2012-10-12 09:22:52 -07:00
Vladimir Ivanov
6674423523
7199654: Remove LoadUI2LNode
...
Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.
Reviewed-by: kvn
2012-10-09 12:40:05 -07:00
Mikael Vidstedt
769dd50182
7197424: update copyright year to match last edit in jdk8 hotspot repository
...
Update copyright year to 2012 for relevant files
Reviewed-by: dholmes, coleenp
2012-10-09 10:09:34 -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
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
Krystal Mok
529b370174
7174218: remove AtomicLongCSImpl intrinsics
...
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07: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
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
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
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
Vladimir Kozlov
90651b2666
7079329: Adjust allocation prefetching for T4
...
On T4 2 BIS instructions should be issued to prefetch 64 bytes
Reviewed-by: iveresov, phh, twisti
2011-08-16 16:59:46 -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
Erik Trimble
c9e484d473
7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
...
Update the copyright to be 2010 on all changed files in OpenJDK
Reviewed-by: ohair
2011-04-05 14:12:31 -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
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
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
f6934fd3b7
6940726: Use BIS instruction for allocation prefetch on Sparc
...
Use BIS instruction for allocation prefetch on Sparc
Reviewed-by: twisti
2010-04-07 12:39:27 -07:00
Tom Rodriguez
0b2600abcd
6920346: G1: "must avoid base_memory and AliasIdxTop"
...
Reviewed-by: kvn
2010-01-28 16:28:28 -08: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
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
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
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
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
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
Xiomara Jayasena
c96a95c4b8
6719955: Update copyright year
...
Update copyright year for files that have been modified in 2008
Reviewed-by: ohair, tbell
2008-07-02 12:55:16 -07:00
Chuck Rasbold
2e672ac9bf
6695049: (coll) Create an x86 intrinsic for Arrays.equals
...
Intrinsify java/util/Arrays.equals(char[], char[])
Reviewed-by: kvn, never
2008-05-29 16:22:09 -07:00
Vladimir Kozlov
76035424de
6703890: Compressed Oops: add LoadNKlass node to generate narrow oops (32-bits) compare instructions
...
Add LoadNKlass and CMoveN nodes, use CmpN and ConN nodes to generate narrow oops compare instructions.
Reviewed-by: never, rasbold
2008-05-21 13:46:23 -07:00
Vladimir Kozlov
757229db71
6695810: null oop passed to encode_heap_oop_not_null
...
Fix several problems in C2 related to Escape Analysis and Compressed Oops.
Reviewed-by: never, jrose
2008-05-21 10:45:07 -07:00
Vladimir Kozlov
df8fc19aac
6686791: Side effect in NumberFormat tests with -server -Xcomp
...
Optimization in CmpPNode::sub() removed the valid compare instruction because of false positive answer from detect_dominating_control().
Reviewed-by: jrose, sgoldman
2008-04-16 19:19:48 -07:00
Coleen Phillimore
4a831d45f0
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
...
Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
2008-04-13 17:43:42 -04:00
Vladimir Kozlov
cdd27962da
6674600: (Escape Analysis) Optimize memory graph for instance's fields
...
EA gives opportunite to do more aggressive memory optimizations.
Reviewed-by: never, jrose
2008-03-20 15:11:44 -07:00
Vladimir Kozlov
30dc0edfc8
6673473: (Escape Analysis) Add the instance's field information to PhiNode
...
Avoid an infinite generation of instance's field values Phi nodes.
Reviewed-by: never
2008-03-13 16:31:32 -07:00
Vladimir Kozlov
c223fed084
6667580: Optimize CmpP for allocations
...
CmpP could be optimized out if it compares new allocated objects.
Reviewed-by: jrose, never, rasbold
2008-02-29 09:57:18 -08:00