989 Commits

Author SHA1 Message Date
Harold Seigel
b2c117b170 Merge 2014-02-23 13:16:03 -05: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
Vladimir Kozlov
4200d0d095 Merge 2014-02-20 12:20:56 -08:00
Goetz Lindenmaier
a5520f1c94 8035394: PPC64: Make usage of intrinsic dsqrt depend on processor recognition
Reviewed-by: kvn
2014-02-20 11:05:12 +01:00
Vladimir Kozlov
5117e1a805 Merge 2014-02-19 12:08:49 -08:00
Henry Jen
a752b0b503 8033215: clang: node.cpp:284 IDX_INIT macro use uninitialized field _out
Reviewed-by: twisti, kvn
2014-02-11 21:32:19 -08:00
Niclas Adlertz
94a86285a7 8010500: [parfait] Possible null pointer dereference at hotspot/src/share/vm/opto/loopnode.hpp
Added NULL check for loopnode() in get_pre_loop_end()

Reviewed-by: kvn, roland
2014-02-26 07:46:46 +01:00
Roland Westrelin
84c68fc78a Merge 2014-02-25 10:42:25 -08:00
Roland Westrelin
493557fc90 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Support for speculative traps that keep track of the root of the compilation in which a trap occurs.

Reviewed-by: kvn, twisti
2014-02-25 18:16:24 +01:00
Niclas Adlertz
5d4b624caf 8033260: assert(lrg._area >= 0.0) failed: negative spill area
Change type from float to double on block frequency, and add check for +Inf - +Inf operation

Reviewed-by: kvn, roland
2014-02-25 17:51:27 +01:00
Niclas Adlertz
532b570e81 8032656: Tag the MachSpillCopies with purpose information
Subclassed the MachSpillCopyNode with different subnodes for different spill purposes to enhance debugging / visualization

Reviewed-by: kvn, roland
2014-02-25 14:09:02 +01:00
Niclas Adlertz
e3931e81eb 8032894: Remove dead code in Pressure::lower
Remove dead code in Pressure::lower

Reviewed-by: kvn, roland
2014-02-25 10:26:21 +01:00
Vladimir Kozlov
7d92dc4d79 Merge 2014-01-28 12:28:17 -08:00
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08:00
Vladimir Kozlov
a354960abb 8032566: Crash in JIT when running Scala compiler (and compiling Scala std lib)
Switch off EliminateAutoBox flag by default in jdk8 release.

Reviewed-by: iveresov
2014-01-27 10:20:51 -08:00
Niclas Adlertz
970a35292b 8031498: Cleanup and re-factorize PhaseChaitin::build_ifg_physical
Created sub-functions, added data structures, improved naming and removed unnecessary code

Reviewed-by: kvn, roland, rbackman
2014-01-24 13:06:52 +01:00
Aleksey Shipilev
fbff3b73a4 8032490: Remove -XX:+-UseOldInlining
Move the option to obsolete options list, purge the redundant compiler code.

Reviewed-by: kvn, jrose
2014-01-24 15:26:56 +04:00
Roland Westrelin
c19a7e0fa3 8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Type methods shouldn't always operate on speculative part

Reviewed-by: kvn, twisti
2014-01-24 09:31:53 +01:00
Rickard Bäckman
0b85ee832e 8027754: Enable loop optimizations for loops with MathExact inside
Reviewed-by: kvn, iveresov
2014-01-23 12:08:28 +01:00
Martin Doerr
0306737032 8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes
Reviewed-by: dholmes, kvn
2014-01-16 14:25:51 +01:00
Jesper Wilhelmsson
81ba2e32c0 8025856: Fix typos in the GC code
Fix about 440 typos in comments in the VM code

Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
2014-01-23 14:47:23 +01:00
Shrinivas Joshi
d4c9d3889b 8002074: Support for AES on SPARC
Add intrinsics/stub routines support for single-block and multi-block (as used by Cipher Block Chaining mode) AES encryption and decryption operations on the SPARC platform.

