Changpeng Fang
f981546f2d
6837146: Should perform unswitch before maximally unroll in loop transformation
...
Move loop unswitch before maximally unroll
Reviewed-by: never
2009-05-28 09:37:18 -07:00
Vladimir Kozlov
802f3552f9
6843752: missing code for an anti-dependent Phi in GCM
...
Don't place a load below anti-dependent PHI.
Reviewed-by: never, twisti
2009-05-27 12:35:51 -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
Vladimir Kozlov
e101bdf5df
6836054: java/util/Arrays/CopyMethods.java fails on solaris-sparc with IllegalArgumentException
...
Do not mark an allocation as scalar replaceable if its actual type in unknown statically.
Reviewed-by: never
2009-05-11 18:30:13 -07:00
Vladimir Kozlov
6202395cb2
6832293: JIT compiler got wrong result in type checking with -server
...
Check for an object array of interface in CmpPNode::sub().
Reviewed-by: never
2009-05-11 17:59:54 -07:00
Vladimir Kozlov
34ee921399
6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
...
Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
2009-05-08 10:44:20 -07:00
Christian Thalinger
1576a9be9e
Merge
2009-05-07 00:28:13 -07:00
Christian Thalinger
96139033e6
6837011: SIGSEGV in PhaseIdealLoop in 32bit jvm
...
The CR's test crashes with SIGSEGV when running with "-server -Xcomp" using using 32bit jvm.
Reviewed-by: kvn, never, rasbold
2009-05-06 12:04:42 -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
716c78f080
6833879: Assigning positive zero is ignored when old value is negative zero
...
Don't perform CMOVE identity optimization for floating point types
Reviewed-by: kvn, never
2009-05-05 11:02:10 -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
Vladimir Kozlov
273a47426e
6709742: find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation
...
Create a mach node corresponding to ideal node ConP #NULL specifically for derived pointers.
Reviewed-by: never
2009-04-22 17:03:18 -07:00
John R Rose
34c1d72421
6655646: dynamic languages need dynamically linked call sites
...
Invokedynamic instruction (JSR 292 RI)
Reviewed-by: twisti, never
2009-04-21 23:21:04 -07:00
Vladimir Kozlov
ca3a3504be
6711117: Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
...
Delay a memory node transformation if its control or address on IGVN worklist.
Reviewed-by: never
2009-04-07 19:04:24 -07:00
Vladimir Kozlov
014e5cdefb
6826960: C2 Sparc: assert(bb->_nodes(_bb_end)->is_Proj(),"skipping projections after expected call")
...
Add the check when a Halt node is placed in a separate block.
Reviewed-by: twisti
2009-04-07 10:05:04 -07:00
Vladimir Kozlov
090346b4e8
6823453: DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph")
...
Use a HaltNode on the fall through path of the AllocateArrayNode to indicate that it is unreachable if the array length is negative.
Reviewed-by: never, jrose
2009-04-03 13:33:32 -07:00
Tom Rodriguez
4d34a77121
6823454: Oop-typed loadP yields invalid pointer (0x1) on SPECjbb2005 at OSRed method entry
...
Reviewed-by: kvn, jrose
2009-04-01 11:45:01 -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
Vladimir Kozlov
705188bb7b
6821700: tune VM flags for peak performance
...
Tune C2 flags default values for performance.
Reviewed-by: never, phh, iveresov, jmasa, ysr
2009-03-30 18:19:31 -07:00
Vladimir Kozlov
68cf08d2c3
6810845: Performance regression in mpegaudio on x64
...
Used the outer loop frequency in frequencies checks in RA.
Reviewed-by: never, twisti
2009-03-26 15:04:55 -07:00
Tom Rodriguez
a5396e1107
6820510: assertion failure with unloaded class in subnode.cpp
...
Reviewed-by: kvn
2009-03-24 15:09:52 -07:00
Changpeng Fang
fface2e4ca
6636138: UseSuperWord enabled failure
...
Fixed SuperWord scheduling of memory operations.
Reviewed-by: kvn, never
2009-03-24 12:19:47 -07:00
Vladimir Kozlov
41463d1d3a
Merge
2009-03-19 09:13:24 -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
Erik Trimble
8d6035660e
Merge
2009-03-12 18:16:36 -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
Xiomara Jayasena
2be2e027b0
6814575: Update copyright year
...
Update copyright for files that have been modified in 2009, up to 03/09
Reviewed-by: katleman, tbell, ohair
2009-03-09 13:28: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
Vladimir Kozlov
3e2ae68252
6812721: Block's frequency should not be NaN
...
Set MIN_BLOCK_FREQUENCY block's frequency when calculated block's frequency is NaN
Reviewed-by: never
2009-03-03 18:25:57 -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
67a5668b16
6811267: Fix for 6809798 broke linux build
...
Fix method's declaration.
Reviewed-by: phh, twisti
2009-02-27 08:34:19 -08:00
Vladimir Kozlov
9b31d58b98
6809798: SafePointScalarObject node placed into incorrect block during GCM
...
Replace the control edge of a pinned node before scheduling.
Reviewed-by: never
2009-02-26 14:26:02 -08:00
Vladimir Kozlov
b07ac51bf3
6791572: assert("duplicating node that's already been matched")
...
Mark inputs for an address expression as shared if there are other uses besides address expressions.
Reviewed-by: never
2009-02-23 16:03:19 -08:00
Vladimir Kozlov
dc3008a513
6802499: EA: assert(false,"unknown node on this path")
...
Add missing checks for SCMemProj node in Escape analysis code.
Reviewed-by: never
2009-02-19 17:38:53 -08:00
Vladimir Kozlov
73e8e582ba
6807084: AutoBox elimination is broken with compressed oops
...
Add checks for DecodeN nodes into AutoBox elimination code.
Reviewed-by: never
2009-02-18 13:53:42 -08:00
Vladimir Kozlov
681eb89b31
Merge
2009-02-17 14:30:24 -08:00
Christian Thalinger
dd25f39709
6805724: ModLNode::Ideal() generates functionally incorrect graph when divisor is any (2^k-1) constant
...
C2, ModLNode::Ideal() generates functionally incorrect graph when divisor is any (2^k-1) constant.
Reviewed-by: rasbold
2009-02-16 07:19:26 -08:00
Christian Thalinger
a2ed00b650
6800154: Add comments to long_by_long_mulhi() for better understandability
...
This patch adds a comment pointing to the Hacker's Delight version of the algorithm plus a verbatim copy of it. Furthermore it adds inline comments.
Reviewed-by: kvn, jrose
2009-02-13 09:09:35 -08:00
Vladimir Kozlov
2f2589d2dc
6791852: assert(b->_nodes[insidx] == n,"got insidx set incorrectly")
...
Move the CreateEx up before each round of IFG construction
Reviewed-by: never, phh
2009-02-06 13:31:03 -08:00
Vladimir Kozlov
94a461f4cb
6799693: Server compiler leads to data corruption when expression throws an Exception
...
Use merged memory state for an allocation's slow path.
Reviewed-by: never
2009-02-05 14:43:58 -08:00
Tom Rodriguez
275a0bfb42
6793828: G1: invariant: queues are empty when activated
...
Reviewed-by: jrose, kvn
2009-02-05 11:42:10 -08:00
Tom Rodriguez
67f20d82c9
6442502: assert(bits,"Use TypePtr for NULL") on linux-x86
...
Reviewed-by: kvn
2009-02-04 23:17:38 -08:00
Christian Thalinger
ecbdf3bb83
6795362: 32bit server compiler leads to wrong results on solaris-x86
...
The C2 compiler leads to wrong results on solaris-i486 (32-bit) for a testcase given in the CR.
Reviewed-by: never, rasbold
2009-02-03 01:39:12 -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
Vladimir Kozlov
ae8aa00398
6794939: assert(_base == OopPtr,"subclass must override cast_to_ptr_type")
...
Fix the assert in TypeKlassPtr::cast_to_ptr_type().
Reviewed-by: never
2009-01-21 11:18:38 -08:00
Tom Rodriguez
532cc3cef8
6788347: C2Compiler crash 6u7
...
Reviewed-by: kvn
2009-01-14 14:12:00 -08:00
Tom Rodriguez
d9a391aad9
Merge
2009-01-13 14:02:19 -08:00
Tom Rodriguez
a3d528cc30
6791132: bad control in autobox split code
...
Reviewed-by: kvn
2009-01-13 11:43:20 -08:00
Vladimir Kozlov
78f5dc395e
6784930: server jvm fails with assert(!n->is_SpillCopy(),"")
...
Set minimum block frequency MIN_BLOCK_FREQUENCY 1.e-35f.
Reviewed-by: never, rasbold
2009-01-13 11:10:00 -08:00