227 Commits

Author SHA1 Message Date
Vladimir Kozlov
7e942d79d0 6883468: C2 compiler enters infinite loop in PhaseIterGVN::transform
Avoid ideal transformation ping-pong between AddPNode::Ideal() and CastX2PNode::Ideal().

Reviewed-by: cfang
2009-09-25 13:26:02 -07:00
Vladimir Kozlov
25296d001b 6820514: meet not symmetric failure in ctw
Add missing instance_id meet.

Reviewed-by: never
2009-09-18 09:57:47 -07:00
Tom Rodriguez
7437f0b825 6854812: 6.0_14-b08 crashes with a SIGSEGV
Reviewed-by: kvn, twisti
2009-09-16 11:06:10 -07:00
John R Rose
47c425506d Merge 2009-09-15 22:50:12 -07:00
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
c89a572b3e 6879362: assert(!klass_is_exact(),"only non-exact klass")
Do nothing for AddP node which has type not related to the type of allocated object.

Reviewed-by: never
2009-09-15 19:03:39 -07:00
Changpeng Fang
1cf5b7ae11 6879921: CTW failure jdk6_18/hotspot/src/share/vm/utilities/globalDefinitions.cpp:268
Filter out non-primitives before deciding whether two ops can be packed

Reviewed-by: kvn, never
2009-09-15 11:09:34 -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
Changpeng Fang
c492f4cde5 6877254: Server vm crashes with no branches off of store slice" when run with CMS and UseSuperWord(default)
Design StoreCMNode::Ideal to promote its oopStore input if the input is a MergeMem node

Reviewed-by: kvn, never
2009-09-14 09:49:54 -07:00
Vladimir Kozlov
e0519e7bbd 6880053: assert(alloc_obj->as_CheckCastPP()->type() != TypeInstPtr::NOTNULL)
Removed second CheckCastPP and use MembarCPUOrder after arraycopy to cloned object.

Reviewed-by: never
2009-09-10 18:18:06 -07:00
Vladimir Kozlov
515f68b637 6880574: C2 assert in escape.cpp:445 on linux-amd64
Look through chained AddP nodes in get_addp_base().

Reviewed-by: jrose
2009-09-10 10:36:24 -07:00
Vladimir Kozlov
f0f6f93143 6880052: SIGSEGV in GraphKit::null_check_common()
Check that a klass is not NULL before the is_loaded() call.

Reviewed-by: never
2009-09-08 16:56:31 -07:00
Vladimir Kozlov
d486b5f5fd 6875619: CTW fails with /hotspot/src/share/vm/opto/type.hpp
In load_array_length() cast array's type to TypeOopPtr when calling make_ideal_length() method.

Reviewed-by: never
2009-09-08 10:42:50 -07:00
Changpeng Fang
457be8ad49 6876276: assert(!is_visited,"visit only once")
Schedule the superword loads based on dependence constraints

Reviewed-by: kvn, never
2009-08-31 08:31:45 -07:00
Vladimir Kozlov
343b5b0bef 6875577: CTW fails with /hotspot/src/share/vm/opto/memnode.cpp
Fix do_null_check to check for unloaded klass for all oop pointers.

Reviewed-by: never, cfang
2009-08-28 11:19:33 -07:00
Changpeng Fang
ff9a1bddb5 6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit
Use PcDesc to keep record of the reexecute bit instead of using DebugInfoStreams

Reviewed-by: kvn, never, twisti
2009-08-20 12:42:57 -07:00
Vladimir Kozlov
15b6cdf897 6873799: enable escape analysis by default
Enable escape analysis by default

Reviewed-by: never
2009-08-19 19:05:18 -07:00
Tom Rodriguez
0217f432c2 6873777: FPU control word optimization still performed with SSE
Reviewed-by: kvn
2009-08-19 18:54:35 -07:00
Changpeng Fang
05c34e93bd 6866651: Regression: simple int sum crashes jvm (build 1.6.0_14-b08 and 1.7.0-ea-b59)
Delay dead code elimination in set_req_X to make it safe

Reviewed-by: kvn, never
2009-08-17 12:11:06 -07:00
Tom Rodriguez
7d0158d27f Merge 2009-08-14 15:55:26 -07:00
Tom Rodriguez
398fffa232 6862863: C2 compiler fails in elide_copy()
Reviewed-by: kvn
2009-08-14 15:53:46 -07:00
Tom Rodriguez
c94a076d34 6862956: PhaseIdealLoop should have a CFG verification mode
Reviewed-by: kvn, twisti
2009-08-14 00:02:12 -07:00
Vladimir Kozlov
ab7a29cdcc Merge 2009-08-06 09:37:26 -07:00
Changpeng Fang
3e7e112ee5 6868269: CompileTheWorld assertion failure introduced by the reexecute bit implementation
Improvement on reexecute implementation to fix the assertion failure

Reviewed-by: kvn, never
2009-08-04 21:32:08 -07:00
Changpeng Fang
ae00753bf7 6833129: specjvm98 fails with NullPointerException in the compiler with -XX:DeoptimizeALot
Developed a reexecute logic for the interpreter to reexecute the bytecode when deopt happens

