639 Commits

Author SHA1 Message Date
Nils Eliasson
ea28f47062 7152955: print_method crashes with null root
Reviewed-by: kvn, never
2012-03-13 20:54:56 -07:00
Nils Eliasson
3683f82865 7152961: InlineTree::should_not_inline may exit prematurely
Reviewed-by: kvn, never
2012-03-13 10:03:59 -07:00
Tom Rodriguez
2d308ccc78 Merge 2012-03-12 19:54:41 -07:00
Nils Eliasson
7b7d3507db 7152957: VM crashes with assert(false) failed: bad AD file
Reviewed-by: kvn, never
2012-03-12 15:28:07 -07:00
Vladimir Kozlov
e5f92a2396 7147744: CTW: assert(false) failed: infinite EA connection graph build
Rewrote Connection graph construction code in EA to reduce time spent there.

Reviewed-by: never
2012-03-12 10:46:47 -07:00
Rickard Bäckman
cf406f37e3 7160570: Intrinsification support for tracing framework
Reviewed-by: sla, never
2012-03-06 12:36:59 +01:00
Nils Eliasson
36efb40d10 6658428: C2 doesn't inline java method if corresponding intrinsic failed to inline
Allow fallback to non-intrinsic inline case

Reviewed-by: kvn, jrose, never
2012-03-05 18:10:31 -08:00
Vladimir Kozlov
22db6951dc 7146442: assert(false) failed: bad AD file
Take into account only stores captured by Initialize node. Added missing check for Top input in value() methods.

Reviewed-by: never
2012-02-21 11:55:05 -08:00
Tom Rodriguez
7a1487a726 Merge 2012-02-17 12:18:52 -08:00
Vladimir Kozlov
867f3ba889 7145346: VerifyStackAtCalls is broken
Replace call_epilog() encoding with macroassembler use. Moved duplicated code to x86.ad. Fixed return_addr() definition.

Reviewed-by: never
2012-02-16 17:12:49 -08:00
Vladimir Kozlov
539616f85a 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.

Reviewed-by: never, twisti, azeemj
2012-02-15 21:37:49 -08:00
Vladimir Kozlov
2d533fa2a9 7129284: +DoEscapeAnalysis regression w/ early build of 7u4 (HotSpot 23) on Linux
Removed code which tried to create edges from fields of destination objects of arraycopy to fields of source objects. Added 30 sec time limit for EA graph construction.

Reviewed-by: never
2012-02-10 12:53:43 -08:00
Bill Pittore
39f063f94d Merge 2012-02-10 10:55:15 -05:00
Vladimir Kozlov
e6015c7c26 7143491: G1 C2 CTW: assert(p2x->outcnt() == 2) failed: expects 2 users: Xor and URShift nodes
Adjust the assert and code in eliminate_card_mark() method for case when stored value is NULL.

Reviewed-by: iveresov, never
2012-02-07 16:33:43 -08:00
Bill Pittore
8e09c4566e Merge 2012-02-06 10:57:49 -05:00
Frederic Parain
7b1a6d8811 Merge 2012-02-03 14:04:59 -05:00
Deepak Bhole
ce79f12b7b 7140882: Don't return booleans from methods returning pointers
Changed "return false" to "return NULL"

Reviewed-by: dholmes, rottenha
2012-01-30 12:36:49 +01:00
Roland Westrelin
de3ed511b1 7123910: Some CTW tests crash VM: is_loaded() && that->is_loaded()
Handle not loaded array klass in Parse::do_checkcast().

Reviewed-by: kvn, never
2012-01-26 09:38:28 +01:00
Jiangli Zhou
cd85c690df 7132690: InstanceKlass:_reference_type should be u1 type
Change InstanceKlass::_reference_type to u1 type.

Reviewed-by: dholmes, coleenp, acorn
2012-01-25 17:40:51 -05:00
Vladimir Kozlov
51e16a559d Merge 2012-01-25 08:10:04 -08:00
Roland Westrelin
f3ce53be67 7116050: C2/ARM: memory stomping error with DivideMcTests
Block::schedule_local() may write beyond end of ready_cnt array

Reviewed-by: never, kvn
2012-01-25 09:31:47 +01:00
Vladimir Kozlov
3770ecec6f 7132936: guarantee(t != NULL) failed: must be con
Use !higher_equal() check to skip top and values which fit.

Reviewed-by: never
2012-01-24 17:04:51 -08:00
Vladimir Kozlov
5b3f2efc2e 7131302: connode.cpp:205 Error: ShouldNotReachHere()
Add Value() methods to short and byte Load nodes to truncate constants which does not fit.

Reviewed-by: jrose
2012-01-20 09:43:06 -08:00
Vladimir Kozlov
b9cba282ee 7129618: assert(obj_node->eqv_uncast(obj),"");
Relax verification and locks elimination checks for new implementation (EliminateNestedLocks).

Reviewed-by: iveresov
2012-01-13 12:58:26 -08:00
Vladimir Kozlov
337666a80c 7128355: assert(!nocreate) failed: Cannot build a phi for a block already parsed
Do not common BoxLock nodes and avoid creating phis of boxes.

