26 Commits

Author SHA1 Message Date
John R Rose
e261aecad8 6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -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
a9ad90fa87 5057225: Remove useless I2L conversions
The optimizer should be told to normalize (AndL (ConvI2L x) 0xFF) to (ConvI2L (AndI x 0xFF)), and then the existing matcher rule will work for free.

Reviewed-by: kvn
2009-06-26 07:26:10 -07:00
Christian Thalinger
8a262ce04b 6814842: Load shortening optimizations
6797305 handles load widening but no shortening which should be covered here.

Reviewed-by: never, kvn
2009-05-13 00:45:22 -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
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
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
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
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
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
681eb89b31 Merge 2009-02-17 14:30:24 -08:00
Christian Thalinger
3b8452da93 6796746: rename LoadC (char) opcode class to LoadUS (unsigned short)
Renaming LoadC to LoadUS would round up the planned introduction of LoadUB and LoadUI.

Reviewed-by: phh, kvn
2009-01-26 16:22:12 +01: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
Tom Rodriguez
429a95440a 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
2008-10-28 09:31:30 -07:00
Chuck Rasbold
e585263735 6752257: Use NOT instead of XOR -1 on x86
Add match rule for xor -1

Reviewed-by: never, kvn
2008-10-10 09:47:56 -07: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
Erik Trimble
2d6f42d18c Merge 2008-07-11 01:14:44 -07:00
Xiomara Jayasena
c96a95c4b8 6719955: Update copyright year
Update copyright year for files that have been modified in 2008

Reviewed-by: ohair, tbell
2008-07-02 12:55:16 -07:00
Shrinivas Joshi
5106cf17a3 6708714: Optimize long LShift on 32-bits x86
For small (1-3 bits) left long shifts in 32-bits VM use sets of add+addc instructions instead of shld+shl on new AMD cpus.

Reviewed-by: never
2008-06-23 14:11:12 -07:00
Chuck Rasbold
2e672ac9bf 6695049: (coll) Create an x86 intrinsic for Arrays.equals
Intrinsify java/util/Arrays.equals(char[], char[])

Reviewed-by: kvn, never
2008-05-29 16:22:09 -07:00
Coleen Phillimore
4a831d45f0 6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv

Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
2008-04-13 17:43:42 -04:00
Vladimir Kozlov
b71360f557 6662967: Optimize I2D conversion on new x86
Use CVTDQ2PS and CVTDQ2PD for integer values conversions to float and double values on new AMD cpu.

Reviewed-by: sgoldman, never
2008-03-19 15:33:25 -07:00
J. Duke
8153779ad3 Initial load 2007-12-01 00:00:00 +00:00