56 Commits

Author SHA1 Message Date
Aleksey Shipilev
fbff3b73a4 8032490: Remove -XX:+-UseOldInlining
Move the option to obsolete options list, purge the redundant compiler code.

Reviewed-by: kvn, jrose
2014-01-24 15:26:56 +04:00
Rickard Bäckman
57e01f1502 8028997: mathexact intrinsics are unstable
Reviewed-by: iveresov, kvn
2013-11-22 14:14:26 +01:00
Roland Westrelin
1b5bd82335 8024070: C2 needs some form of type speculation
Record unused type profile information with type system, propagate and use it.

Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02:00
Roland Westrelin
3f8ae3e9b9 8024069: replace_in_map() should operate on parent maps
Type information gets lost because replace_in_map() doesn't update parent maps

Reviewed-by: kvn, twisti
2013-10-19 12:16:43 +02:00
Rickard Bäckman
441f1d74cf 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Niclas Adlertz
bcdf7e7a4d 8010941: MinJumpTableSize is set to 18, investigate if that's still optimal
Lowered the MinJumpTableSize for each platform

Reviewed-by: kvn
2013-09-11 09:34:00 +02:00
Vladimir Ivanov
f0e77ac67f 8001107: @Stable annotation for constant folding of lazily evaluated variables
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: rbackman, twisti, kvn
2013-09-10 14:51:48 -07:00
Vladimir Kozlov
20f7d1a82a 8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag.

Reviewed-by: roland
2013-08-14 10:21:26 -07:00
David Chase
219121826e 8014959: assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
Insert extra checks and bailouts for too many nodes

Reviewed-by: kvn
2013-06-11 16:34:34 -04:00
Vladimir Kozlov
b4977e887a 6934604: enable parts of EliminateAutoBox by default
Resurrected autobox elimination code and enabled part of it by default.

Reviewed-by: roland, twisti
2013-05-08 15:08:01 -07:00
Aleksey Shipilev
4b638cf955 8009120: Fuzz instruction scheduling in HotSpot compilers
Reviewed-by: kvn, vlivanov
2013-03-05 04:24:50 -08:00
Roland Westrelin
c401bf065d 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Add support for expensive nodes.

Reviewed-by: kvn
2013-02-12 12:56:11 +01:00
Vladimir Kozlov
9e0c61f822 6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.

Reviewed-by: roland
2013-01-22 15:34:16 -08:00
Roland Westrelin
73d6d417be 8005071: Incremental inlining for JSR 292
Post parse inlining driven by number of live nodes.

Reviewed-by: twisti, kvn, jrose
2012-12-23 17:08:22 +01:00
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
Vladimir Kozlov
4531e51fc4 7163534: VM could crashes assert(false) failed: infinite EA connection graph build
In case of time or iterations limit reached C2 stops EA and continue compilation without EA as it does in product VM already.

Reviewed-by: twisti
2012-10-25 17:32:03 -07:00
Vladimir Kozlov
25f18c20d9 7199010: incorrect vector alignment
Fixed vectors alignment when several arrays are accessed in one loop.

Reviewed-by: roland, twisti
2012-09-19 16:50:26 -07:00
Aleksey Shipilev
3874f44d1c 7198499: TraceTypeProfile as diagnostic option
Reviewed-by: kvn
2012-09-19 10:38:12 -07:00
Tao Mao
447e7065d2 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
Reviewed-by: kvn, dholmes, coleenp
2012-08-27 15:17:17 -07:00
Vladimir Kozlov
b5b10846c2 7177923: SIGBUS on sparc in compiled code for java.util.Calendar.clear()
Disable vectorization of a memory access with more elements per vector than one which is used for alignment on sparc

Reviewed-by: twisti
2012-06-19 15:12:56 -07:00
Vladimir Kozlov
d1191bb4f4 7119644: Increase superword's vector size up to 256 bits
Increase vector size up to 256-bits for YMM AVX registers on x86.

Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Vladimir Kozlov
e5f92a2396 7147744: CTW: assert(false) failed: infinite EA connection graph build
Rewrote Connection graph construction code in EA to reduce time spent there.

