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
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
John Cuthbertson
20a3437a74
7035117: G1: nsk/stress/jni/jnistress002 fails with assertion failure
...
Allow long type for offset in G1 code in compiler implementations of Unsafe.getObject
Reviewed-by: never, iveresov
2011-04-13 17:56:43 -07:00
Jon Masamitsu
b6e631d446
Merge
2011-04-08 14:19:50 -07:00
John Cuthbertson
a08e1ce906
7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
...
A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes
2011-04-07 09:53:20 -07:00
Roland Westrelin
f94d7776ca
7033154: Improve C1 arraycopy performance
...
Better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
2011-04-03 12:00:54 +02:00
Vladimir Kozlov
68f1177f59
7032314: Allow to generate CallLeafNoFPNode in IdealKit
...
Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.
Reviewed-by: never
2011-04-02 09:49:27 -07:00
Christian Thalinger
f51036e9bc
7022998: JSR 292 recursive method handle calls inline themselves infinitely
...
Reviewed-by: never, kvn
2011-03-28 03:58:07 -07:00
John Coomes
cdd5139d91
Merge
2011-03-24 23:04:36 -07:00
John Coomes
fe899cc10d
6962931: move interned strings out of the perm gen
...
Reviewed-by: never, coleenp, ysr, jwilhelm
2011-03-22 13:36:33 -07:00
Vladimir Kozlov
3de260da41
7008866: Missing loop predicate for loop with multiple entries
...
Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.
Reviewed-by: never
2011-03-21 11:28:14 -07:00
Igor Veresov
90a153aa38
6627983: G1: Bad oop deference during marking
...
Bulk zeroing reduction didn't work with G1, because arraycopy would call pre-barriers on uninitialized oops. The solution is to have version of arraycopy stubs that don't have pre-barriers. Also refactored arraycopy stubs generation on SPARC to be more readable and reduced the number of stubs necessary in some cases.
Reviewed-by: jrose, kvn, never
2011-03-01 14:56:48 -08:00
Vladimir Kozlov
a74bc73598
6942326: x86 code in string_indexof() could read beyond reserved heap space
...
Copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.
Reviewed-by: never
2011-02-26 12:10:54 -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
Tom Rodriguez
39d16839d3
6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
...
Reviewed-by: kvn
2010-10-07 21:40:55 -07:00
Christian Thalinger
a4b2fe3b1c
6978355: renaming for 6961697
...
This is the renaming part of 6961697 to keep the actual changes small for review.
Reviewed-by: kvn, never
2010-08-25 05:27:54 -07:00
John R Rose
c7e50e8305
6912064: type profiles need to be exploited more for dynamic language support
...
Reviewed-by: kvn
2010-08-20 23:40:30 -07:00
Vladimir Kozlov
21f481e5dd
6959430: Make sure raw loads have control edge
...
Check that raw loads have control edge
Reviewed-by: never, twisti
2010-06-15 18:07:27 -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
John R Rose
71599d89d4
Merge
2010-05-11 15:19:19 -07:00
Tom Rodriguez
8afbd9a53e
6951190: assert(!klass_is_exact(),"only non-exact klass") while building JDK
...
Reviewed-by: kvn
2010-05-10 14:58:38 -07:00
Igor Veresov
61b9d428d1
6948602: Disable use of SSE4.2 in String.indexOf intrinsic until 6942326 is fixed
...
Disable the use of pcmpestri until it can be guaranteed that the load doesn't cross in to the uncommited space. See 6942326.
Reviewed-by: never, kvn
2010-04-29 17:53:58 -07:00
Hiroshi Yamauchi
cd48f31efe
6946040: add intrinsic for short and char reverseBytes
...
Reviewed-by: never, twisti
2010-04-26 11:27:21 -07:00