67 Commits

Author SHA1 Message Date
Tobias Hartmann
ca56200977 6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
Emit CastII to make narrow ConvI2L dependent on the corresponding range check.

Reviewed-by: kvn, roland
2016-01-18 08:40:25 +01:00
Christian Thalinger
6896030b96 8140424: don't prefix developer and notproduct flag variables with CONST_ in product builds
Reviewed-by: goetz, stefank
2015-11-11 16:32:17 -10:00
Roland Westrelin
fa6545ccc1 8137168: Replace IfNode with a new RangeCheckNode for range checks
New RangeCheckNode to enable optimization of explicit library level range checks

Reviewed-by: kvn, thartmann
2015-11-09 11:28:31 +01:00
Nils Eliasson
5a5faf94bf 8137167: JEP165: Compiler Control: Implementation task
Compiler Control JEP

Reviewed-by: roland, twisti, zmajo, simonis
2015-10-20 18:07:28 +02:00
Vladimir Ivanov
92d8281194 8078629: VM should constant fold Unsafe.get*() loads from final fields
Reviewed-by: kvn, jrose, psandoz
2015-07-14 06:44:50 -07:00
Vladimir Kozlov
239370b736 Merge 2015-02-26 10:56:54 -08:00
Jesper Wilhelmsson
d7f5fccbc6 Merge 2015-02-16 21:24:39 +01:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Vladimir Ivanov
7227e9ba53 8063137: Never-taken branches should be pruned when GWT LambdaForms are shared
Reviewed-by: jrose, kvn
2015-01-29 10:25:59 -08:00
Zoltan Majo
9d6b3c1d71 8067374: Use %f instead of %g for LogCompilation output
Changed format string from %g to %f.

Reviewed-by: kvn
2015-01-15 11:30:13 +01:00
Andrew Haley
0b30e012ee 8064611: AARCH64: Changes to HotSpot shared code
Everything except cpu/ and os_cpu/

Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
2014-12-11 13:11:53 -08:00
Zoltan Majo
bde7fd61b4 8060215: per-method PrintIdealGraphLevel
Use CompileCommand=option to set PrintIdealGraphLevel on a per-method level. Introduce the PrintIdealGraph develop to control/check if printing the graph is enabled for any method

Reviewed-by: kvn, dlong, thartmann
2014-10-15 10:51:43 +02:00
Rickard Bäckman
99ff96473e 8046289: compiler/6340864/TestLongVect.java timeout with
Reviewed-by: iveresov, vlivanov
2014-06-23 13:33:23 +02:00
Rickard Bäckman
8bd4b5624c 8030976: Untaken paths should be more vigorously pruned at highest optimization level
Reviewed-by: roland, vlivanov
2014-05-22 13:42:44 +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
Coleen Phillimore
388434f387 Merge 2014-05-12 09:47:57 -04: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
Zhengyu Gu
adcde492fa 8041415: remove port.{cpp,hpp} files
Hotspot should use standard headers and types

Reviewed-by: coleenp, kvn
2014-05-07 06:03:31 -07: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
Roland Westrelin
fa3b0a8f47 8031755: Type speculation should be used to optimize explicit null checks
Feed profiling data about reference nullness to type speculation.

Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02: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
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
Vladimir Ivanov
0059da4a6d 8024774: assert(_con < t->is_tuple()->cnt()) failed: ProjNode::_con must be in range
Reviewed-by: iveresov, roland, kvn, twisti
2013-10-07 14:12:23 +04: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
Bharadwaj Yadavalli
6132db352d 8009539: JVM crash when run lambda testng tests
Ensure class pointer is non-null before dereferencing it to check if it is loaded.

Reviewed-by: kvn
2013-03-22 07:58:55 -07: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
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
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
761e0b221d 7180769: assert(tboth->klass_is_exact()) failed: klass should be exact
Use class exactness as part of the condition for class compare optimization instead of assert.

Reviewed-by: twisti, roland
2012-07-02 12:59:43 -07:00
Krystal Mok
a9ea68bd3f 7170463: C2 should recognize "obj.getClass() == A.class" code pattern
Optimize this code pattern obj.getClass() == A.class.

Reviewed-by: jrose, kvn
2012-05-25 07:53:11 -07:00
Tom Rodriguez
fa7c124af1 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -07:00
Igor Veresov
aac4b1553e 6988308: assert((cnt > 0.0f) && (prob > 0.0f)) failed: Bad frequency assignment in if
Make sure cnt doesn't become negative and integer overflow doesn't happen.

Reviewed-by: kvn, twisti
2011-04-13 14:33:03 -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
John R Rose
c7e50e8305 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
2010-08-20 23:40:30 -07:00
John R Rose
1f4cfb029b 6939203: JSR 292 needs method handle constants
Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.

Reviewed-by: twisti, never
2010-06-09 18:50:45 -07:00
John R Rose
d6a9b93b5a Merge 2010-06-02 22:45:42 -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
John R Rose
581521ba96 6939207: refactor constant pool index processing
Factored cleanup of instruction decode which prepares for enhanced ldc semantics.

Reviewed-by: twisti
2010-05-23 01:38:26 -07:00
Tom Deneau
f23b68b367 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.

Reviewed-by: never, kvn, dcubed
2010-02-01 17:35:05 -07: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
John R Rose
e261aecad8 6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -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
Tom Rodriguez
da11e65fa4 6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer")
Reviewed-by: kvn
2009-07-01 12:22:23 -07:00