Reviewed-by: never
2012-03-12 10:46:47 -07: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
6b52dbceb0 7105605: Use EA info to optimize pointers compare
Optimize pointers compare using EA information.

Reviewed-by: never, twisti
2011-11-14 18:38:03 -08:00
Tom Rodriguez
5dc4f00ff5 7103784: enable some flags by default
Reviewed-by: kvn
2011-10-23 20:23:14 -07:00
Kurt Miller
95c56a472b 7089790: integrate bsd-port changes
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Jung-uk Kim <jkim@freebsd.org>
Co-authored-by: Christos Zoulas <christos@zoulas.com>
Co-authored-by: Landon Fuller <landonf@plausible.coop>
Co-authored-by: The FreeBSD Foundation <board@freebsdfoundation.org>
Co-authored-by: Michael Franz <mvfranz@gmail.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Alexander Strange <astrange@apple.com>
Reviewed-by: kvn, twisti, jrose
2011-09-25 16:03:29 -07: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
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
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
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
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
Tom Rodriguez
08d9e03b81 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
2010-08-27 17:33:49 -07:00
Tom Rodriguez
a54b1ff70e 6978249: spill between cpu and fpu registers when those moves are fast
Reviewed-by: kvn
2010-08-19 14:51:47 -07:00
Vladimir Kozlov
5bed80aab9 6973963: SEGV in ciBlock::start_bci() with EA
Added more checks into ResourceObj and growableArray to verify correctness of allocation type.

Reviewed-by: never, coleenp, dholmes
2010-08-03 15:55:03 -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
Vladimir Kozlov
5f8098a402 6940701: Don't align loops in stubs for Niagara sparc
Don't align loops in stubs for Niagara sparc since NOPs are expensive.

Reviewed-by: twisti, never
2010-04-07 09:37:47 -07:00
Changpeng Fang
815db4fcba 6894779: Loop Predication for Loop Optimizer in C2
Loop predication implementation

Reviewed-by: never, kvn
2010-01-12 14:37:35 -08:00
Changpeng Fang
a3b6bcb4a8 6904191: OptimizeStringConcat should be product instead of experimental
Make OptimizeStringConcat a product VM option(contributed by never)

Reviewed-by: never
2009-11-25 12:09:02 -08:00
Tom Rodriguez
9db2092b1b 6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
2009-11-12 09:24:21 -08:00
Vladimir Kozlov
15b6cdf897 6873799: enable escape analysis by default
Enable escape analysis by default

Reviewed-by: never
2009-08-19 19:05:18 -07:00
Vladimir Kozlov
68cf08d2c3 6810845: Performance regression in mpegaudio on x64
Used the outer loop frequency in frequencies checks in RA.

Reviewed-by: never, twisti
2009-03-26 15:04:55 -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
Vladimir Kozlov
49ee6acaa2 6782232: assert("CreateEx must be first instruction in block" )
Add the missing check for CreateEx. Add new notproduct flag VerifyRegisterAllocator.

Reviewed-by: never
2009-01-07 11:04:45 -08:00
Vladimir Kozlov
f2c8d25c73 6772413: code cleanup
Removed lines in adm64.make with interpret.o and moved few constant strings from header files.

Reviewed-by: never
2008-11-18 12:31:53 -08:00
Vladimir Kozlov
7aae40a95f 6462850: generate biased locking code in C2 ideal graph
Inline biased locking code in C2 ideal graph during macro nodes expansion

Reviewed-by: never
2008-11-07 09:29:38 -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
Vladimir Kozlov
5e94e3bf69 6732312: Switch off executing Escape Analysis by default
Switch off executing Escape Analysis by default for now

Reviewed-by: rasbold
2008-07-31 15:47:42 -07:00
Vladimir Kozlov
50c4a23cac 6726999: nsk/stress/jck12a/jck12a010 assert(n != null,"Bad immediate dominator info.")
Escape Analysis fixes.

Reviewed-by: never, rasbold
2008-07-28 17:12:52 -07:00
Vladimir Kozlov
c5b951e990 Merge 2008-07-11 12:19:29 -07:00