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
Christian Thalinger
b9eb5785cc
7187290: nightly failures after JSR 292 lazy method handle update
...
Reviewed-by: kvn, twisti
2012-07-27 16:14:15 -07:00
Christian Thalinger
12901d0e5b
7023639: JSR 292 method handle invocation needs a fast path for compiled code
...
6984705: JSR 292 method handle creation should not go through JNI
Remove assembly code for JDK 7 chained method handles
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Michael Haupt
e0cf9c652d
6711908: JVM needs direct access to some annotations
...
Add annotation extraction code to class file parser.
Reviewed-by: twisti, jrose, kvn
2012-07-12 00:39:53 -07:00
Krystal Mok
529b370174
7174218: remove AtomicLongCSImpl intrinsics
...
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Krystal Mok
6d29429c4e
7171890: C1: add Class.isInstance intrinsic
...
Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation
Reviewed-by: roland
2012-06-05 10:15:27 +02:00
Roland Westrelin
b305cf722e
7133857: exp() and pow() should use the x87 ISA on x86
...
Use x87 instructions to implement exp() and pow() in interpreter/c1/c2.
Reviewed-by: kvn, never, twisti
2012-05-15 10:10:23 +02:00
Rickard Bäckman
cf406f37e3
7160570: Intrinsification support for tracing framework
...
Reviewed-by: sla, never
2012-03-06 12:36:59 +01:00
Jiangli Zhou
4a02eb3afe
7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass
...
Change implementor to embedded instanceKlass field.
Reviewed-by: sspitsyn, minqi, coleenp
2012-03-29 22:18:56 -04:00
Tom Rodriguez
2e8a110092
Merge
2012-03-02 13:13:25 -08:00
Roland Westrelin
607f822b20
6910464: Lookupswitch and Tableswitch default branches not recognized as safepoints
...
C1 does not recognize the default branch of a lookupswitch or tableswitch bytecode to be a safepoint if backward.
Reviewed-by: kvn, never
2012-03-02 16:04:24 +01:00
Jiangli Zhou
3e904497b1
7120481: storeStore barrier in constructor with final field
...
Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
2012-02-21 13:14:55 -05:00
Roland Westrelin
e6f3ba89ec
7126041: jdk7u4 b05 and b06 crash with RubyMine 3.2.4, works well with b04
...
Goto that replaces a If mistaken to be a back branch and triggers erroneous OSR compilation.
Reviewed-by: never, iveresov
2012-02-15 09:43:16 +01:00
Roland Westrelin
a59952f4c9
7090976: Eclipse/CDT causes a JVM crash while indexing C++ code
...
Too optimistic inlining decision confuses local value numbering.
Reviewed-by: never
2012-02-01 10:36:58 +01:00
Christian Thalinger
2fd128fe15
7132180: JSR 292: C1 JVM crash with ClassValue/MethodHandle
...
Reviewed-by: never
2012-01-31 09:53:46 -08:00
Igor Veresov
b6ce13798b
7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
...
Move the inlinee invoke notification callback into inlinee preamble
Reviewed-by: kvn, never
2011-11-16 19:42:58 -08:00
Igor Veresov
a4975758bb
7097679: Tiered: events with bad bci to Gotos reduced from Ifs
...
Save bci of instruction that produced Goto and use it to call back to runtime
Reviewed-by: kvn, never
2011-10-04 10:07:07 -07:00
Christian Thalinger
db44acbeb4
7085404: JSR 292: VolatileCallSites should have push notification too
...
Reviewed-by: never, kvn
2011-09-02 00:36:18 -07:00
Christian Thalinger
fcc2a86582
7079673: JSR 292: C1 should inline bytecoded method handle adapters
...
Reviewed-by: never
2011-09-01 01:31:25 -07:00
Christian Thalinger
05b60b3662
7078382: JSR 292: don't count method handle adapters against inlining budgets
...
Reviewed-by: kvn, never
2011-08-31 01:40:45 -07:00
Tom Rodriguez
e30a679033
7060619: C1 should respect inline and dontinline directives from CompilerOracle
...
Reviewed-by: kvn, iveresov
2011-07-28 13:03:39 -07:00
Igor Veresov
47caaa4c06
7057120: Tiered: Allow C1 to inline methods with loops
...
Recompile the enclosing methods without inlining of the method that has OSRed to level 4 or recompile the enclosing method at level 4.
Reviewed-by: kvn, never
2011-07-01 10:37:37 -07:00
John Cuthbertson
7c844aba67
Merge
2011-04-14 13:45:41 -07:00
Jon Masamitsu
b6e631d446
Merge
2011-04-08 14:19:50 -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
Roland Westrelin
f94d7776ca
7033154: Improve C1 arraycopy performance
...
Better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
2011-04-03 12:00:54 +02:00
Christian Thalinger
f51036e9bc
7022998: JSR 292 recursive method handle calls inline themselves infinitely
...
Reviewed-by: never, kvn
2011-03-28 03:58:07 -07:00
Tom Rodriguez
6e8a263a06
7017732: move static fields into Class to prepare for perm gen removal
...
Reviewed-by: kvn, coleenp, twisti, stefank
2011-03-18 16:00:34 -07:00
Tom Rodriguez
84ef74286f
6965570: assert(!needs_patching && x->is_loaded(),"how do we know it's volatile if it's not loaded")
...
Reviewed-by: iveresov
2011-03-06 22:09:23 -08:00
Tom Rodriguez
83661087ea
7021603: crash in fill_sync_handler with ExtendedDTrace probes
...
Reviewed-by: iveresov
2011-02-24 11:09:16 -08:00
Tom Rodriguez
0f21994955
Merge
2011-01-21 13:03:13 -08:00
Tom Rodriguez
84536ec263
6809483: hotspot:::method_entry are not correctly generated for "method()V"
...
Reviewed-by: iveresov, twisti
2011-01-21 13:01:02 -08:00
Tom Rodriguez
423f587b01
4926272: methodOopDesc::method_from_bcp is unsafe
...
Reviewed-by: coleenp, jrose, kvn, dcubed
2011-01-13 22:15:41 -08: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
Igor Veresov
d59d7ffc4a
6985015: C1 needs to support compressed oops
...
This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
2010-11-30 23:23:40 -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
Igor Veresov
8309071a08
6988346: 6986046 breaks tiered
...
Adjusted profiling code generation to use the new ValueStack implementation; lowered optimization level for c1_LinearScan.cpp on solaris x64.
Reviewed-by: kvn, never
2010-09-29 16:53:42 -07:00
Christian Wimmer
9b131fbbb8
6986046: C1 valuestack cleanup
...
Fixes an historical oddity in C1 with inlining where all of the expression stacks are kept in the topmost ValueStack instead of being in their respective ValueStacks.
Reviewed-by: never
2009-12-29 19:08:54 +01:00
Igor Veresov
aa21a39d97
6919069: client compiler needs to capture more profile information for tiered work
...
Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
2010-09-13 12:10:49 -07:00
Igor Veresov
2c66a6c3fd
6953144: Tiered compilation
...
Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
2010-09-03 17:51:07 -07:00
John R Rose
1f4cfb029b
6939203: JSR 292 needs method handle constants
...
Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.
Reviewed-by: twisti, never
2010-06-09 18:50:45 -07:00
Igor Veresov
00b75f8353
6958292: C1: Enable parallel compilation
...
Enable parallel compilation in C1
Reviewed-by: never, kvn
2010-06-04 11:18:04 -07:00
John R Rose
d6a9b93b5a
Merge
2010-06-02 22:45:42 -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