Jesper Wilhelmsson
1a5787d42e
Merge
2015-11-05 19:31:57 +01:00
Nils Eliasson
5a5faf94bf
8137167: JEP165: Compiler Control: Implementation task
...
Compiler Control JEP
Reviewed-by: roland, twisti, zmajo, simonis
2015-10-20 18:07:28 +02:00
Goetz Lindenmaier
83b3b21342
8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux
...
Reviewed-by: stuefe, coleenp, roland
2015-10-22 13:07:10 -04:00
Jesper Wilhelmsson
e75e2e04f7
Merge
2015-10-07 01:03:24 +02:00
David Lindholm
1e71f67736
8080775: Better argument formatting for assert() and friends
...
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Nils Eliasson
5ca8983920
8135068: Extract method matchers from CompilerOracle
...
Ecapsulate code to enable reuse
Reviewed-by: roland, kvn
2015-09-18 10:11:11 +02:00
Nils Eliasson
559bf7ef6e
8135067: Preparatory refactorings for compiler control
...
Extract CompileTask and clean up
Reviewed-by: roland
2015-09-04 12:47:57 +02:00
Zoltan Majo
26cd440c55
8132457: Unify command-line flags controlling the usage of compiler intrinsics
...
Cleanup processing of command-line flags controlling intrinsics.
Reviewed-by: kvn
2015-08-03 09:39:29 +02:00
Zoltan Majo
422cd18f23
8130832: Extend the WhiteBox API to provide information about the availability of compiler intrinsics
...
Add a new method, sun.hotspot.WhiteBox.isIntrinsicAvailable, that can be used to determine if an intrinsic is available.
Reviewed-by: kvn, jrose
2015-07-28 19:20:42 +02:00
Zoltan Majo
9245cdc214
8076112: Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
...
Annotate possibly intrinsified methods with @HotSpotIntrinsicCandidate. Add checks omitted by intrinsics to the library code. Add CheckIntrinsics flags to check consistency of intrinsics.
Reviewed-by: jrose, kvn, thartmann, vlivanov, abuckley, darcy, ascarpino, briangoetz, alanb, aph, dnsimon
2015-07-03 07:25:03 +02:00
Zoltan Majo
a452b030ce
8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
...
Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.
Reviewed-by: kvn, roland, dlong, enevill, shade
2015-04-27 10:49:43 +02:00
Andrew Haley
1dfbc44c1f
8026049: (bf) Intrinsify ByteBuffer.put{Int, Double, Float, ...} methods
...
Use unaligned Unsafe loads and stores for ByteBuffer access on platforms which support unaligned access. Add intrinsics for Unsafe.{get,put}-X-Unaligned methods.
Reviewed-by: dholmes, jrose, psandoz, kvn
2015-03-31 12:31:18 -07:00
Igor Ignatyev
140bf2be86
8073607: add trace events for inlining
...
Reviewed-by: kvn, fzhinkin, mgronlun
2015-03-13 21:53:13 +03:00
Jesper Wilhelmsson
d7f5fccbc6
Merge
2015-02-16 21:24:39 +01:00
Stefan Karlsson
4913ad5d7d
8072911: Remove includes of oop.inline.hpp from .hpp files
...
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Paul Sandoz
c002e71565
8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
...
Reviewed-by: kvn, vlivanov
2015-02-10 21:32:05 +01:00
Serguei Spitsyn
b0367c3bea
Merge
2014-07-18 23:53:59 -07:00
Coleen Phillimore
c9b2bc62c9
Merge
2014-07-14 10:15:21 -04:00
Vladimir Ivanov
c24909197f
8049532: LogCompilation: C1: inlining tree is flat (no depth is stored)
...
Reviewed-by: roland, iveresov
2014-07-14 03:28:13 -07:00
Vladimir Ivanov
3dd313825d
8043546: C1 optimizes @Stable instance fields with default values
...
Reviewed-by: kvn, jrose
2014-07-14 03:25:40 -07:00
Goetz Lindenmaier
25f33c005d
8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories
...
Introduce and clean up umbrella headers for the files in the cpu subdirectories.
Reviewed-by: lfoltan, coleenp, dholmes
2014-07-04 11:46:01 +02:00
Roland Westrelin
b5e96ad985
8046542: [I.finalize() calls from methods compiled by C1 do not cause IllegalAccessError on Sparc
...
Call to Object.finalize() sometimes allowed by compilers on array type
Reviewed-by: iveresov, vlivanov
2014-07-02 22:54:18 +02:00
Rickard Bäckman
0915147727
8031994: java/lang/Character/CheckProp test times out
...
Reviewed-by: iveresov, roland
2014-06-04 10:01:28 +02:00
Roland Westrelin
633a96c2e3
8041481: JVM crashes with collect_args_for_profiling
...
Method handle call to c1 intrinsic tries to profile popped argument
Reviewed-by: kvn, twisti
2014-04-25 09:22:16 +02:00
Vladimir Ivanov
132fd335eb
8035887: VM crashes trying to force inlining the recursive call
...
Reviewed-by: kvn, twisti
2014-03-04 02:19:04 -08:00
Aleksey Shipilev
1d10b6813e
8031818: Experimental VM flag for enforcing safe object construction
...
-XX:+AlwaysSafeConstructors to unconditionally emit the trailing constructor barrier.
Reviewed-by: kvn, roland
2014-03-03 15:31:27 +04:00
Markus Grönlund
68857c9469
8035493: JVMTI PopFrame capability must instruct compilers not to prune locals
...
Reviewed-by: kvn, sla, coleenp, sspitsyn
2014-02-22 10:22:05 +01:00
Roland Westrelin
e9b5199781
8028064: tiered may collect wrong receiver type at virtual call
...
When unique callee is known at compile time, recorded class may be wrong
Reviewed-by: kvn, iveresov
2014-01-07 14:36:34 +01:00
Roland Westrelin
31d2d5121a
8027632: assert(xtype->klass_is_exact()) failed: Should be exact at graphKit.cpp
...
Receiver type collected by profiling for default method may be interface
Reviewed-by: kvn, iveresov
2013-11-12 13:58:37 +01:00
Igor Veresov
e43ac25584
8026735: Stream tests throw java.lang.IncompatibleClassChangeError
...
Put a band-aid to disable CHA-based inlining for interfaces with default methods in C1
Reviewed-by: kvn, twisti
2013-10-30 22:55:11 -07:00
Vladimir Ivanov
cb5592b08e
8012941: JSR 292: too deep inlining might crash compiler because of stack overflow
...
Reviewed-by: kvn, twisti
2013-10-23 20:20:03 +04:00
Roland Westrelin
b94884a330
8026251: New type profiling points: parameters to methods
...
X86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by: kvn, twisti
2013-10-22 09:51:47 +02:00
Roland Westrelin
c8bfc7e7d7
8026054: New type profiling points: type of return values at calls
...
X86 interpreter and c1 type profiling for return values at calls
Reviewed-by: kvn, twisti
2013-10-12 12:12:59 +02:00
Roland Westrelin
cbd0e9bf96
8023657: New type profiling points: arguments to call
...
X86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
2013-10-09 16:32:21 +02:00
Vladimir Kozlov
0ccb2841ea
8022585: VM crashes when ran with -XX:+PrintInlining
...
Use adr_at() to access inline info structures in growableArray. Add ability to specify print inlining per method.
Reviewed-by: twisti
2013-09-24 16:08:00 -07:00
Rickard Bäckman
6ef251ac19
8022283: Assertion failed: assert(is_loaded() && field->holder()->is_loaded() && klass()->is_subclass_of (field->holder())) failed: invalid access
...
Reviewed-by: roland, twisti
2013-08-20 09:37:01 +02:00
Roland Westrelin
f188c2bf70
7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
...
Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
2013-08-21 13:34:45 +02:00
David Chase
9a359984c2
7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
...
Add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti
2013-07-02 20:42:12 -04:00
Thomas Wuerthinger
06ef4cddf7
7153771: array bound check elimination for c1
...
When possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
2013-03-21 09:27:54 +01:00
Igor Ignatyev
1a9e6be809
8005439: no message about inline method if it specifed by CompileCommand
...
Reviewed-by: kvn, vlivanov
2013-02-01 03:02:01 -08:00
Vladimir Ivanov
f8b9f3900c
8006095: C1: SIGSEGV w/ -XX:+LogCompilation
...
Avoid printing inlining decision when compilation fails
Reviewed-by: kvn, roland
2013-01-14 08:22:32 -08:00
Aleksey Shipilev
4c293ebcd6
8004318: JEP-171: Support Unsafe fences intrinsics
...
Add three memory-ordering intrinsics to the sun.misc.Unsafe class.
Reviewed-by: twisti, kvn
2012-12-18 17:37:44 -08:00
Bharadwaj Yadavalli
4b288c8976
8001077: remove ciMethod::will_link
...
Removed will_link and changed all calls to is_loaded().
Reviewed-by: kvn
2012-11-15 10:42:06 -08:00
Christian Thalinger
65c20a5492
8000821: JSR 292: C1 fails to call virtual method (JRUBY-6920)
...
Reviewed-by: kvn
2012-10-22 16:56:03 -07:00
Vladimir Ivanov
822deb6ee6
7177003: C1: LogCompilation support
...
Add LogCompilation support in C1 - both client and tiered mode.
Reviewed-by: twisti, kvn
2012-10-05 18:57:10 -07:00
Roland Westrelin
302540691b
7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
...
Use shorter instruction sequences for atomic add and atomic exchange when possible.
Reviewed-by: kvn, jrose
2012-09-20 16:49:17 +02: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
Christian Thalinger
40c1bd4242
7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites
...
Reviewed-by: kvn
2012-08-28 15:24:39 -07:00
Christian Thalinger
a14e902e92
7192167: JSR 292: C1 has old broken code which needs to be removed
...
Reviewed-by: kvn, roland, jrose
2012-08-21 10:48:50 -07:00
Vladimir Kozlov
04c6a7ce10
7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
...
In C2 add software membar after load from Reference.referent field to prevent commoning of loads across safepoint since GC can change its value. In C1 always generate Reference.get() intrinsic.
Reviewed-by: roland, twisti, dholmes, johnc
2012-08-20 09:58:58 -07:00