116 Commits

Author SHA1 Message Date
Vladimir Kozlov
ba7149bbda 8028468: Add inlining information into ciReplay
Allow dump and replay inlining for specified method during a program execution.

Reviewed-by: roland, twisti
2014-01-08 10:25:50 -08:00
Igor Veresov
c78419253b Merge 2013-11-05 02:29:41 -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
Rickard Bäckman
897e6d41f6 8027622: java.time.Instant.create failing since hs25-b56
Reviewed-by: kvn, iveresov
2013-11-04 10:44:46 +01: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
Rickard Bäckman
e2efed4a9b 8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
Reviewed-by: iveresov, roland
2013-10-21 15:31:16 +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
Rickard Bäckman
0e8081e57b 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
Reviewed-by: kvn, twisti
2013-10-11 12:06:14 +02: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
Thomas Schatzl
b4e927d2a9 Merge 2013-09-16 09:41:03 +02:00
Vladimir Ivanov
f0e77ac67f 8001107: @Stable annotation for constant folding of lazily evaluated variables
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: rbackman, twisti, kvn
2013-09-10 14:51:48 -07:00
Niclas Adlertz
be8c8aac48 8023691: Create interface for nodes in class Block
Create public methods for accessing the nodes in a block

Reviewed-by: kvn, roland
2013-08-26 12:50:23 +02:00
Erik Helin
30f059b5fc 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02:00
Niclas Adlertz
a235ecb344 8023003: Cleanup the public interface to PhaseCFG
Public methods that don't need to be public should be private.

Reviewed-by: kvn, twisti
2013-08-16 10:23:55 +02:00
Niclas Adlertz
bfe8385fa9 8022284: Hide internal data structure in PhaseCFG
Hide private node to block mapping using public interface

Reviewed-by: kvn, roland
2013-08-07 17:56:19 +02:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +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
Niclas Adlertz
09fdc18edc 8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
2013-04-16 10:08:41 +02:00
Mikael Vidstedt
eeb83733a6 8003310: Enable -Wunused-function when compiling with gcc
Add the -Wunused-function flag and remove a number of unused functions.

Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Nils Eliasson
bcbdbf9996 8005772: Stubs report compile id -1 in phase events
Use 0 to indicate id is NA, -1 for error or uninitalized

Reviewed-by: kvn, twisti
2013-02-13 10:25:09 +01:00
Roland Westrelin
748083843a 8009460: C2compiler crash in machnode::in_regmask(unsigned int)
7121140 may not correctly break the Allocate -> MemBarStoreStore link

Reviewed-by: kvn
2013-03-06 10:28:38 +01:00
Aleksey Shipilev
4b638cf955 8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov
2013-03-05 04:24:50 -08:00
Roland Westrelin
c401bf065d 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Add support for expensive nodes.

Reviewed-by: kvn
2013-02-12 12:56:11 +01:00
David Chase
cc15237ca5 8005821: C2: -XX:+PrintIntrinsics is broken
Check all print inlining flags when processing inlining list.

Reviewed-by: kvn, twisti
2013-01-15 14:45:12 -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
2c2c007448 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
2012-11-30 15:23:16 -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
Vladimir Kozlov
2d3b78abcc 8000623: tools/javac/Diagnostics/6769027/T6769027.java crashes in PSPromotionManager::copy_to_survivor_space
Fix type of method pointer load from vtable.

Reviewed-by: twisti, johnc, roland
2012-10-17 12:09:32 -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
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
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
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
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
Vladimir Kozlov
811c047ec1 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Save whole XMM/YMM registers in safepoint interrupt handler.

Reviewed-by: roland, twisti
2012-09-17 19:39:07 -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
cbfca3259c 7192963: assert(_in[req-1] == this) failed: Must pass arg count to 'new'
Fixed Pack node generation. Not vectorize shift instructions if count is not the same for all shifts and if count is vector.

Reviewed-by: twisti
2012-08-22 11:55:40 -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
Vladimir Kozlov
d1191bb4f4 7119644: Increase superword's vector size up to 256 bits
Increase vector size up to 256-bits for YMM AVX registers on x86.

Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Krystal Mok
529b370174 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Nils Eliasson
ea28f47062 7152955: print_method crashes with null root
Reviewed-by: kvn, never
2012-03-13 20:54:56 -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
f96f3e5e85 7123954: Some CTW test crash with SIGSEGV
Correct Allocate expansion code to preserve i_o when only slow call is generated.

Reviewed-by: iveresov
2011-12-27 15:08: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
Tom Rodriguez
2928feab6a 7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type
Reviewed-by: kvn
2011-12-19 14:16:23 -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
Christian Thalinger
81c085a1e2 7003454: order constants in constant table by number of references in code
Reviewed-by: kvn, never, bdelsart
2011-11-16 01:39:50 -08:00
Vladimir Kozlov
09b7902e14 7107042: assert(no_dead_loop) failed: dead loop detected
Use dead nodes elimination code in PhaseIdealLoop before executing EA.

Reviewed-by: never, twisti
2011-11-09 07:25:51 -08:00
Tom Rodriguez
fa7c124af1 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -07:00
Vladimir Kozlov
080f790edc 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Save/restore label and block in scratch_emit_size()

Reviewed-by: never
2011-08-16 11:53:57 -07:00