Christian Thalinger
6d2a896bcd
6829193: JSR 292 needs to support SPARC
...
There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.
Reviewed-by: kvn, never, jrose
2010-04-29 06:30:25 -07:00
Igor Veresov
fc76d07b40
6942223: c1 64 bit fixes
...
This fixes lir_cmp_l2i on x64 and sparc 64bit, and the debug info generation.
Reviewed-by: never
2010-04-08 12:13:07 -07:00
Vladimir Kozlov
72a7a6ffcf
6935535: String.indexOf() returns incorrect result on x86 with SSE4.2
...
Added missing counter decrement when substring search restarted.
Reviewed-by: twisti
2010-03-17 10:47:03 -07:00
Christian Thalinger
fae9c37803
6829192: JSR 292 needs to support 64-bit x86
...
Changes for method handles and invokedynamic
Reviewed-by: kvn
2009-12-16 12:48:04 +01:00
Changpeng Fang
2c40841f3f
Merge
2009-11-10 17:00:18 -08:00
Roland Westrelin
7eea7dcfe4
6769124: various 64-bit fixes for c1
...
Reviewed-by: never
2009-11-02 11:17:55 +01:00
John Cuthbertson
bf0f699b33
6889740: G1: OpenDS fails with "unhandled exception in compiled code"
...
Incorrect code was being generated for the store operation in the null case of the aastore bytecode template. The bad code was generated by the store_heap_oop routine which takes a Register as its second argument. Passing NULL_WORD (0) as the second argument causes the value to be converted to Register(0), which is rax. Thus the generated store was "mov (dst), $rax" instead of "mov (dst), $0x0". Changed calls to store_heap_oop that pass NULL_WORD as the second argument to a new routine store_heap_oop_null.
Reviewed-by: kvn, twisti
2009-10-29 09:42:26 -07:00
Vladimir Kozlov
34324e30c0
6890984: Comparison of 2 arrays could cause VM crash
...
Restore original null checks.
Reviewed-by: never, cfang
2009-10-14 15:03:32 -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
9f97cf13e8
6864914: SPECjvm2008 produces invalid result with zero based Compressed Oops
...
Always use "lea" instruction for narrow oop decoding instead of "shift".
Reviewed-by: never
2009-07-30 16:05:56 -07:00
Y. Srinivas Ramakrishna
075c1335cb
6700789: G1: Enable use of compressed oops with G1 heaps
...
Modifications to G1 so as to allow the use of compressed oops.
Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
2009-07-14 15:40:39 -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
John R Rose
ce0c084720
6655638: dynamic languages need method handles
...
Initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.)
Reviewed-by: kvn, twisti, never
2009-04-08 10:56:49 -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
Tom Rodriguez
134debb0ba
6822204: volatile fences should prefer lock:addl to actual mfence instructions
...
Reviewed-by: kvn, phh
2009-03-26 14:31:45 -07:00
John R Rose
cfb08c72ba
6814659: separable cleanups and subroutines for 6655638
...
Preparatory but separable changes for method handles
Reviewed-by: kvn, never
2009-03-20 23:19:36 -07:00
John R Rose
b8dbe8d8f6
6813212: factor duplicated assembly code for general subclass check (for 6655638)
...
Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.
Reviewed-by: kvn
2009-03-13 18:39:22 -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
Vladimir Kozlov
69f9ddee90
6791178: Specialize for zero as the compressed oop vm heap base
...
Use zero based compressed oops if java heap is below 32gb and unscaled compressed oops if java heap is below 4gb.
Reviewed-by: never, twisti, jcoomes, coleenp
2009-03-12 10:37:46 -07:00
Christian Thalinger
89cea91c48
6797305: Add LoadUB and LoadUI opcode class
...
Add a LoadUB (unsigned byte) and LoadUI (unsigned int) opcode class so we have these load optimizations in the first place and do not need to handle them in the matcher.
Reviewed-by: never, kvn
2009-03-09 03:17:11 -07:00
John R Rose
26d192003f
6812831: factor duplicated assembly code for megamorphic invokeinterface (for 6655638)
...
Code in vtableStubs and templateTable moved into MacroAssembler.
Reviewed-by: kvn
2009-03-06 21:36:50 -08:00
John R Rose
07321dec65
6812678: macro assembler needs delayed binding of a few constants (for 6655638)
...
Minor assembler enhancements preparing for method handles
Reviewed-by: kvn
2009-03-04 09:58:39 -08:00
Tom Rodriguez
48d4a43c2a
6811384: MacroAssembler::serialize_memory may touch next page on amd64
...
Reviewed-by: kvn, phh, twisti
2009-03-01 20:49:46 -08:00
Coleen Phillimore
a1442ea7ff
6791168: Fix invalid code in bytecodeInterpreter that can cause gcc ICE
...
Fix compilation errors from latest gcc in CC_INTERP including offending missing void* cast.
Reviewed-by: xlu
2009-01-13 14:41:44 -05:00
Xiaobin Lu
1362b9fd1d
6787106: Hotspot 32 bit build fails on platforms having different definitions for intptr_t & int32_t
...
Avoid casting between int32_t and intptr_t specifically for MasmAssembler::movptr in 32 bit platforms.
Reviewed-by: jrose, kvn
2008-12-24 13:06: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
Vladimir Kozlov
55925534ec
6532536: Optimize arraycopy stubs for Intel cpus
...
Use SSE2 movdqu in arraycopy stubs on newest Intel's cpus
Reviewed-by: rasbold
2008-10-14 15:10:26 -07:00
Andrey Petrusenko
b6aabd98fc
Merge
2008-09-17 16:49:18 +04:00
Tom Rodriguez
26c780da72
5108146: Merge i486 and amd64 cpu directories
...
6459804: Want client (c1) compiler for x86_64 (amd64) for faster start-up
Reviewed-by: kvn
2008-08-27 00:21:55 -07:00