Aleksey Shipilev
0c43809cfe
8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
...
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
2016-02-23 22:09:41 +03:00
Vladimir Ivanov
28046ae321
8140001: _allocateInstance intrinsic does not throw InstantiationException for abstract classes and interfaces
...
Reviewed-by: kvn, shade
2016-01-15 21:56:40 +03:00
Kishor Kharbas
790f5bded4
8143925: Enhancing CounterMode.crypt() for AES
...
Add intrinsic for CounterMode.crypt() to leverage the parallel nature of AES in Counter(CTR) Mode.
Reviewed-by: kvn, ascarpino
2015-12-28 23:11:01 -08:00
Vivek R Deshpande
2d9a6cfd3f
8143355: Update for addition of vectorizedMismatch intrinsic for x86
...
Co-authored-by: Liqi Yi <liqi.yi@intel.com>
Reviewed-by: kvn
2015-12-07 16:35:07 -08:00
Kim Barrett
e8c5bc2024
8143014: Access PtrQueue member offsets through derived classes
...
Moved accessors to derived classes and updated callers.
Reviewed-by: tschatzl, jmasa, twisti
2015-11-17 16:40:52 -05:00
Tobias Hartmann
7af927f9c1
8141132: JEP 254: Compact Strings
...
Adopt a more space-efficient internal representation for strings.
Co-authored-by: Brent Christian <brent.christian@oracle.com>
Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com>
Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: Roger Riggs <roger.riggs@oracle.com>
Co-authored-by: Xueming Shen <xueming.shen@oracle.com>
Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
2015-11-03 09:41:03 +01:00
David Lindholm
1e71f67736
8080775: Better argument formatting for assert() and friends
...
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Ahmed Khawaja
d7b8032741
8132081: C2 support for Adler32 on SPARC
...
Add C2 instrinsic support for Adler32 checksum on SPARC.
Reviewed-by: kvn
2015-09-03 15:03:12 -07:00
Roland Westrelin
ed9e8b9ff2
8134031: Incorrect JIT compilation of complex code with inlining and escape analysis
...
Bad rewiring of memory edges when we split unique types during EA
Reviewed-by: kvn
2015-08-31 17:20:08 +02:00
Vladimir Ivanov
259aeb3399
8131675: EA fails with assert(false) failed: not unsafe or G1 barrier raw StoreP
...
Reviewed-by: roland
2015-07-22 20:23:53 +03:00
Andrew Haley
917f70414f
Merge
2015-07-02 11:12:59 +01:00
Andrew Haley
52b991b411
8130150: Implement BigInteger.montgomeryMultiply intrinsic
...
Add montgomeryMultiply intrinsics
Reviewed-by: kvn
2015-06-16 17:31:53 +01:00
James Cheng
e2533553f6
8073583: C2 support for CRC32C on SPARC
...
Reviewed-by: jrose, kvn
2015-06-29 00:10:01 -07:00
Anthony Scarpino
c4c528df14
8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
...
Reviewed-by: kvn, jrose
2015-06-17 17:48:25 -07:00
Vladimir Kozlov
93d1573c5e
8081778: Use Intel x64 CPU instructions for RSA acceleration
...
Add intrinsics for BigInteger squareToLen and mulAdd methods.
Reviewed-by: kvn, jrose
2015-06-03 15:02:10 -07:00
Roland Westrelin
a9cdbd0407
8076188: Optimize arraycopy out for non escaping destination
...
If the destination of an arraycopy is non escaping, the arraycopy may be optimized out
Reviewed-by: kvn, vlivanov
2015-05-12 10:27:50 +02: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
Vladimir Kozlov
1e85e321f9
8071534: assert(!failing()) failed: Must not have pending failure. Reason is: out of memory
...
Add missing C->failing() check after Connection graph construction.
Reviewed-by: iveresov
2015-01-30 10:27:50 -08:00
Zoltan Majo
eb5be4c2fe
8066312: Add new Node* Node::find_out(int opc) method
...
Added methods find_user_with() and has_user_with() for searching for a particular out type.
Reviewed-by: kvn, jrose
2015-01-19 09:32:40 +01:00
Vladimir Kozlov
65fe921d3d
8066199: C2 escape analysis prevents VM from exiting quickly
...
Check for safepoint and block during EA Connection graph construction.
Reviewed-by: roland, vlivanov, shade
2014-12-02 12:24:31 -08:00
Vladimir Ivanov
5a00d5f6b5
8058148: MaxNodeLimit and LiveNodeCountInliningCutoff
...
Reviewed-by: kvn, roland
2014-11-24 07:29:03 -08:00
Vladimir Kozlov
c620214d18
8041984: CompilerThread seems to occupy all CPU in a very rare situation
...
Add new timeout checks to EA.
Reviewed-by: iveresov, drchase
2014-10-24 10:28:19 -07:00
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