275 Commits

Author SHA1 Message Date
Christian Thalinger
fcc2a86582 7079673: JSR 292: C1 should inline bytecoded method handle adapters
Reviewed-by: never
2011-09-01 01:31:25 -07:00
Tom Rodriguez
fa7c124af1 7083786: dead various dead chunks of code
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -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
Igor Veresov
5903a384b4 7085279: C1 overflows code buffer with VerifyOops and CompressedOops
Increase the limit of code emitted per LIR instruction, increase the max size of the nmethod generated by C1

Reviewed-by: never, kvn, johnc
2011-08-30 19:01:58 -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
Tom Rodriguez
2337123692 6478991: C1 NullCheckEliminator yields incorrect exceptions
Reviewed-by: twisti, iveresov
2011-07-05 16:07:54 -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
Christian Thalinger
5919a613cc 7053520: JSR292: crash in invokedynamic with C1 using tiered and compressed oops
Reviewed-by: iveresov, never
2011-06-14 12:25:05 -07:00
Igor Veresov
bb2c21a025 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp
Handle IfOps folding properly in case of unloaded constant oop arguments

Reviewed-by: kvn, never
2011-05-06 12:12:29 -07:00
Vladimir Danushevsky
e074254d05 Merge 2011-04-23 00:33:38 -04:00
Jon Masamitsu
8328bb291e Merge 2011-04-20 20:32:45 -07:00
Vladimir Danushevsky
46259d93ba 7035861: linux-armsflt: assert(ni->data() == (int)(x + o)) failed: instructions must match
The change avoids generating relocation info entry for the staging area patching stub on systems that don't support movw/movt instructions

Reviewed-by: bdelsart
2011-04-20 14:07:57 -04:00
John Cuthbertson
7c844aba67 Merge 2011-04-14 13:45:41 -07:00
Vladimir Danushevsky
0ab6045255 Merge 2011-04-14 11:02:05 -04:00
John Cuthbertson
20a3437a74 7035117: G1: nsk/stress/jni/jnistress002 fails with assertion failure
Allow long type for offset in G1 code in compiler implementations of Unsafe.getObject

Reviewed-by: never, iveresov
2011-04-13 17:56:43 -07:00
Vladimir Danushevsky
bea445368e 7005865: Crash when running with PrintIRWithLIR
The failure is caused by uninitialized bci number

Reviewed-by: iveresov
2011-04-11 23:02:37 -04:00
John R Rose
41745904a3 Merge 2011-04-09 21:16:12 -07:00
Igor Veresov
e8447846ee 7034967: C1: assert(false) failed: error (assembler_sparc.cpp:2043)
Fix -XX:+VerifyOops

Reviewed-by: kvn, never
2011-04-08 17:03:31 -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
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
Tom Rodriguez
3327aeff0c 6528013: C1 CTW failure with -XX:+VerifyOops assert(allocates2(pc),"")
Reviewed-by: kvn, iveresov
2011-04-04 19:03:35 -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
Christian Thalinger
51f5142db1 Merge 2011-03-18 01:44:15 -07:00
John R Rose
f6344076f2 7012648: move JSR 292 to package java.lang.invoke and adjust names
Package and class renaming only; delete unused methods and classes

Reviewed-by: twisti
2011-03-11 22:34:57 -08:00
Vladimir Danushevsky
594cddaa6b 7011490: Wrong computation results in Test6880034
Incorrect handling of c2i deoptimization on little endian architectures

Reviewed-by: never
2011-03-10 14:56:11 -05: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
Christian Thalinger
cd6c0b147e 7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
Reviewed-by: never, bdelsart
2011-02-28 06:07:12 -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
Vladimir Kozlov
ddd4d3ad73 Merge 2011-02-14 14:36:29 -08:00
Igor Veresov
6782422f01 7017434: Tiered needs to support reprofiling
Tiered needs to support proper method reprofiling after deopts.

Reviewed-by: kvn
2011-02-09 16:34:34 -08: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
Tom Rodriguez
4739203b6c 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
2011-01-24 13:34:18 -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
Daniel D. Daugherty
6215ab50b3 Merge 2011-01-10 09:23:20 -08:00
David Holmes
5d2936a29c 7010665: Misplaced membar in C1 implementation of Unsafe.get/putXXX
Modify membars to match regular volatile variable handling

Reviewed-by: iveresov, kvn, never
2011-01-09 17:16:16 -05:00
Daniel D. Daugherty
0c7a73dc8c Merge 2011-01-07 15:54:32 -08:00
Bob Vandette
c14e8eb4f2 7009268: guarantee(middle - slop > start) failed: need enough space to divide up
Codebuffer can overflow on test with large number of calls

Reviewed-by: dholmes, collins
2011-01-07 12:44:54 -05:00
Igor Veresov
34b0ff28e8 7009849: C1: Incorrect frame size computation
Fix frame size computation

Reviewed-by: phh, kvn
2010-12-30 23:44:45 -08:00
Igor Veresov
43280aa63e 7009231: C1: Incorrect CAS code for longs on SPARC 32bit
Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.

Reviewed-by: kvn
2010-12-27 21:51:31 -08:00
Tom Rodriguez
ecddc15f7c 6579789: Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM
Reviewed-by: kvn, iveresov
2010-12-17 15:55:32 -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
5c238caed1 7000349: Tiered reacts incorrectly to C1 compilation failures
Fix policy reaction to C1 comilation failures, make C1 properly report errors.

Reviewed-by: kvn
2010-11-16 15:57:16 -08:00
Tom Rodriguez
1d8c677377 6968367: can_post_on_exceptions is still using VM_DeoptimizeFrame in some places
Reviewed-by: kvn, twisti
2010-10-19 16:14:34 -07:00