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
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