60 Commits

Author SHA1 Message Date
Roland Westrelin
88848bd9e8 6912521: System.arraycopy works slower than the simple loop for little lengths
Convert small array copies to series of loads and stores

Reviewed-by: kvn, vlivanov
2015-02-18 18:14:07 +01:00
David Chase
46fa321d63 8069412: Locks need better debug-printing support
Added better debug-printing support and enhanced LogCompilation tool

Reviewed-by: kvn, roland, dholmes
2015-02-17 13:54:53 -05:00
Roland Westrelin
43bcdf4017 8071533: assert(n0->is_Call()) failed: expect a call here
Remove_dead_region() call missing from ArrayCopyNode::Ideal()

Reviewed-by: kvn, vlivanov
2015-01-30 15:23:41 +01:00
Roland Westrelin
2e82794bfa 6700100: optimize inline_native_clone() for small objects with exact klass
Optimize small instance clones as loads/stores

Reviewed-by: kvn, iveresov
2014-12-16 13:49:36 +01:00
Vladimir Ivanov
5fd1e54fc1 8067338: compiler/debug/TraceIterativeGVN.java segfaults
Reviewed-by: kvn
2014-12-19 16:42:40 -08:00
Vladimir Ivanov
916697af2c 8036748: assert(_base == Int) failed: Not an Int w/ -XX:+TraceIterativeGVN
Reviewed-by: kvn, roland
2014-10-24 09:14:41 -07:00
Roland Westrelin
fa27000f3c 8055910: closed/java/util/Collections/CheckedCollections.java failed with ClassCastException not thrown
Missing subtype check for Arrays.copyOf intrinsic

Reviewed-by: kvn, iveresov
2014-08-29 16:32:29 +02:00
Roland Westrelin
400f0f7a8f 8055153: nsk/stress/jck60/jck60014 crashes on sparc
Missing control for LoadRange and LoadKlass nodes created during arraycopy node expansion

Reviewed-by: kvn, iveresov
2014-08-19 17:23:38 +02:00
Roland Westrelin
a56ade07c7 7173584: Implement arraycopy as a macro node
Delay the conversion of arraycopy to stub calls to macro expansion

Reviewed-by: kvn, iveresov
2014-08-11 14:12:51 +02:00
Roland Westrelin
355f6eb4ae 8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943
PhiNode inserted between AllocateNode and Initialization node confuses allocation elimination

Reviewed-by: kvn
2014-08-02 07:06:08 +02:00
Zoltan Majo
1d44fa46f0 8050860: Cleanup TypeTuple and TypeFunc
Declared fields TypeFunc::_domain, TypeFunc::_range, TypeTuple::_cnt and TypeTuple::_fields private, changed direct accesses to fields to use accessor methods.

Reviewed-by: kvn, vlivanov
2014-07-24 09:15:38 +02: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
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
f5adc57f94 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.

Reviewed-by: twisti, kvn
2014-04-01 09:36:49 +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
9c10079653 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.

Reviewed-by: kvn
2013-12-20 13:51:14 +01:00
Goetz Lindenmaier
b4ded0bc2e 8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object
Also introduces the compiler oracle 'option' feature for PrintAssembly.

Reviewed-by: kvn
2013-11-22 12:14:09 -08:00
Vladimir Kozlov
ccfb92c6a9 8012972: Incremental Inlining should support scalar replaced object in debug info
Store in _first_index not absolute index but an index relative to the last (youngest) jvms->_scloff value

Reviewed-by: roland, twisti
2013-08-23 11:41:37 -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
Goetz Lindenmaier
44cdae9a57 8005055: pass outputStream to more opto debug routines
Pass the output stream to node->dump() and everything reachable from there

Reviewed-by: kvn
2013-01-22 11:31:25 -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
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
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
e5f92a2396 7147744: CTW: assert(false) failed: infinite EA connection graph build
Rewrote Connection graph construction code in EA to reduce time spent there.

Reviewed-by: never
2012-03-12 10:46:47 -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
791afc42da 7128352: assert(obj_node == obj) failed
Compare uncasted object nodes.

Reviewed-by: never
2012-01-10 18:05:38 -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
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
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
cc513a8564 6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Execute IGVN optimization before and after Escape Analysis

Reviewed-by: never
2010-07-02 17:30:30 -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
9db2092b1b 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
2009-11-12 09:24:21 -08:00
Vladimir Kozlov
022d690049 6892186: SA does not dump debug info for scalar replaced objects
Implement scalar replaced objects debug info dump in SA.

Reviewed-by: twisti
2009-10-21 09:15:33 -07:00
Changpeng Fang
ff9a1bddb5 6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
Use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams

Reviewed-by: kvn, never, twisti
2009-08-20 12:42:57 -07:00
Vladimir Kozlov
ab7a29cdcc Merge 2009-08-06 09:37:26 -07:00
Changpeng Fang
ae00753bf7 6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
Developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens

Reviewed-by: kvn, never, jrose, twisti
2009-07-31 17:12:33 -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
090346b4e8 6823453: DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph")
Use a HaltNode on the fall through path of the AllocateArrayNode to indicate that it is unreachable if the array length is negative.

Reviewed-by: never, jrose
2009-04-03 13:33:32 -07:00
Vladimir Kozlov
9b31d58b98 6809798: SafePointScalarObject node placed into incorrect block during GCM
Replace the control edge of a pinned node before scheduling.

Reviewed-by: never
2009-02-26 14:26:02 -08:00
Vladimir Kozlov
f2f18a01e5 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.

Reviewed-by: never
2008-12-03 13:41:37 -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
659ca734bb 6706829: Compressed Oops: add debug info for narrow oops
Add support for narrow oops in debug info to avoid decoding.

Reviewed-by: rasbold, never
2008-09-10 18:23:32 -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
fae39068e8 6723160: Nightly failure: Error: meet not symmetric
Add missing _instance_id settings and other EA fixes.

Reviewed-by: rasbold
2008-07-16 16:04:39 -07:00