Christian Thalinger
ffaadcecea
6961690: load oops from constant table on SPARC
...
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
2010-12-03 01:34:31 -08:00
Igor Veresov
d59d7ffc4a
6985015: C1 needs to support compressed oops
...
This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
2010-11-30 23:23:40 -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
Vladimir Kozlov
ce2df719c6
6997311: SIGFPE in new long division asm code
...
Use unsigned DIV instruction
Reviewed-by: never
2010-11-06 18:52:07 -07:00
Christian Thalinger
0e4ed251b8
6829194: JSR 292 needs to support compressed oops
...
Reviewed-by: kvn, jrose
2010-10-11 04:18:58 -07:00
Tom Rodriguez
08d9e03b81
4809552: Optimize Arrays.fill(...)
...
Reviewed-by: kvn
2010-08-27 17:33:49 -07:00
Vladimir Kozlov
f0b6dc4e4f
6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
...
Set Z = 0 (not equal) before repne_scan() to indicate that class was not found when RCX == 0.
Reviewed-by: never, phh
2010-07-30 10:21:15 -07:00
John R Rose
d6a9b93b5a
Merge
2010-06-02 22:45:42 -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
Christian Thalinger
2e24ba80e9
6930772: JSR 292 needs to support SPARC C1
...
C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
2010-05-21 02:59:24 -07:00
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
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
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
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
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