52 Commits

Author SHA1 Message Date
Roland Westrelin
2838bcc3bf 8026796: Make replace_in_map() on parent maps generic
Propagate node replacements along control flow edges to callers

Reviewed-by: kvn, vlivanov
2014-06-10 13:37:16 +02:00
Tobias Hartmann
2a0815a55e 8034812: remove IDX_INIT macro hack in Node class
The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.

Reviewed-by: kvn, jrose, iveresov, goetz
2014-06-02 08:07:29 +02:00
Igor Veresov
54db2c2d61 8032463: VirtualDispatch test timeout with DeoptimizeALot
Introduce code aging for warm method detection

Reviewed-by: kvn, twisti
2014-05-13 11:32:10 -07:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04: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
97a51c5c2a 8031320: Use Intel RTM instructions for locks
Use RTM for inflated locks and stack locks.

Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Aleksey Shipilev
1d10b6813e 8031818: Experimental VM flag for enforcing safe object construction
-XX:+AlwaysSafeConstructors to unconditionally emit the trailing constructor barrier.

Reviewed-by: kvn, roland
2014-03-03 15:31:27 +04:00
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
Martin Doerr
0306737032 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes
Reviewed-by: dholmes, kvn
2014-01-16 14:25:51 +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
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
Roland Westrelin
1b5bd82335 8024070: C2 needs some form of type speculation
Record unused type profile information with type system, propagate and use it.

Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02:00
Roland Westrelin
3f8ae3e9b9 8024069: replace_in_map() should operate on parent maps
Type information gets lost because replace_in_map() doesn't update parent maps

Reviewed-by: kvn, twisti
2013-10-19 12:16:43 +02: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
Christian Thalinger
a55305503e 8005418: JSR 292: virtual dispatch bug in 292 impl
Reviewed-by: jrose, kvn
2013-01-09 15:37:23 -08:00
Bharadwaj Yadavalli
2d2532e740 7092905: C2: Keep track of the number of dead nodes
Keep an (almost) accurate running count of the reachable (live) flow graph nodes.

Reviewed-by: kvn, twisti, jrose, vlivanov
2012-11-27 17:24:15 -08:00
Christian Thalinger
31411dbc32 7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop()
Reviewed-by: kvn, jrose
2012-11-26 17:25:11 -08:00
Vladimir Ivanov
822deb6ee6 7177003: C1: LogCompilation support
Add LogCompilation support in C1 - both client and tiered mode.

Reviewed-by: twisti, kvn
2012-10-05 18:57:10 -07:00
Vladimir Kozlov
8d8d00ff00 7199742: A lot of C2 OSR compilations of the same method's bci
Don't clone head of OSR loop.

Reviewed-by: jrose, twisti
2012-10-02 14:49:21 -07: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
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
5e05a0d592 7187454: stack overflow in C2 compiler thread on Solaris x86
Added new FormatBufferResource class to use thread's resource area for error message buffer.

Reviewed-by: twisti
2012-07-30 09:49:25 -07:00
Christian Thalinger
12901d0e5b 7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI

Remove assembly code for JDK 7 chained method handles

Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Vladimir Kozlov
337666a80c 7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
Do not common BoxLock nodes and avoid creating phis of boxes.

Reviewed-by: never
2012-01-12 14:45:04 -08:00
Vladimir Kozlov
94927c382b 7125896: Eliminate nested locks
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.

Reviewed-by: never, twisti
2012-01-07 13:26:43 -08: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
1ac79543d0 5091921: Sign flip issues in loop optimizer
Fix integer overflow problem in the code generated by loop optimizer.

Reviewed-by: never
2011-05-04 13:12:42 -07: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
3de260da41 7008866: Missing loop predicate for loop with multiple entries
Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.

Reviewed-by: never
2011-03-21 11:28:14 -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
Tom Rodriguez
a1446b775d 6938026: C2 compiler fails in Node::rematerialize()const
Reviewed-by: twisti
2010-04-14 15:30:13 -07:00
Tom Rodriguez
67c094c4c7 6926979: should simplify catch_inline_exception
Reviewed-by: twisti
2010-03-18 14:31:41 -07:00
Tom Rodriguez
e904069b51 6930398: fix for return address locals in OSR entries uses wrong test
Reviewed-by: kvn
2010-03-01 12:12:35 -08:00
Tom Rodriguez
0ab4fb9e37 6915557: assert(_gvn.type(l)->higher_equal(type),"must constrain OSR typestate") with debug build
Reviewed-by: kvn
2010-02-25 11:38:50 -08:00
Tom Rodriguez
51fc36cc9a 6877221: Endless deoptimizations in OSR nmethod
Reviewed-by: kvn
2010-02-16 20:07:48 -08:00
Changpeng Fang
815db4fcba 6894779: Loop Predication for Loop Optimizer in C2
Loop predication implementation

Reviewed-by: never, kvn
2010-01-12 14:37:35 -08:00
Tom Rodriguez
1fb2423873 6892079: live value must not be garbage failure after fix for 6854812
Reviewed-by: kvn
2009-11-11 23:39:17 -08:00
Tom Rodriguez
7437f0b825 6854812: 6.0_14-b08 crashes with a SIGSEGV
Reviewed-by: kvn, twisti
2009-09-16 11:06:10 -07:00
Xiomara Jayasena
a63ef10004 6862919: Update copyright year
Update copyright for files that have been modified in 2009, up to 07/09

Reviewed-by: tbell, ohair
2009-07-28 12:12:40 -07:00
Vladimir Kozlov
34ee921399 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Cache Jvmti and DTrace flags used by Compiler.

Reviewed-by: never
2009-05-08 10:44:20 -07:00
John R Rose
34c1d72421 6655646: dynamic languages need dynamically linked call sites
Invokedynamic instruction (JSR 292 RI)

Reviewed-by: twisti, never
2009-04-21 23:21:04 -07:00
Tom Rodriguez
4d34a77121 6823454: Oop-typed loadP yields invalid pointer (0x1) on SPECjbb2005 at OSRed method entry
Reviewed-by: kvn, jrose
2009-04-01 11:45:01 -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
Tom Rodriguez
4b1e242299 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
2008-09-17 12:59: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
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