65 Commits

Author SHA1 Message Date
Vladimir Kozlov
d124a839ce 8059299: assert(adr_type != NULL) failed: expecting TypeKlassPtr
Use top() for dead paths when initializing Phi node of exceptions klasses in Parse::catch_inline_exceptions().

Reviewed-by: jrose, vlivanov
2014-10-02 11:36:44 -07:00
Roland Westrelin
b5e96ad985 8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc
Call to Object.finalize() sometimes allowed by compilers on array type

Reviewed-by: iveresov, vlivanov
2014-07-02 22:54:18 +02:00
Vladimir Kozlov
56cea022c9 8035605: Expand functionality of PredictedIntrinsicGenerator
Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.

Reviewed-by: roland
2014-06-10 12:28:06 -07:00
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
Vladimir Kozlov
6bfc0288f3 8042786: Proper fix for 8032566
Check for overflow cases in range checks and collapse it if we can.

Reviewed-by: jrose, iveresov
2014-05-16 12:05:14 -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
Roland Westrelin
522abfc113 8005079: fix LogCompilation for incremental inlining
Report late inlining as part of the rest of the inlining output

Reviewed-by: twisti, kvn
2014-04-10 11:38:12 +02:00
Roland Westrelin
eb8588549a 8007988: PrintInlining output is inconsistent with incremental inlining
Fix duplicate and conflicting inlining output

Reviewed-by: kvn, vlivanov
2014-04-09 09:17:43 +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
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
Roland Westrelin
493557fc90 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.

Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01:00
Aleksey Shipilev
fbff3b73a4 8032490: Remove -XX:+-UseOldInlining
Move the option to obsolete options list, purge the redundant compiler code.

Reviewed-by: kvn, jrose
2014-01-24 15:26:56 +04: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
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
Aleksey Shipilev
84fd9150e2 8014447: Object.hashCode intrinsic breaks inline caches
Try to inline as normal method first, then fall back to intrinsic.

Reviewed-by: kvn, twisti
2013-09-27 11:52:24 +04:00
Vladimir Kozlov
0ccb2841ea 8022585: VM crashes when ran with -XX:+PrintInlining
Use adr_at() to access inline info structures in growableArray. Add ability to specify print inlining per method.

Reviewed-by: twisti
2013-09-24 16:08:00 -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
Christian Thalinger
5dda34f798 8006109: test/java/util/AbstractSequentialList/AddAll.java fails: assert(rtype == ctype) failed: mismatched return types
Reviewed-by: kvn
2013-01-15 12:06:18 -08: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
Roland Westrelin
73d6d417be 8005071: Incremental inlining for JSR 292
Post parse inlining driven by number of live nodes.

Reviewed-by: twisti, kvn, jrose
2012-12-23 17:08:22 +01:00
Roland Westrelin
b1c3e5ccc6 8005031: Some cleanup in c2 to prepare for incremental inlining support
Collection of small changes to prepare for incremental inlining.

Reviewed-by: twisti, kvn
2012-12-18 14:55:25 +01: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
Bharadwaj Yadavalli
4b288c8976 8001077: remove ciMethod::will_link
Removed will_link and changed all calls to is_loaded().

Reviewed-by: kvn
2012-11-15 10:42:06 -08:00
Tom Deneau
6d94ef1ee7 7184394: add intrinsics to use AES instructions
Use new x86 AES instructions for AESCrypt.

Reviewed-by: twisti, kvn, roland
2012-10-24 14:33:22 -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
Aleksey Shipilev
3874f44d1c 7198499: TraceTypeProfile as diagnostic option
Reviewed-by: kvn
2012-09-19 10:38:12 -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
Christian Thalinger
40c1bd4242 7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites
Reviewed-by: kvn
2012-08-28 15:24:39 -07:00
Christian Thalinger
e409ee94ae 7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13
Reviewed-by: kvn, jrose
2012-08-01 14:44:26 -07: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
b9eb5785cc 7187290: nightly failures after JSR 292 lazy method handle update
Reviewed-by: kvn, twisti
2012-07-27 16:14:15 -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
Krystal Mok
100eb2036d 7170053: crash in C2 when using -XX:+CountCompiledCalls
Reviewed-by: kvn, twisti
2012-05-18 12:20:24 -07:00
Nils Eliasson
36efb40d10 6658428: C2 doesn't inline java method if corresponding intrinsic failed to inline
Allow fallback to non-intrinsic inline case

Reviewed-by: kvn, jrose, never
2012-03-05 18:10:31 -08:00
Christian Thalinger
ed9a60ae02 7108383: JSR 292: JRuby bench_define_method_methods.rb: assert(slow_jvms != NULL) failed: miss path must not
Reviewed-by: kvn, never
2011-11-17 04:07:30 -08:00
Christian Thalinger
db44acbeb4 7085404: JSR 292: VolatileCallSites should have push notification too
Reviewed-by: never, kvn
2011-09-02 00:36:18 -07:00
Christian Thalinger
134c40b4db 7071653: JSR 292: call site change notification should be pushed not pulled
Reviewed-by: kvn, never, bdelsart
2011-08-16 04:14:05 -07:00
Tom Rodriguez
15161b8cd1 7057587: JSR 292 - crash with jruby in test/test_respond_to.rb
Don't skip receiver when GC'ing compiled invokedynamic callsites

Reviewed-by: twisti, kvn, jrose
2011-06-22 14:45:37 -07:00
Tom Rodriguez
e666162b03 7050554: JSR 292 - need optimization for selectAlternative
Reviewed-by: kvn, jrose
2011-06-02 13:36:11 -07:00
Christian Thalinger
db9005f0d3 6998541: JSR 292 implement missing return-type conversion for OP_RETYPE_RAW
Reviewed-by: jrose, kvn, never
2011-05-12 14:04:48 -07:00
Christian Thalinger
fee8d7fca4 7042122: JSR 292: adjust various inline thresholds for JSR 292 API methods and method handle adapters
Reviewed-by: jrose, never, kvn
2011-05-10 00:45:03 -07:00
John R Rose
f8fe3457a5 7009600: JSR 292 Server compiler crashes in Compile::find_intrinsic(ciMethod*, bool)
Catch errors during the compile-time processing of method handles; back out cleanly

Reviewed-by: twisti
2011-04-07 17:12:23 -07:00
Christian Thalinger
f51036e9bc 7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn
2011-03-28 03:58:07 -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
Christian Thalinger
59ea7a14e6 6987634: JSR 292 assert(start_bci() >= 0 && start_bci() < code_size()) failed: correct osr_bci argument
Reviewed-by: never, kvn
2010-09-29 00:30:57 -07:00
Tom Rodriguez
d3c3800a29 6958668: repeated uncommon trapping for new of klass which is being initialized
Reviewed-by: kvn, jrose
2010-07-12 10:58:25 -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
67c094c4c7 6926979: should simplify catch_inline_exception
Reviewed-by: twisti
2010-03-18 14:31:41 -07:00