Reviewed-by: kvn, never, jrose, twisti
2009-07-31 17:12:33 -07:00
Vladimir Kozlov
f2ea22a547 6865031: Application gives bad result (throws bad exception) with compressed oops
Produce narrow type for new Phi from the original Phi type.

Reviewed-by: cfang
2009-07-31 12:04:07 -07:00
Erik Trimble
e846382e12 Merge 2009-07-29 16:00:35 -07:00
Xiomara Jayasena
a63ef10004 6862919: Update copyright year
Update copyright for files that have been modified in 2009, up to 07/09

Reviewed-by: tbell, ohair
2009-07-28 12:12:40 -07:00
Christian Thalinger
6dd47535cd 6863155: Server compiler generates incorrect code (x86, long, bitshift, bitmask)
Code compiled with server compiler generates an incorrect result.

Reviewed-by: cfang, never, kvn
2009-07-28 09:02:30 +02:00
Christian Thalinger
714db48492 Merge 2009-07-27 06:15:29 -07:00
Vladimir Kozlov
9387db9948 6851386: assert(b->find_node(def) < j,"uses must follow definitions")
Add additional check for a tight loop.

Reviewed-by: never
2009-07-26 12:59:41 -07:00
Vladimir Kozlov
8dd34cd52f 6860599: nodes limit could be reached during Output phase
Bailout compilation if nodes limit could be reached during Output phase.

Reviewed-by: never, twisti
2009-07-23 14:53:56 -07:00
John R Rose
6515225d49 6862576: vmIntrinsics needs cleanup in order to support JSR 292 intrinsics
Remove useless lazy evaluation of intrinsics; add LAST_COMPILER_INLINE to help categorize them

Reviewed-by: kvn
2009-07-21 16:56:06 -07:00
Christian Thalinger
6b849a12a0 6860920: serialize.cpp shouldn't use objArrayOopDesc::base_offset_in_bytes(T_BYTE)
Serialize.cpp currently uses objArrayOopDesc::base_offset_in_bytes(T_BYTE), which seems to be wrong.

Reviewed-by: coleenp, kvn
2009-07-20 08:20:00 -07:00
Vladimir Kozlov
2e2f60507e 6851282: JIT miscompilation results in null entry in array when using CompressedOops
Get type for new Phi from non dead path.

Reviewed-by: never
2009-07-16 16:29:55 -07:00
Vladimir Kozlov
c3efa899b6 6851742: (EA) allocation elimination doesn't work with UseG1GC
Fix eliminate_card_mark() to eliminate G1 pre/post barriers.

Reviewed-by: never
2009-07-16 14:10:42 -07:00
Hiroshi Yamauchi
a24ea182cc 6860469: remix_address_expressions sets incorrect control causing crash in split_if_with_block_post
Co-authored-by: Chuck Rasbold <rasbold@google.com>
Reviewed-by: never, kvn
2009-07-15 13:37:35 -07:00
Vladimir Kozlov
5a1032d9e6 6857661: 64-bit server VM: assert(is_Initialize(),"invalid node class")
Move the secondary raw memory barrier to the correct place in generate_arraycopy().

Reviewed-by: never
2009-07-06 15:53:30 -07:00
Changpeng Fang
7a36ade1ec 6855164: SIGSEGV during compilation of method involving loop over CharSequence
Don not split a block if it contains a FastLockNode with a PhiNode input.

Reviewed-by: kvn, never
2009-07-02 16:18:19 -07:00
Vladimir Kozlov
bb726c6f28 6840775: Multiple JVM crashes seen with 1.6.0_10 through 1.6.0_14
Put missed reference to allocated array in copyOf() intrinsic into OopMap for the call slow_arraycopy().

Reviewed-by: never
2009-07-01 20:22:18 -07:00
Tom Rodriguez
da11e65fa4 6856025: assert(_base >= OopPtr && _base <= KlassPtr,"Not a Java pointer")
Reviewed-by: kvn
2009-07-01 12:22:23 -07:00
Tom Rodriguez
3bdd70fe18 6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn
2009-06-26 13:03:29 -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
Vladimir Kozlov
8f6070ce0e 6841800: Incorrect boundary values behavior for option -XX:MaxLabelRootDepth=0-6 leads to jvm crash
MaxLabelRootDepth value less then 10 is invalid.

Reviewed-by: never
2009-06-24 12:00:51 -07:00
Chuck Rasbold
2c5f52b511 6837094: False positive for "meet not symmetric" failure
Have the meet not symmetric check recursively do the interface-vs-oop check on array subtypes.

Reviewed-by: jrose
2009-06-23 17:52:29 -07:00
Vladimir Kozlov
7b9d6a79ac 6837472: com/sun/jdi/MonitorFrameInfo.java fails with AggressiveOpts in 6u14
Disable escape analysis when jvmti/debugger is used. Add support for EA ibto SA.

Reviewed-by: never
2009-06-09 16:19:10 -07:00
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