70 Commits

Author SHA1 Message Date
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
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
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
Roland Westrelin
b543a07b9a 7074017: Introduce MemBarAcquireLock/MemBarReleaseLock nodes for monitor enter/exit code paths
Replace MemBarAcquire/MemBarRelease nodes on the monitor enter/exit code paths with new MemBarAcquireLock/MemBarReleaseLock nodes

Reviewed-by: kvn, twisti
2011-08-02 18:36:40 +02:00
Vladimir Kozlov
1ac79543d0 5091921: Sign flip issues in loop optimizer
Fix integer overflow problem in the code generated by loop optimizer.

Reviewed-by: never
2011-05-04 13:12:42 -07:00
Vladimir Kozlov
6d0283ed8e Merge 2011-04-29 11:15:30 -07:00
Tom Rodriguez
2126589fd0 7029167: add support for conditional card marks
Reviewed-by: iveresov, kvn
2011-04-27 15:40:36 -07:00
Tom Rodriguez
16d6414619 7030715: JSR 292 JRuby test/test_super_call_site_caching.rb asserts with +DoEscapeAnalysis
Reviewed-by: twisti
2011-04-25 16:25:58 -07:00
Vladimir Kozlov
abc5f94df7 7026700: regression in 6u24-rev-b23: Crash in C2 compiler in PhaseIdealLoop::build_loop_late_post
Memory slices should be always created for non-static fields after allocation

Reviewed-by: never
2011-04-20 18:29:35 -07:00
John Cuthbertson
7c844aba67 Merge 2011-04-14 13:45:41 -07:00
John R Rose
41745904a3 Merge 2011-04-09 21:16:12 -07:00
John Cuthbertson
a08e1ce906 7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.

Reviewed-by: kvn, iveresov, never, tonyp, dholmes
2011-04-07 09:53:20 -07:00
Erik Trimble
c9e484d473 7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
Update the copyright to be 2010 on all changed files in OpenJDK

Reviewed-by: ohair
2011-04-05 14:12:31 -07:00
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
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
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
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
Tom Rodriguez
0ecb9e3298 6965815: OptimizeStringConcat: assert(!q->is_MergeMem()) failed with specjbb2000
Reviewed-by: kvn
2010-09-08 20:28:57 -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
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
Jon Masamitsu
428d02d5d7 Merge 2010-06-10 08:27:35 -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
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
Tom Rodriguez
eb534d777a 6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed
2010-04-26 23:59:45 -07:00
Vladimir Kozlov
9110d86267 Merge 2010-02-12 15:27:36 -08:00
Vladimir Kozlov
3f7a94c3f2 6910605: C2: NullPointerException/ClassCaseException is thrown when C2 with DeoptimizeALot is used
Set the reexecute bit for runtime calls _new_array_Java when they used for _multianewarray bytecode.

Reviewed-by: never
2010-02-08 12:20:09 -08:00
Tom Deneau
f23b68b367 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.

Reviewed-by: never, kvn, dcubed
2010-02-01 17:35:05 -07:00
Y. Srinivas Ramakrishna
331512606a 6896647: card marks can be deferred too long
Deferred card marks are now flushed during the gc prologue. Parallel[Scavege,OldGC] and SerialGC no longer defer card marks generated by COMPILER2 as a result of ReduceInitialCardMarks. For these cases, introduced a diagnostic option to defer the card marks, only for the purposes of testing and diagnostics. CMS and G1 continue to defer card marks. Potential performance concern related to single-threaded flushing of deferred card marks in the gc prologue will be addressed in the future.

Reviewed-by: never, johnc
2010-01-13 15:26:39 -08:00
Christian Thalinger
375527d84e 6829187: compiler optimizations required for JSR 292
C2 implementation for invokedynamic support.

Reviewed-by: kvn, never
2010-01-05 13:05:58 +01:00
Tom Rodriguez
dfbb0bf3e2 6908167: jbb2005, OptimizeStringConcat causes assert in EA
Reviewed-by: kvn
2009-12-08 16:27:21 -08:00
Tom Rodriguez
9db2092b1b 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
2009-11-12 09:24:21 -08:00
Y. Srinivas Ramakrishna
928ac69fcd 6888898: CMS: ReduceInitialCardMarks unsafe in the presence of cms precleaning
6889757: G1: enable card mark elision for initializing writes from compiled code (ReduceInitialCardMarks)

Defer the (compiler-elided) card-mark upon a slow-path allocation until after the store  and before the next subsequent safepoint; G1 now answers yes to can_elide_tlab_write_barriers().

Reviewed-by: jcoomes, kvn, never
2009-10-16 02:05:46 -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
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
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
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
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
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
Vladimir Kozlov
34ee921399 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Cache Jvmti and DTrace flags used by Compiler.

Reviewed-by: never
2009-05-08 10:44:20 -07:00
Changpeng Fang
04fdef79fa 6589834: deoptimization problem with -XX:+DeoptimizeALot
Relocate the stack pointer adjustment to where uncommon_trap is actually inserted for new_array.

Reviewed-by: kvn, jrose
2009-04-23 14:04:24 -07:00
John R Rose
34c1d72421 6655646: dynamic languages need dynamically linked call sites
Invokedynamic instruction (JSR 292 RI)

Reviewed-by: twisti, never
2009-04-21 23:21:04 -07:00
Vladimir Kozlov
41463d1d3a Merge 2009-03-19 09:13:24 -07:00
John R Rose
b8dbe8d8f6 6813212: factor duplicated assembly code for general subclass check (for 6655638)
Code in interp_masm, stubGenerator, c1_LIRAssembler, and AD files moved into MacroAssembler.

Reviewed-by: kvn
2009-03-13 18:39:22 -07:00
Erik Trimble
8d6035660e Merge 2009-03-12 18:16:36 -07:00
Xiomara Jayasena
2be2e027b0 6814575: Update copyright year
Update copyright for files that have been modified in 2009, up to 03/09

Reviewed-by: katleman, tbell, ohair
2009-03-09 13:28:46 -07:00
Christian Thalinger
05d1de7727 6810672: Comment typos
I have collected some typos I have found while looking at the code.

Reviewed-by: kvn, never
2009-02-27 13:27:09 -08:00