Reviewed-by: kvn, roland
2014-01-14 17:46:48 -08:00
Roland Westrelin
14578d5ae9 8029464: assert(ft == ttkp->cast_to_ptr_type(jtkp->ptr()) || ft->isa_narrowoop()
Fix the assert check for narrow klass pointer.

Reviewed-by: twisti, kvn
2014-01-13 16:16:25 -08:00
Vladimir Kozlov
ba7149bbda 8028468: Add inlining information into ciReplay
Allow dump and replay inlining for specified method during a program execution.

Reviewed-by: roland, twisti
2014-01-08 10:25:50 -08:00
Niclas Adlertz
1defb28228 8029446: assert(_cfg.get_block_for_node(proj) == borig) failed: incorrect block for kill projections
Added loadConP0 projection node to block in case of re-materialization of the loadConP0. x86_64 only.

Reviewed-by: kvn
2014-01-08 12:05:19 +01:00
Roland Westrelin
417b5f07b7 8027571: fatal error: meet not symmetric
Meet of one constant array and one exact array not symmetric.

Reviewed-by: kvn
2014-01-07 16:02:10 +01:00
Christian Thalinger
76a9fa693d 8029305: add type tag to AbstractCompiler
Reviewed-by: iveresov, kvn
2014-01-06 17:23:07 -08:00
Goetz Lindenmaier
fe000cd966 8031188: Fix for 8029015: PPC64 (part 216): opto: trap based null and range checks
Swap the Projs in the block list so that the new block is added behind the proper node.

Reviewed-by: kvn
2014-01-06 11:02:21 +01:00
Mikael Vidstedt
a0da47fd66 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Copyright year updated for files modified during 2013

Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Goetz Lindenmaier
9c10079653 8030863: PPC64: (part 220): ConstantTableBase for calls between args and jvms
Add ConstantTableBase node edge after parameters and before jvms. Adapt jvms offsets.

Reviewed-by: kvn
2013-12-20 13:51:14 +01:00
Vladimir Kozlov
3b4f167e54 Merge 2013-12-12 11:05:39 -08:00
Goetz Lindenmaier
c50c083f83 8029888: PPC64: (part 219): adl replacement variable CondRegister
Add support for replacement variable CondRegister in adlc.

Reviewed-by: kvn
2013-12-10 14:29:43 +01:00
Christian Thalinger
e71c8df213 8029366: ShouldNotReachHere error when creating an array with component type of void
Reviewed-by: kvn
2013-12-06 16:43:56 -08:00
Igor Veresov
cfefd04320 8027388: JVM crashes with SIGSEGV (0xb) at pc=0x00000001077cbbf6
Make object non-scalarizable if it has field with multiple bases one of which is null

Reviewed-by: kvn, twisti
2013-12-26 21:00:23 -08:00
Vladimir Kozlov
1b2bf0be10 Merge 2013-12-05 15:13:12 -08:00
Goetz Lindenmaier
ecca1bcc72 8029015: PPC64 (part 216): opto: trap based null and range checks
On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks.

Reviewed-by: kvn
2013-11-27 16:16:21 -08:00
Goetz Lindenmaier
fe89766184 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence
Use new nodes for loadFence/storeFence intrinsics in C2.

Reviewed-by: kvn, dholmes
2013-11-26 18:38:19 -08:00
Markus Grönlund
b1e3461fe5 8028128: Add a type safe alternative for working with counter based data
Reviewed-by: dholmes, egahlin
2013-11-23 12:25:13 +01:00
Goetz Lindenmaier
b4ded0bc2e 8029025: PPC64 (part 203): opto: Move static _in_dump_cnt to Compile object
Also introduces the compiler oracle 'option' feature for PrintAssembly.

Reviewed-by: kvn
2013-11-22 12:14:09 -08:00
Rickard Bäckman
57e01f1502 8028997: mathexact intrinsics are unstable
Reviewed-by: iveresov, kvn
2013-11-22 14:14:26 +01:00
Goetz Lindenmaier
7289ee4573 8028767: PPC64: (part 121): smaller shared changes needed to build C2
Smaller shared changes required to build the C2 compiler on PPC64.

Reviewed-by: kvn
2013-11-21 19:00:57 -08:00
Goetz Lindenmaier
a7c123880e 8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization
Fixed Implicit NULL check optimization for AIX, where the page at address '0' is only write-protected.

Reviewed-by: kvn
2013-11-21 18:29:34 -08:00
Vladimir Kozlov
aabed3781b Merge 2013-11-21 12:30:35 -08:00
Goetz Lindenmaier
d22bde2c91 8028580: PPC64 (part 114/120): Support for Call nodes with constants
Extends MachCall nodes so that they can issue constants to the constant table

Reviewed-by: kvn
2013-11-20 11:08:09 -08:00
Goetz Lindenmaier
f9a0d6a4b5 8028401: PPC (part 117): Improve usability of adlc and format() functionality
Add additional, more verbose syntax checks in adlc. Fix printing constant's problem in format().

Reviewed-by: kvn
2013-11-15 12:01:00 -08:00
Vladimir Kozlov
fa597af116 Merge 2013-11-15 14:09:26 -05:00
Goetz Lindenmaier
13b13f5259 8024921: PPC64 (part 113): Extend Load and Store nodes to know about memory ordering
Add a field to C2 LoadNode and StoreNode classes which indicates whether the load/store should do an acquire/release on platforms which support it.

Reviewed-by: kvn
2013-11-15 11:05:32 -08:00
Goetz Lindenmaier
12b298218d 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Added ability in C2 to expand mach nodes to several mach nodes after register allocation

Reviewed-by: kvn
2013-11-14 19:24:59 -08:00
Vladimir Ivanov
e7f6de784c 8028159: C2: compiler stack overflow during inlining of @ForceInline methods
Reviewed-by: roland, kvn
2013-11-14 09:14:39 -08:00
Rickard Bäckman
9c845933bd 8028207: assert(_outcnt==1) failed: not unique in compile.cpp
Reviewed-by: iveresov, kvn
2013-11-12 14:52:48 +01:00