54 Commits

Author SHA1 Message Date
Bharadwaj Yadavalli
2d2532e740 7092905: C2: Keep track of the number of dead nodes
Keep an (almost) accurate running count of the reachable (live) flow graph nodes.

Reviewed-by: kvn, twisti, jrose, vlivanov
2012-11-27 17:24:15 -08:00
Bharadwaj Yadavalli
d5d2e78faa 7193318: C2: remove number of inputs requirement from Node's new operator
Deleted placement new operator of Node - node(size_t, Compile *, int).

Reviewed-by: kvn, twisti
2012-09-27 09:38:42 -07:00
Vladimir Kozlov
811c047ec1 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Save whole XMM/YMM registers in safepoint interrupt handler.

Reviewed-by: roland, twisti
2012-09-17 19:39:07 -07:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Vladimir Kozlov
fbcc3da64f 7192965: assert(is_aligned_sets(size)) failed: mask is not aligned, adjacent sets
Change pair check to vector check in RA bias coloring code.

Reviewed-by: jrose, twisti
2012-08-23 09:13:16 -07:00
Vladimir Kozlov
539616f85a 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.

Reviewed-by: never, twisti, azeemj
2012-02-15 21:37:49 -08:00
Vladimir Kozlov
94927c382b 7125896: Eliminate nested locks
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.

Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
ff4faaab4b 7080431: VM asserts if specified size(x) in .ad is larger than emitted size
Move code from finalize_offsets_and_shorten() to fill_buffer() to restore previous behavior.

Reviewed-by: never
2011-08-18 11:49:33 -07:00
Vladimir Kozlov
080f790edc 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Save/restore label and block in scratch_emit_size()

Reviewed-by: never
2011-08-16 11:53:57 -07:00
Vladimir Kozlov
ac99f413d7 7063629: use cbcond in C2 generated code on T4
Use new short branch instruction in C2 generated code.

Reviewed-by: never
2011-08-11 12:08:11 -07:00
Vladimir Kozlov
18329266ea 7069452: Cleanup NodeFlags
Remove flags which duplicate information in Node::NodeClasses.

Reviewed-by: never
2011-07-27 17:28:36 -07:00
Vladimir Kozlov
48c1293916 7063628: Use cbcond on T4
Add new short branch instruction to Hotspot sparc assembler.

Reviewed-by: never, twisti, jrose
2011-07-21 11:25:07 -07:00
Vladimir Kozlov
69bcf41540 7047300: VM crashes with assert(_base == InstPtr) failed: Not an object pointer
The code incorrectly used is_instptr() instead of is_oopptr() to get const_oop.

Reviewed-by: never
2011-05-24 12:54:51 -07:00
Jon Masamitsu
b6e631d446 Merge 2011-04-08 14:19:50 -07:00
Tom Rodriguez
aac4647e6e 7032963: StoreCM shouldn't participate in store elimination
Reviewed-by: kvn
2011-04-05 19:14:03 -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
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
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
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
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
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
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
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 Coomes
99196ff9ca 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
2010-04-22 13:23:15 -07:00
John Coomes
7e76feaf42 6888953: some calls to function-like macros are missing semicolons
Reviewed-by: pbk, kvn
2009-10-11 16:19:25 -07:00
Vladimir Kozlov
fa2d360cd5 6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag
Matcher::float_in_double should be true only when FPU is used for floats.

Reviewed-by: never, twisti
2010-02-19 10:04:16 -08:00
Christian Thalinger
0c605ed991 6926782: CodeBuffer size too small after 6921352
After 6921352 the CodeBuffer size was too small.

Reviewed-by: kvn, never
2010-02-18 11:35:41 +01:00
Vladimir Kozlov
22409a5704 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
Mark in PcDesc call sites which return oop and save the result oop across objects reallocation during deoptimization.

Reviewed-by: never
2010-02-09 01:31:13 -08:00
Christian Thalinger
918c7a2e33 6921352: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-02-01 19:29:46 +01:00
Eric Caspole
a57d68e35b 4360113: Evict nmethods when code cache gets full
Speculatively unload the oldest nmethods when code cache gets full.

Reviewed-by: never, kvn
2010-01-29 09:27:22 -08:00
Christian Thalinger
9aa675b7e6 6921339: backout 6917766
Reviewed-by: mr
2010-01-29 08:33:24 -08:00
Christian Thalinger
fbc43afae6 6917766: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-01-29 12:13:05 +01: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
Christian Thalinger
caf28727eb 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.

Reviewed-by: kvn, never
2010-01-04 18:38:08 +01:00
John R Rose
e261aecad8 6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -07:00
Vladimir Kozlov
ab7a29cdcc Merge 2009-08-06 09:37:26 -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
Erik Trimble
e846382e12 Merge 2009-07-29 16:00:35 -07:00
Xiomara Jayasena
a63ef10004 6862919: Update copyright year
Update copyright for files that have been modified in 2009, up to 07/09

Reviewed-by: tbell, ohair
2009-07-28 12:12:40 -07:00
Vladimir Kozlov
8dd34cd52f 6860599: nodes limit could be reached during Output phase
Bailout compilation if nodes limit could be reached during Output phase.

Reviewed-by: never, twisti
2009-07-23 14:53:56 -07:00
Vladimir Kozlov
014e5cdefb 6826960: C2 Sparc: assert(bb->_nodes(_bb_end)->is_Proj(),"skipping projections after expected call")
Add the check when a Halt node is placed in a separate block.

Reviewed-by: twisti
2009-04-07 10:05:04 -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
f2f18a01e5 6775880: EA +DeoptimizeALot: assert(mon_info->owner()->is_locked(),"object must be locked now")
Create new "eliminated" BoxLock node for monitor debug info when corresponding locks are eliminated.

Reviewed-by: never
2008-12-03 13:41:37 -08:00
Chuck Rasbold
0e63b7609a 6743900: frequency based block layout
Post-register allocation pass that drives block layout by edge frequencies

Reviewed-by: never, kvn
2008-11-06 14:59:10 -08:00
Tom Rodriguez
429a95440a 6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
2008-10-28 09:31:30 -07:00
Vladimir Kozlov
659ca734bb 6706829: Compressed Oops: add debug info for narrow oops
Add support for narrow oops in debug info to avoid decoding.

Reviewed-by: rasbold, never
2008-09-10 18:23:32 -07:00
Erik Trimble
2d6f42d18c Merge 2008-07-11 01:14:44 -07:00
Xiomara Jayasena
c96a95c4b8 6719955: Update copyright year
Update copyright year for files that have been modified in 2008

Reviewed-by: ohair, tbell
2008-07-02 12:55:16 -07:00
Tom Rodriguez
873da1efe8 6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose
2008-06-24 16:00:14 -07:00
Vladimir Kozlov
757229db71 6695810: null oop passed to encode_heap_oop_not_null
Fix several problems in C2 related to Escape Analysis and Compressed Oops.

Reviewed-by: never, jrose
2008-05-21 10:45:07 -07:00