565 Commits

Author SHA1 Message Date
Vladimir Kozlov
4286ac7947 7009359: HS with -XX:+AggressiveOpts optimize new StringBuffer(null) so it does not throw NPE as expected
Bailout StringConcat optimization if null is passed to StringBuffer constructor.

Reviewed-by: iveresov
2010-12-28 17:34:02 -08:00
Vladimir Kozlov
85dd279283 7003130: assert(iterations<CG_BUILD_ITER_LIMIT) failed: infinite EA connection graph
Bump CG_BUILD_ITER_LIMIT to 20

Reviewed-by: iveresov
2010-12-21 13:56:40 -08:00
Tom Rodriguez
a5f501c021 7004940: CTW: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG
Reviewed-by: kvn, twisti
2010-12-13 22:41:03 -08:00
Igor Veresov
a9bee9ec34 Merge 2010-12-08 17:50:49 -08:00
Christian Thalinger
ffaadcecea 6961690: load oops from constant table on SPARC
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.

Reviewed-by: never, kvn
2010-12-03 01:34:31 -08:00
Igor Veresov
ab725dba1d 7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.

Reviewed-by: kvn, never
2010-12-02 17:21:12 -08:00
Tom Rodriguez
532dec3797 7002666: eclipse CDT projects crash with compressed oops
Reviewed-by: kvn, twisti
2010-12-01 10:16:31 -08:00
Ivan P Krylov
9802f91e66 6348631: remove the use of the HPI library from Hotspot
Move functions from hpi library to hotspot, communicate with licensees and open source community, check jdk for dependency, file CCC request

Reviewed-by: coleenp, acorn, dsamersoff
2010-12-01 18:26:32 -05:00
Stefan Karlsson
8006fe8f75 6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.

Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Vladimir Kozlov
606ee163ca 7000491: assert(false) failed: should be optimized out in SharedRuntime::g1_wb_pre
Wrong value type is used for NULL store when clearing the detail message of the preallocated exception object.

Reviewed-by: never, iveresov
2010-11-18 09:52:48 -08:00
Vladimir Kozlov
296ddc8e2e 6991188: C2 Crashes while compiling method
Do several iterations to build EA Connection Graph.

Reviewed-by: never, twisti, ysr
2010-11-06 20:35:36 -07:00
Vladimir Kozlov
249b1f6c4f 6987135: Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14
Use hardware DIV instruction for long division by constant when it is faster than code with multiply.

Reviewed-by: never
2010-11-02 09:00:37 -07:00
Tom Rodriguez
39d16839d3 6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn
2010-10-07 21:40:55 -07:00
Vladimir Kozlov
7cc55737b6 6916062: assert(_inserts <= _insert_limit,"hash table overflow") in NodeHash::hash_insert
Missing check for not empty worklist when puting memory node back on worklist and expecting address type update.

Reviewed-by: never
2010-09-30 18:31:45 -07:00
Christian Thalinger
59ea7a14e6 6987634: JSR 292 assert(start_bci() >= 0 && start_bci() < code_size()) failed: correct osr_bci argument
Reviewed-by: never, kvn
2010-09-29 00:30:57 -07:00
Tom Rodriguez
bce771e0fe 6986028: assert(_base == Int) failed: Not an Int in CmpINode::sub
Reviewed-by: kvn, twisti
2010-09-22 23:51:03 -07:00
Tom Rodriguez
f4b4eae617 6982537: Crash in Node*step_through_mergemem
Reviewed-by: kvn
2010-09-22 13:01:12 -07:00
Tom Rodriguez
2e4e2602d7 6984979: OptimizeFill misses some cases with an odd memory graph
Reviewed-by: kvn
2010-09-15 20:25:37 -07:00
Vladimir Kozlov
7be7d19ba5 6984346: Remove development code in type.hpp
Remove code which use UseNewCode in type.hpp

Reviewed-by: never
2010-09-13 16:45:00 -07:00
Tom Rodriguez
0ecb9e3298 6965815: OptimizeStringConcat: assert(!q->is_MergeMem()) failed with specjbb2000
Reviewed-by: kvn
2010-09-08 20:28:57 -07:00
Tom Rodriguez
cf8bea660b 6982533: Crash in ~StubRoutines::jbyte_fill with AggressiveOpts enabled
Reviewed-by: kvn
2010-09-07 11:31:27 -07:00
Igor Veresov
2c66a6c3fd 6953144: Tiered compilation
Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.

Reviewed-by: kvn, never, phh, twisti
2010-09-03 17:51:07 -07:00
Tom Rodriguez
84aedee955 6969586: OptimizeStringConcat: SIGSEGV in LoadNode::Value()
Reviewed-by: kvn
2010-08-30 17:27:35 -07:00
Vladimir Kozlov
3f7bac73fe 6980978: assert(mt == t->xmeet(this)) failed: meet not commutative
Fix code in TypeAryPtr::xmeet() for constant array.