Reviewed-by: never
2012-01-12 14:45:04 -08:00
Vladimir Kozlov
f3f36ae094 7064302: JDK7 build 147 crashed after testing my java 6-compiled web app
Don't split CMove node if it's control edge is different from split region.

Reviewed-by: never
2012-01-12 12:28:59 -08:00
Vladimir Kozlov
791afc42da 7128352: assert(obj_node == obj) failed
Compare uncasted object nodes.

Reviewed-by: never
2012-01-10 18:05:38 -08:00
Vladimir Kozlov
94927c382b 7125896: Eliminate nested locks
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.

Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
f99fb50071 7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM
Change yank_if_dead() to recursive method to remove all dead inputs.

Reviewed-by: never
2012-01-07 10:39:23 -08:00
Vladimir Kozlov
b93ca70b9b Merge 2012-01-06 20:09:20 -08:00
Vladimir Kozlov
05ec1c0816 7125879: assert(proj != NULL) failed: must be found
Leave i_o attached to slow allocation call when there are no i_o users after the call.

Reviewed-by: iveresov, twisti
2011-12-30 11:43:06 -08:00
Vladimir Kozlov
f96f3e5e85 7123954: Some CTW test crash with SIGSEGV
Correct Allocate expansion code to preserve i_o when only slow call is generated.

Reviewed-by: iveresov
2011-12-27 15:08:43 -08:00
Roland Westrelin
97439fb4ff 7121140: Allocation paths require explicit memory synchronization operations for RMO systems
Adds store store barrier after initialization of header and body of objects.

Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Jiangli Zhou
fafb59a0dc Merge 2011-12-09 11:29:05 -08:00
Stefan Karlsson
e057d60ca1 7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.

Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Vladimir Kozlov
dc542c9909 7121648: Use 3-operands SIMD instructions on x86 with AVX
Use 3-operands SIMD instructions in C2 generated code for machines with AVX.

Reviewed-by: never
2011-12-20 00:55:02 -08:00
Tom Rodriguez
2928feab6a 7121073: secondary_super_cache memory slice has incorrect bounds in flatten_alias_type
Reviewed-by: kvn
2011-12-19 14:16:23 -08:00
Jiangli Zhou
f9f4ba0203 7117052: instanceKlass::_init_state can be u1 type
Change instanceKlass::_init_state field to u1 type.

Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Vladimir Kozlov
78034a3d3b 7117282: assert(base == NULL || t_adr->isa_rawptr() || !phase->type(base)
Delay memory node transformation until the memory is processed.

Reviewed-by: iveresov, never
2011-12-02 21:37:19 -08:00
Vladimir Kozlov
e187503af0 7112478: after 7105605 JRuby bench_define_method_methods.rb fails with NPE
Fixed several EA issues with Connection Graph construction.

Reviewed-by: never, twisti
2011-11-28 15:46:31 -08:00
Roland Westrelin
07d9df5a7f 7090968: Allow adlc register class to depend on runtime conditions
Allow reg_class definition as a function.

Reviewed-by: kvn, never
2011-11-22 09:45:57 +01:00
Vladimir Kozlov
09b7902e14 7107042: assert(no_dead_loop) failed: dead loop detected
Use dead nodes elimination code in PhaseIdealLoop before executing EA.

Reviewed-by: never, twisti
2011-11-09 07:25:51 -08:00
Vladimir Kozlov
dc1f4fe50e 7109887: java/util/Arrays/CopyMethods.java fails with -XX:+DeoptimizeALot
Zero array when compiled code is deoptimized.

Reviewed-by: never, twisti
2011-11-09 06:14:32 -08:00
Christian Thalinger
423972a7d8 7087727: JSR 292: C2 crash if ScavengeRootsInCode=2 when "static final" MethodHandle constants are in use
Reviewed-by: jrose, kvn, never
2011-11-09 00:42:33 -08:00
Vladimir Kozlov
0bc2963b7d 7059047: EA: can't find initializing store with several CheckCastPP
Split adjust_escape_state() method into two methods to find initializing stores.

Reviewed-by: never
2011-11-07 14:33:57 -08:00
Christian Thalinger
5ffce97ffc 7104561: UseRDPCForConstantTableBase doesn't work after shorten branches changes
Reviewed-by: never, kvn
2011-10-31 03:06:42 -07:00
Christian Thalinger
6d1f314a4b 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely
Reviewed-by: never, bdelsart
2011-10-27 04:43:37 -07:00
Vladimir Kozlov
669fa7396d 7097546: Optimize use of CMOVE instructions
Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.

Reviewed-by: never
2011-10-26 06:08:56 -07:00
Vladimir Kozlov
952f0b9b81 7059039: EA: don't change non-escaping state of NULL pointer
NULL pointers do not escape but escape state propagation may change it leading to worser results.

Reviewed-by: never
2011-10-25 12:51:13 -07:00
Omair Majid
160ad3376d 7103224: collision between __LEAF define in interfaceSupport.hpp and /usr/include/sys/cdefs.h with gcc
Reviewed-by: never
2011-10-25 08:17:15 -07:00