205 Commits

Author SHA1 Message Date
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
Coleen Phillimore
76f79d82ad Merge 2009-01-09 14:39:07 -05:00
Vladimir Kozlov
49ee6acaa2 6782232: assert("CreateEx must be first instruction in block" )
Add the missing check for CreateEx. Add new notproduct flag VerifyRegisterAllocator.

Reviewed-by: never
2009-01-07 11:04:45 -08:00
Xiaobin Lu
f05b009ce8 6781583: Hotspot build fails on linux 64 bit platform with gcc 4.3.2
Fixed the wrong cast between types since more restrictions are imposed by gcc 4.3.2

Reviewed-by: jcoomes, acorn, phh, never
2008-12-24 19:13:53 -08:00
Erik Trimble
ac1f463988 Merge 2008-12-20 09:58:36 -08:00
Vladimir Kozlov
744c80add4 6787050: assert(n->in(0) == 0L,"no control") with UseCompressedOops on sparcv9
Relax the assert for Sparc.

Reviewed-by: never
2008-12-18 11:26:22 -08:00
Vladimir Kozlov
29488f1216 6782820: Server VM fails with "unhandled implicit exception in compiled code"
Restore the code which sets a control edge for a klass load node.

Reviewed-by: never
2008-12-16 12:23:39 -08:00
Xiomara Jayasena
99f0eac1a2 6785258: Update copyright year
Update copyright for files that have been modified starting July 2008 to Dec 2008

Reviewed-by: katleman, ohair, tbell
2008-12-15 16:55:11 -08:00
Vladimir Kozlov
f2f18a01e5 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.

Reviewed-by: never
2008-12-03 13:41:37 -08:00
Vladimir Kozlov
43051c98f3 6773078: UseCompressedOops: assert(kid == 0L || s->_leaf->in(0) == 0L,"internal operands have no control")
Don't set the control edge of a klass load node.

Reviewed-by: never
2008-11-18 14:47:36 -08:00
Vladimir Kozlov
893d1c4148 6766316: assert(!nocreate,"Cannot build a phi for a block already parsed.")
Don't use the invariant local information if there are irreducible loops.

Reviewed-by: never
2008-11-18 12:40:28 -08:00
Vladimir Kozlov
f2c8d25c73 6772413: code cleanup
Removed lines in adm64.make with interpret.o and moved few constant strings from header files.

Reviewed-by: never
2008-11-18 12:31:53 -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
2c3b8ec969 6761594: framesize rounding code rounds using wrong units leading to slightly oversized frames
Reviewed-by: rasbold, kvn
2008-11-06 20:00:03 -08:00
Chuck Rasbold
0e63b7609a 6743900: frequency based block layout
Post-register allocation pass that drives block layout by edge frequencies

Reviewed-by: never, kvn
2008-11-06 14:59:10 -08:00
Tom Rodriguez
7bcfb5965d 6764622: IdealGraphVisualizer fixes
Reviewed-by: rasbold, jrose
2008-10-30 17:08:48 -07: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
Tom Rodriguez
bc7e37f4df Merge 2008-10-21 11:21:45 -07:00
Chuck Rasbold
0dac6431d2 6717150: improper constant folding of subnormal strictfp multiplications and divides
Suppress constant folding of double divides and multiplications on ia32

Reviewed-by: never
2008-10-14 06:58:58 -07:00
Erik Trimble
50964694fe Merge 2008-10-07 11:01:35 -07:00
Tom Rodriguez
043fde10e5 6743188: incomplete fix for 6700047 C2 failed in idom_no_update
Reviewed-by: rasbold, kvn
2008-10-03 13:58:20 -07:00
Xiomara Jayasena
76df5ec473 6754988: Update copyright year
Update for files that have been modified starting July 2008

Reviewed-by: ohair, tbell
2008-10-02 19:58:19 -07:00
Vladimir Kozlov
adce6fc49a 6667595: Set probability FAIR for pre-, post- loops and ALWAYS for main loop
Fix loop's probability. Add optimizations to avoid spilling. Change InlineSmallCode to product flag.

Reviewed-by: never
2008-10-02 08:37:44 -07:00
Chuck Rasbold
453d1a42b0 Merge 2008-09-30 15:53:55 -07:00
Chuck Rasbold
42be28cece 6750588: assert(lrg._area >= 0,"negative spill area") running NSK stmp0101 test
Handle NaN costs more carefully

Reviewed-by: kvn, never
2008-09-24 15:56:36 -07:00
Andrey Petrusenko
fe4cab6eeb Merge 2008-09-24 15:34:06 -04:00
Vladimir Kozlov
b15796424e 6747051: Improve code and implicit null check generation for compressed oops
Push DecodeN node below the Null check to the non-null path to use the mach node without 0 test.

Reviewed-by: rasbold, never
2008-09-23 12:29:06 -07:00