265 Commits

Author SHA1 Message Date
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
Vladimir Kozlov
310ad38a4b Merge 2012-07-16 19:50:52 -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
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00
Christian Thalinger
301e9f9548 7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
Reviewed-by: kvn
2012-06-13 11:36:03 -07:00
Krystal Mok
529b370174 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Christian Thalinger
36093c2bf6 7174884: C1: failures after 7171890: assert(cur_state != NULL) failed: state_before must be set
Reviewed-by: kvn
2012-06-06 15:57:37 -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
Krystal Mok
20b16ea7aa 7172843: C1: fix "assert(has_printable_bci()) failed: _printable_bci should have been set"
Reviewed-by: twisti
2012-05-30 12:17:07 -07:00
Christian Thalinger
687fab1763 7170145: C1 doesn't respect the JMM with volatile field loads
Reviewed-by: kvn, roland
2012-05-25 11:39:13 -07: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
Tom Rodriguez
dac856d4f2 Merge 2012-03-02 09:13:13 -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
Roland Westrelin
ff47163220 6910461: Register allocator may insert spill code at wrong insertion index
When resolving exception edges after register allocation, the C1 register allocator may insert spill code at the wrong insertion position.

Reviewed-by: kvn, never
2012-02-28 09:13:58 +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
cb7dbaebc9 7143038: SIGSEGV in assert_equal / LinearScan::assign_reg_num
Forced exit may destory global objects that are still in use.

Reviewed-by: twisti, never, kvn
2012-02-16 09:20:40 +01: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
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