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
Christian Thalinger
e5fb2ad1c4
6914206: change way of permission checking for generated MethodHandle adapters
...
Put generated MH adapter in InvokeDynamic/MethodHandle classes to be able to indentify them easily in the compiler.
Reviewed-by: kvn, never, jrose
2010-01-08 11:09:46 +01:00
Y. Srinivas Ramakrishna
928ac69fcd
6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning
...
6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks)
Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers().
Reviewed-by: jcoomes, kvn, never
2009-10-16 02:05:46 -07:00
Vladimir Kozlov
243514d483
6827605: new String intrinsics may prevent EA scalar replacement
...
6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2
Modify String intrinsic methods to pass char[] pointers instead of string oops.
Reviewed-by: never
2009-09-14 12:14:20 -07:00
Vladimir Kozlov
e0519e7bbd
6880053: assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL)
...
Removed second CheckCastPP and use MembarCPUOrder after arraycopy to cloned object.
Reviewed-by: never
2009-09-10 18:18:06 -07:00
Vladimir Kozlov
343b5b0bef
6875577: CTW fails with /hotspot/src/share/vm/opto/memnode.cpp
...
Fix do_null_check to check for unloaded klass for all oop pointers.
Reviewed-by: never, cfang
2009-08-28 11:19:33 -07:00
Changpeng Fang
3e7e112ee5
6868269: CompileTheWorld assertion failure introduced by the reexecute bit implementation
...
Improvement on reexecute implementation to fix the assertion failure
Reviewed-by: kvn, never
2009-08-04 21:32:08 -07:00
Changpeng Fang
ae00753bf7
6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
...
Developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens
Reviewed-by: kvn, never, jrose, twisti
2009-07-31 17:12:33 -07:00
Christian Thalinger
714db48492
Merge
2009-07-27 06:15:29 -07:00
John R Rose
6515225d49
6862576: vmIntrinsics needs cleanup in order to support JSR 292 intrinsics
...
Remove useless lazy evaluation of intrinsics; add LAST_COMPILER_INLINE to help categorize them
Reviewed-by: kvn
2009-07-21 16:56:06 -07:00
Christian Thalinger
6b849a12a0
6860920: serialize.cpp shouldn't use objArrayOopDesc::base_offset_in_bytes(T_BYTE)
...
Serialize.cpp currently uses objArrayOopDesc::base_offset_in_bytes(T_BYTE), which seems to be wrong.
Reviewed-by: coleenp, kvn
2009-07-20 08:20:00 -07:00
Vladimir Kozlov
c3efa899b6
6851742: (EA) allocation elimination doesn't work with UseG1GC
...
Fix eliminate_card_mark() to eliminate G1 pre/post barriers.
Reviewed-by: never
2009-07-16 14:10:42 -07:00
Vladimir Kozlov
5a1032d9e6
6857661: 64-bit server VM: assert(is_Initialize(),"invalid node class")
...
Move the secondary raw memory barrier to the correct place in generate_arraycopy().
Reviewed-by: never
2009-07-06 15:53:30 -07:00
Vladimir Kozlov
bb726c6f28
6840775: Multiple JVM crashes seen with 1.6.0_10 through 1.6.0_14
...
Put missed reference to allocated array in copyOf() intrinsic into OopMap for the call slow_arraycopy().
Reviewed-by: never
2009-07-01 20:22:18 -07:00
Tom Rodriguez
da11e65fa4
6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer")
...
Reviewed-by: kvn
2009-07-01 12:22:23 -07:00
Tom Rodriguez
3bdd70fe18
6818666: G1: Type lost in g1 pre-barrier
...
Reviewed-by: kvn
2009-06-26 13:03:29 -07:00
Vladimir Kozlov
fdb3ca8708
6772683: Thread.isInterrupted() fails to return true on multiprocessor PC
...
Set the control edge for the field _interrupted load in inline_native_isInterrupted().
Reviewed-by: never
2009-05-21 10:05:36 -07:00
Christian Thalinger
6a270f9f19
6823354: Add intrinsics for {Integer,Long}.{numberOfLeadingZeros,numberOfTrailingZeros}()
...
These methods can be instrinsified by using bit scan, bit test, and population count instructions.
Reviewed-by: kvn, never
2009-05-06 00:27:52 -07:00
Changpeng Fang
04fdef79fa
6589834: deoptimization problem with -XX:+DeoptimizeALot
...
Relocate the stack pointer adjustment to where uncommon_trap is actually inserted for new_array.
Reviewed-by: kvn, jrose
2009-04-23 14:04:24 -07:00
Changpeng Fang
c0d62ad9e6
6761600: Use sse 4.2 in intrinsics
...
Use SSE 4.2 in intrinsics for String.{compareTo/equals/indexOf} and Arrays.equals.
Reviewed-by: kvn, never, jrose
2009-03-31 14:07:08 -07:00
Christian Thalinger
de67e52949
6378821: bitCount() should use POPC on SPARC processors and AMD+10h
...
BitCount() should use POPC on SPARC processors where POPC is implemented directly in hardware.
Reviewed-by: kvn, never
2009-03-13 11:35:17 -07:00
Christian Thalinger
05d1de7727
6810672: Comment typos
...
I have collected some typos I have found while looking at the code.
Reviewed-by: kvn, never
2009-02-27 13:27:09 -08:00
Vladimir Kozlov
7aae40a95f
6462850: generate biased locking code in C2 ideal graph
...
Inline biased locking code in C2 ideal graph during macro nodes expansion
Reviewed-by: never
2008-11-07 09:29:38 -08:00
Erik Trimble
2d6f42d18c
Merge
2008-07-11 01:14:44 -07:00