161 Commits

Author SHA1 Message Date
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
Vladimir Kozlov
681eb89b31 Merge 2009-02-17 14:30:24 -08:00
Vladimir Kozlov
94a461f4cb 6799693: Server compiler leads to data corruption when expression throws an Exception
Use merged memory state for an allocation's slow path.

Reviewed-by: never
2009-02-05 14:43:58 -08:00
Tom Rodriguez
275a0bfb42 6793828: G1: invariant: queues are empty when activated
Reviewed-by: jrose, kvn
2009-02-05 11:42:10 -08:00
Tom Rodriguez
67f20d82c9 6442502: assert(bits,"Use TypePtr for NULL") on linux-x86
Reviewed-by: kvn
2009-02-04 23:17:38 -08:00
Chuck Rasbold
453d1a42b0 Merge 2008-09-30 15:53:55 -07:00
Andrey Petrusenko
fe4cab6eeb Merge 2008-09-24 15:34:06 -04:00
Tom Rodriguez
4b1e242299 6384206: Phis which are later unneeded are impairing our ability to inline based on static types
Reviewed-by: rasbold, jrose
2008-09-17 12:59:52 -07:00
Chuck Rasbold
eee15b163e 6711100: 64bit fastdebug server vm crashes with assert(_base == Int,"Not an Int")
Insert CastII nodes to narrow type of load_array_length() node

Reviewed-by: never, kvn
2008-09-17 08:29:17 -07:00
Vladimir Kozlov
9812da470c 6746907: Improve implicit null check generation
Add missing implicit null check cases.

Reviewed-by: never
2008-09-10 20:44:47 -07:00