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
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
Christian Thalinger
6964a690ed
7198429: need checked categorization of caller-sensitive methods in the JDK
...
Reviewed-by: kvn, jrose
2013-03-25 17:13:26 -07:00
Roland Westrelin
260e822459
8007959: Use expensive node logic for more math nodes
...
Use expensive node logic for other more math nodes.
Reviewed-by: kvn
2013-02-18 09:06:24 +01: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
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
Christian Thalinger
827930b510
8006127: remove printing code added with 8006031
...
Reviewed-by: kvn
2013-01-11 20:01:16 -08:00
Christian Thalinger
6c57a4b9f8
8006031: LibraryCallKit::inline_array_copyOf disabled unintentionally with 7172640
...
Reviewed-by: kvn
2013-01-11 14:07:09 -08:00
Aleksey Shipilev
4c293ebcd6
8004318: JEP-171: Support Unsafe fences intrinsics
...
Add three memory-ordering intrinsics to the sun.misc.Unsafe class.
Reviewed-by: twisti, kvn
2012-12-18 17:37:44 -08:00
Vladimir Ivanov
8eb3b25c4f
Merge
2012-12-18 08:19:53 -08:00
Vladimir Ivanov
6d08af845e
8003135: HotSpot inlines and hoists the Thread.currentThread().isInterrupted() out of the loop
...
Make the load of TLS._osthread._interrupted flag in Thread.isInterrupted(Z)Z intrinsic effectively volatile.
Reviewed-by: kvn, jrose
2012-12-18 06:52:00 -08: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
c5240e7c53
8004319: test/gc/7168848/HumongousAlloc.java fails after 7172640
...
Reviewed-by: kvn, johnc
2012-12-03 15:48:49 -08: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
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
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 Kozlov
5f132a5ec3
Merge
2012-10-12 09:22:52 -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
Christian Thalinger
7162ad011c
8000263: JSR 292: signature types may appear to be unloaded
...
Reviewed-by: kvn, jrose
2012-10-08 17:04:00 -07:00
Coleen Phillimore
28047d6a0f
8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
...
Capitalize these metadata types (and objArrayKlass)
Reviewed-by: stefank, twisti, kvn
2012-09-29 06:40:00 -04: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
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
04c6a7ce10
7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
...
In C2 add software membar after load from Reference.referent field to prevent commoning of loads across safepoint since GC can change its value. In C1 always generate Reference.get() intrinsic.
Reviewed-by: roland, twisti, dholmes, johnc
2012-08-20 09:58:58 -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
Roland Westrelin
3511594d3c
7177917: Failed test java/lang/Math/PowTests.java
...
When c2 intrinsifies pow/exp, it should never inline the java implementations.
Reviewed-by: kvn
2012-07-02 09:58:06 +02:00
Roland Westrelin
118f552a6e
7174363: Arrays.copyOfRange leads to VM crash with -Xcomp -server if executed by testing framework
...
Arrays.copyOfRange(original, from, to) with from > original.length tries to do a copy with a negative length.
Reviewed-by: kvn, twisti
2012-06-18 09:52:31 +02:00
Krystal Mok
529b370174
7174218: remove AtomicLongCSImpl intrinsics
...
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Roland Westrelin
b305cf722e
7133857: exp() and pow() should use the x87 ISA on x86
...
Use x87 instructions to implement exp() and pow() in interpreter/c1/c2.
Reviewed-by: kvn, never, twisti
2012-05-15 10:10:23 +02:00
Vladimir Kozlov
eb4a860bc3
6924259: Remove String.count/String.offset
...
Allow a version of String class that doesn't have count and offset fields.
Reviewed-by: never, coleenp
2012-05-14 09:36:00 -07:00
Rickard Bäckman
cf406f37e3
7160570: Intrinsification support for tracing framework
...
Reviewed-by: sla, never
2012-03-06 12:36:59 +01:00
Nils Eliasson
7b7d3507db
7152957: VM crashes with assert(false) failed: bad AD file
...
Reviewed-by: kvn, never
2012-03-12 15:28:07 -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
Bill Pittore
39f063f94d
Merge
2012-02-10 10:55:15 -05:00
Vladimir Kozlov
e6015c7c26
7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
...
Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.
Reviewed-by: iveresov, never
2012-02-07 16:33:43 -08:00
Jiangli Zhou
cd85c690df
7132690: InstanceKlass:_reference_type should be u1 type
...
Change InstanceKlass::_reference_type to u1 type.
Reviewed-by: dholmes, coleenp, acorn
2012-01-25 17:40:51 -05: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
b93ca70b9b
Merge
2012-01-06 20:09:20 -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
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
Jiangli Zhou
f9f4ba0203
7117052: instanceKlass::_init_state can be u1 type
...
Change instanceKlass::_init_state field to u1 type.
Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Vladimir Kozlov
47e357e16f
7081933: Use zeroing elimination optimization for large array
...
Don't zero new typeArray during runtime call if the allocation is followed by arraycopy into it.
Reviewed-by: twisti
2011-09-26 10:24:05 -07:00
Vladimir Kozlov
c3a7796068
7047069: Array can dynamically change size when assigned to an object field
...
Fix initialization of a newly-allocated array with arraycopy
Reviewed-by: never
2011-05-27 12:47:48 -07:00
Vladimir Kozlov
e1442309e1
7041100: The load in String.equals intrinsic executed before null check
...
Remove control from loads in String.equals intrinsic and cast argument to not-null.
Reviewed-by: never
2011-05-03 09:10:39 -07:00
Vladimir Kozlov
6d0283ed8e
Merge
2011-04-29 11:15:30 -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
John Cuthbertson
f603d437be
7036021: G1: build failure on win64 and linux with hs21 in jdk6 build environment
...
Missing parentheses around a casted expression and some missing casts were causing build failures with the jdk6 build tools.
Reviewed-by: kvn, brutisso
2011-04-15 10:10:50 -07:00
John Cuthbertson
7c844aba67
Merge
2011-04-14 13:45:41 -07:00