Roland Westrelin
f575843d51
8058746: escape analysis special case code for array copy broken by 7173584
...
Escape analysis doesn't handler arraycopy nodes properly
Reviewed-by: kvn, iveresov, vlivanov
2014-10-06 14:53:30 +02:00
Vladimir Ivanov
55291de970
8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement
...
Reviewed-by: kvn
2014-09-29 11:46:05 -07:00
Aleksey Shipilev
f824f8c3cb
8058968: Compiler time traces should be improved
...
Use CITime consistently, make C2 to report to CompilerBroker, more probes.
Reviewed-by: vlivanov, jrose
2014-09-25 12:10:57 +04:00
Vladimir Kozlov
b9e949183d
8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
...
Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.
Reviewed-by: roland
2014-09-02 12:48:45 -07:00
Tobias Hartmann
70a55eac34
8054033: Remove unused references to Compile*
...
Removed unused references to Compile* missed by JDK-8034812.
Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
James Cheng
395560c428
8035968: Leverage CPU Instructions to Improve SHA Performance on SPARC
...
Add C2 SHA intrinsics on SPARC
Reviewed-by: kvn, roland
2014-06-11 11:05:10 -07:00
Richard Reingruber
728ea561aa
8038048: assert(null_obj->escape_state() == PointsToNode::NoEscape,etc) runThese -full
...
Use correct set_escape_state() method.
Reviewed-by: kvn, iignatyev
2014-04-16 14:49:03 -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
Igor Veresov
cfefd04320
8027388: JVM crashes with SIGSEGV (0xb) at pc=0x00000001077cbbf6
...
Make object non-scalarizable if it has field with multiple bases one of which is null
Reviewed-by: kvn, twisti
2013-12-26 21:00:23 -08:00
Christian Thalinger
3fc4c7060d
8007923: Tests on references fails
...
Reviewed-by: kvn, iveresov
2013-10-08 19:57:28 -07:00
David Chase
9a359984c2
7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
...
Add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti
2013-07-02 20:42:12 -04: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
ff008d0615
8015441: runThese crashed with assert(opcode == Op_ConP || opcode == Op_ThreadLocal || opcode == Op_CastX2P ..) failed: sanity
...
Relax the assert to accept any raw ptr types.
Reviewed-by: roland
2013-05-31 13:54:47 -07:00
Vladimir Kozlov
2ed62e808c
8014286: failed java/lang/Math/DivModTests.java after 6934604 changes
...
Corrected escape state for the result of boxing method. Added force inlining executed boxing methods.
Reviewed-by: twisti
2013-05-13 14:36:39 -07:00
Vladimir Kozlov
d7176bf7f8
8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis()
...
Add NULL checks and asserts for Type::make_ptr() returned value.
Reviewed-by: twisti
2013-05-09 17:28:04 -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
Vladimir Kozlov
9e0c61f822
6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
...
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.
Reviewed-by: roland
2013-01-22 15:34: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
1ebf7b9116
8002069: Assert failed in C2: assert(field->edge_count() > 0) failed: sanity
...
Added missed type check of initializing store in ConnectionGraph::find_init_values().
Reviewed-by: roland, twisti, vlivanov
2012-11-06 15:16:32 -08:00
Vladimir Kozlov
4531e51fc4
7163534: VM could crashes assert(false) failed: infinite EA connection graph build
...
In case of time or iterations limit reached C2 stops EA and continue compilation without EA as it does in product VM already.
Reviewed-by: twisti
2012-10-25 17:32:03 -07: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
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
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
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
08973326c4
7154997: assert(false) failed: not G1 barrier raw StoreP
...
Skip only G1 cases and explicitly set global escape state in unsafe cases.
Reviewed-by: never
2012-03-20 13:10:13 -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
22db6951dc
7146442: assert(false) failed: bad AD file
...
Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods.
Reviewed-by: never
2012-02-21 11:55:05 -08:00
Vladimir Kozlov
2d533fa2a9
7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux
...
Removed code which tried to create edges from fields of destination objects of arraycopy to fields of source objects. Added 30 sec time limit for EA graph construction.
Reviewed-by: never
2012-02-10 12:53:43 -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
Roland Westrelin
97439fb4ff
7121140: Allocation paths require explicit memory synchronization operations for RMO systems
...
Adds store store barrier after initialization of header and body of objects.
Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Vladimir Kozlov
e187503af0
7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE
...
Fixed several EA issues with Connection Graph construction.
Reviewed-by: never, twisti
2011-11-28 15:46:31 -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
Vladimir Kozlov
6b52dbceb0
7105605: Use EA info to optimize pointers compare
...
Optimize pointers compare using EA information.
Reviewed-by: never, twisti
2011-11-14 18:38:03 -08:00
Vladimir Kozlov
0bc2963b7d
7059047: EA: can't find initializing store with several CheckCastPP
...
Split adjust_escape_state() method into two methods to find initializing stores.
Reviewed-by: never
2011-11-07 14:33:57 -08:00
Vladimir Kozlov
952f0b9b81
7059039: EA: don't change non-escaping state of NULL pointer
...
NULL pointers do not escape but escape state propagation may change it leading to worser results.
Reviewed-by: never
2011-10-25 12:51:13 -07:00
Vladimir Kozlov
18dd7131d0
7050280: assert(u->as_Unlock()->is_eliminated()) failed: sanity
...
Mark all associated (same box and obj) lock and unlock nodes for elimination if some of them marked already.
Reviewed-by: iveresov, never
2011-06-04 10:36:22 -07:00
Vladimir Kozlov
abc5f94df7
7026700: regression in 6u24-rev-b23: Crash in C2 compiler in PhaseIdealLoop::build_loop_late_post
...
Memory slices should be always created for non-static fields after allocation
Reviewed-by: never
2011-04-20 18:29:35 -07:00
Vladimir Kozlov
ed30132e8b
6992789: assert(phi->_idx >= nodes_size()) failed: only new Phi per instance memory slice
...
Swap checks: check for regular memory slice first and keep input phi.
Reviewed-by: never
2011-04-06 17:32:09 -07:00
Vladimir Kozlov
e7c3086ed3
7013538: Java memory leak with escape analysis
...
Don't allocate VectorSet iterator on C heap. Reuse resource storage in EA.
Reviewed-by: never
2011-02-07 10:25:39 -08:00
Vladimir Kozlov
85dd279283
7003130: assert(iterations<CG_BUILD_ITER_LIMIT) failed: infinite EA connection graph
...
Bump CG_BUILD_ITER_LIMIT to 20
Reviewed-by: iveresov
2010-12-21 13:56:40 -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
296ddc8e2e
6991188: C2 Crashes while compiling method
...
Do several iterations to build EA Connection Graph.
Reviewed-by: never, twisti, ysr
2010-11-06 20:35:36 -07:00
Tom Rodriguez
f4b4eae617
6982537: Crash in Node*step_through_mergemem
...
Reviewed-by: kvn
2010-09-22 13:01:12 -07: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
Vladimir Kozlov
c12b2b3f69
6953267: assert in EA code with -XX:+StressReflectiveCode
...
Add missing checks into EA code.
Reviewed-by: never
2010-05-18 09:54:05 -07:00
Vladimir Kozlov
9be2e29930
6913075: EA identifies escape state incorrectly after 6895383 fix
...
EA incorrectly identifies escape state of an allocation passed as call argument.
Reviewed-by: never
2010-01-04 15:21:09 -08:00
Vladimir Kozlov
00f583219f
6896727: nsk/logging/LoggingPermission/LoggingPermission/logperm002 fails with G1, EscapeAnalisys
...
Move instance store's memory users to corresponding memory slices when updating its memory edge.
Reviewed-by: never
2009-12-09 19:50:14 -08:00
Vladimir Kozlov
9f5ca0249d
6895383: JCK test throws NPE for method compiled with Escape Analysis
...
Add missing checks for MemBar nodes in EA.
Reviewed-by: never
2009-12-09 16:40:45 -08:00