Reviewed-by: never
2010-08-30 11:02:53 -07:00
Tom Rodriguez
150ca9b5b1 Merge 2010-08-27 17:35:08 -07:00
Tom Rodriguez
08d9e03b81 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
2010-08-27 17:33:49 -07:00
Vladimir Kozlov
45d90a7775 6976400: "Meet Not Symmetric"
Use NULL as klass for TypeAryPtr::RANGE. Add klass verification into TypeAryPtr ctor.

Reviewed-by: never
2010-08-26 11:05:25 -07:00
Christian Thalinger
a4b2fe3b1c 6978355: renaming for 6961697
This is the renaming part of 6961697 to keep the actual changes small for review.

Reviewed-by: kvn, never
2010-08-25 05:27:54 -07:00
John R Rose
c7e50e8305 6912064: type profiles need to be exploited more for dynamic language support
Reviewed-by: kvn
2010-08-20 23:40:30 -07:00
Tom Rodriguez
a54b1ff70e 6978249: spill between cpu and fpu registers when those moves are fast
Reviewed-by: kvn
2010-08-19 14:51:47 -07:00
Vladimir Kozlov
b092cb33e6 6973329: C2 with Zero based COOP produces code with broken anti-dependency on x86
Recompile without subsuming loads if RA try to clone a node with anti_dependence.

Reviewed-by: never
2010-08-11 10:48:20 -07:00
Vladimir Kozlov
4728aa064a 6974682: CTW: assert(target != NULL) failed: must not be null
Add address table size to constant section size.

Reviewed-by: never
2010-08-04 17:42:20 -07:00
Vladimir Kozlov
5bed80aab9 6973963: SEGV in ciBlock::start_bci() with EA
Added more checks into ResourceObj and growableArray to verify correctness of allocation type.

Reviewed-by: never, coleenp, dholmes
2010-08-03 15:55:03 -07:00
Vladimir Kozlov
3fbdd52bdf 6969569: assert(is_static() && is_constant()) failed: illegal call to constant_value()
Add missing is_static guard.

Reviewed-by: twisti
2010-07-23 10:07:46 -07:00
Tom Rodriguez
d3c3800a29 6958668: repeated uncommon trapping for new of klass which is being initialized
Reviewed-by: kvn, jrose
2010-07-12 10:58:25 -07:00
Vladimir Kozlov
cc513a8564 6966411: escape.cpp:450 assert(base->Opcode() == Op_ConP
Execute IGVN optimization before and after Escape Analysis

Reviewed-by: never
2010-07-02 17:30:30 -07:00
Vladimir Kozlov
448b83e288 6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Use replace_node() method instead of subsume_node().

Reviewed-by: jrose, never
2010-06-28 14:54:39 -07:00
Vladimir Kozlov
8a416b2365 6964479: widen normalization of small int and long values should be symmetric
Normalize widen value in xmeet() and xdual() methods for types Int and Long so the type meet will be symmetric.

Reviewed-by: jrose
2010-06-28 10:52:50 -07:00
Vladimir Kozlov
21f481e5dd 6959430: Make sure raw loads have control edge
Check that raw loads have control edge

Reviewed-by: never, twisti
2010-06-15 18:07:27 -07:00
John R Rose
998865b735 Merge 2010-06-15 15:57:36 -07:00
Jon Masamitsu
428d02d5d7 Merge 2010-06-10 08:27:35 -07:00
John R Rose
1f4cfb029b 6939203: JSR 292 needs method handle constants
Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.

Reviewed-by: twisti, never
2010-06-09 18:50:45 -07:00
John Cuthbertson
6d8002eb26 6953058: G1: A bigapp crashes with SIGSEGV in compiled code
In C2's G1 post write barrier, the loads of the buffer and index fields from the DirtyCardQueue structure may be moved across a safepoint. Use the current value of "control" in the C2 IR to limit how far these loads can move.

Reviewed-by: never, iveresov, kvn
2010-06-07 17:46:04 -07:00
Tom Rodriguez
154ae789ef 6958485: fix for 6879921 was insufficient
Reviewed-by: kvn
2010-06-07 14:17:01 -07:00
John R Rose
d6a9b93b5a Merge 2010-06-02 22:45:42 -07:00
Vladimir Kozlov
a3005a16fc 6954029: Improve implicit null check generation with compressed oops
Hoist DecodeN instruction above null check

Reviewed-by: never, twisti
2010-06-02 09:49:32 -07:00
Erik Trimble
ba7c173659 6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright

Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
John R Rose
581521ba96 6939207: refactor constant pool index processing
Factored cleanup of instruction decode which prepares for enhanced ldc semantics.

Reviewed-by: twisti
2010-05-23 01:38:26 -07:00
Christian Thalinger
2e24ba80e9 6930772: JSR 292 needs to support SPARC C1
C1 for SPARC needs to support JSR 292.

Reviewed-by: never, jrose
2010-05-21 02:59:24 -07:00
Vladimir Kozlov
24b71d013a Merge 2010-05-19 10:22:39 -07:00