396 Commits

Author SHA1 Message Date
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
Tom Rodriguez
5a41427b37 7141200: log some interesting information in ring buffers for crashes
Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa
2012-02-01 07:59:01 -08: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
84dda879d0 7131259: compile_method and CompilationPolicy::event shouldn't be declared TRAPS
Make sure that CompilationPolicy::event() doesn't throw exceptions

Reviewed-by: kvn, never
2012-01-26 12:15:24 -08:00
Igor Veresov
55c9a74046 7131028: Switch statement takes wrong path
Pass correct type to branch in LIRGenerator::do_SwitchRanges()

Reviewed-by: kvn, never
2012-01-20 15:02:12 -08:00
Roland Westrelin
59b883333b 7123253: C1: in store check code, usage of registers may be incorrect
Fix usage of input register in assembly code for store check.

Reviewed-by: never
2011-12-23 09:36:23 +01:00
Roland Westrelin
c10042bc68 7123108: C1: assert(if_state != NULL) failed: states do not match up
In CEE, ensure if and common successor state are at the same inline level

Reviewed-by: never
2011-12-22 10:55:53 +01:00
Stefan Karlsson
e057d60ca1 7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.

Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Roland Westrelin
ebdae40c34 7114106: C1: assert(goto_state->is_same(sux_state)) failed: states must match now
Fix C1's CEE to take inlining into account when the stacks in states are compared.

Reviewed-by: iveresov, never
2011-12-13 10:54:47 +01: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
5a2f55d0e0 7104177: Tiered: -XX:+PrintCanonicalization doesn't work with -XX:+TieredCompilation
Initialize printable_bci of instruction when passed to Canonicalizer

Reviewed-by: kvn, never
2011-10-27 14:40:25 -07:00
Christian Thalinger
6d1f314a4b 7102657: JSR 292: C1 deoptimizes unlinked invokedynamic call sites infinitely
Reviewed-by: never, bdelsart
2011-10-27 04:43:37 -07:00
Bertrand Delsart
fa43b0cdd8 7096366: PPC: corruption of floating-point values with DeoptimizeALot
Fix for a deoptimization found on PPC, which could impact other big endian platforms

Reviewed-by: roland, dholmes
2011-10-07 13:28:44 +02: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
Igor Veresov
0219cf5423 7096639: Tiered: Incorrect counter overflow handling for inlined methods
Enable invocation events for inlinees

Reviewed-by: kvn
2011-09-29 23:09:54 -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
Igor Veresov
9661feecbc 7091764: Tiered: enable aastore profiling
Turn on aastore profiling

Reviewed-by: jrose, twisti
2011-09-19 15:21:03 -07:00
Bertrand Delsart
fcc31d9741 7057978: improve robustness of c1 ARM back-end wrt non encodable constants
ARM only, avoid assertion failures for huge constants generated by C1 shared code

Reviewed-by: never, vladidan
2011-09-14 10:40:13 +02:00
Tom Rodriguez
edb7b9514a 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244)
Reviewed-by: kvn
2011-09-05 17:09:05 -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
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