445 Commits

Author SHA1 Message Date
Vladimir Kozlov
68f1177f59 7032314: Allow to generate CallLeafNoFPNode in IdealKit
Added CallLeafNoFPNode generation to IdealKit. Added i_o synchronization.

Reviewed-by: never
2011-04-02 09:49:27 -07:00
Tom Rodriguez
5cd8d5c115 6909440: C2 fails with assertion (_always_cold->is_cold(),"must always be cold")
Reviewed-by: kvn
2011-04-01 21:45:33 -07:00
Vladimir Kozlov
0493606cdd 7032696: Fix for 7029152 broke VM
StrIntrinsicNode::Ideal() should not optimize memory during Parse.

Reviewed-by: jrose, never
2011-03-31 13:22:34 -07:00
Vladimir Kozlov
3ecb9f51df 7029152: Ideal nodes for String intrinsics miss memory edge optimization
In Ideal() method of String intrinsics nodes look for TypeAryPtr::CHARS memory slice if memory is MergeMem. Do not unroll a loop with String intrinsics code.

Reviewed-by: never
2011-03-30 12:08:49 -07:00
Christian Thalinger
f51036e9bc 7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn
2011-03-28 03:58:07 -07:00
Tom Rodriguez
5387ee459e 7024475: loop doesn't terminate when compiled
Reviewed-by: kvn
2011-03-27 00:00:14 -07:00
Roland Westrelin
4171ca786e 7029017: Additional architecture support for c2 compiler
Enables cross building of a c2 VM. Support masking of shift counts when the processor architecture mandates it.

Reviewed-by: kvn, never
2011-03-25 09:35:39 +01:00
John Coomes
cdd5139d91 Merge 2011-03-24 23:04:36 -07:00
John Coomes
fe899cc10d 6962931: move interned strings out of the perm gen
Reviewed-by: never, coleenp, ysr, jwilhelm
2011-03-22 13:36:33 -07:00
Vladimir Kozlov
3de260da41 7008866: Missing loop predicate for loop with multiple entries
Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed.

Reviewed-by: never
2011-03-21 11:28:14 -07:00
Tom Rodriguez
6e8a263a06 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
2011-03-18 16:00:34 -07:00
John R Rose
f6344076f2 7012648: move JSR 292 to package java.lang.invoke and adjust names
Package and class renaming only; delete unused methods and classes

Reviewed-by: twisti
2011-03-11 22:34:57 -08:00
Vladimir Kozlov
4c5f41c72f 7026631: field _klass is incorrectly set for dual type of TypeAryPtr::OOPS
Add missing check this->dual() != TypeAryPtr::OOPS into TypeAryPtr::klass().

Reviewed-by: never
2011-03-11 07:50:51 -08:00
Vladimir Kozlov
fd6487f201 7025742: Can not use CodeCache::unallocated_capacity() with fragmented CodeCache
Use largest_free_block() instead of unallocated_capacity().

Reviewed-by: iveresov, never, ysr
2011-03-09 09:15:16 -08:00
Vladimir Kozlov
8f5e126d82 6589823: Error: meet not symmetric
Arrays pointers meet must fall to bottom if exact array klasses in upper lattice are not equal or super klass is exact.

Reviewed-by: never
2011-03-05 11:02:04 -08:00
Igor Veresov
90a153aa38 6627983: G1: Bad oop deference during marking
Bulk zeroing reduction didn't work with G1, because arraycopy would call pre-barriers on uninitialized oops. The solution is to have version of arraycopy stubs that don't have pre-barriers. Also refactored arraycopy stubs generation on SPARC to be more readable and reduced the number of stubs necessary in some cases.

Reviewed-by: jrose, kvn, never
2011-03-01 14:56:48 -08:00
Vladimir Kozlov
a74bc73598 6942326: x86 code in string_indexof() could read beyond reserved heap space
Copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.

Reviewed-by: never
2011-02-26 12:10:54 -08:00
Vladimir Kozlov
afa5d117b7 6812217: Base memory of MergeMem node violates assert during killing expanded AllocateArray node
The assert in MergeMemNode::memory_at() misses the case when address is TOP.

Reviewed-by: never
2011-02-24 10:28:20 -08:00
Vladimir Kozlov
ddd4d3ad73 Merge 2011-02-14 14:36:29 -08:00
Vladimir Kozlov
5d3ab72d1d 7017746: Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early()
Add TEMP edges (and KILL projections) before duplicated operands are removed in Expand() methods.

Reviewed-by: never
2011-02-10 14:25:59 -08:00
Vladimir Kozlov
b9633d42b4 7017124: Fix some VM stats to avoid 32-bit overflow
Added new method inc_stat_counter() to increment long statistic values and use atomic long load and store.

Reviewed-by: dholmes, jrose, phh, never
2011-02-07 10:34:39 -08:00
Vladimir Kozlov
e7c3086ed3 7013538: Java memory leak with escape analysis
Don't allocate VectorSet iterator on C heap. Reuse resource storage in EA.

Reviewed-by: never
2011-02-07 10:25:39 -08:00
Vladimir Kozlov
c00a50c8e9 7017240: C2: native memory leak in nsk/regression/b4675027 on windows-x86 in comp mode with G1
Add ResourceMark into PhaseIdealLoop::build_and_optimize().

Reviewed-by: never
2011-02-07 09:46:01 -08:00
Bob Vandette
31e3fe4a98 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
2011-02-02 11:35:26 -05:00
Coleen Phillimore
7b4f8073f0 6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them

Reviewed-by: never, acorn, jmasa, stefank
2011-01-27 16:11:27 -08:00
Christian Thalinger
53c79c908e Merge 2011-01-13 07:20:32 -08:00
Daniel D. Daugherty
0c7a73dc8c Merge 2011-01-07 15:54:32 -08:00
Vladimir Kozlov
5bce844ff6 6876037: CTW fails jdk7/hotspot/src/share/vm/opto/type.cpp:2055. assert(bits,"Use TypePtr for NULL")
Add missing 0 value check in TypeRawPtr::add_offset().

Reviewed-by: never
2011-01-07 11:53:24 -08:00
Paul Hohensee
7b0134a7cb 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.

Reviewed-by: coleenp, kvn, dholmes, ysr
2011-01-07 10:42:32 -05:00
Vladimir Kozlov
28050800c0 7008325: CodeCache exhausted on sparc starting from hs20b04
Remove clear_scratch_buffer_blob and let init_scratch_buffer_blob free and allocate a new blob if required.

Reviewed-by: twisti
2010-12-29 10:41:43 -08:00
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