857 Commits

Author SHA1 Message Date
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
Rickard Bäckman
0ef4539a9f 8028198: SIGSEGV in PhaseIdealLoop::build_loop_late_post
Reviewed-by: iveresov, kvn
2013-11-12 13:47:57 +01:00
Vladimir Kozlov
c632cad9d5 8024830: SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get
Exclude last input argument's stack slots from vector's spilling masks.

Reviewed-by: iveresov
2013-11-11 11:53:33 -08:00
Vladimir Kozlov
39b0e57fdd Merge 2013-11-05 17:38:04 -08:00
Igor Veresov
c78419253b Merge 2013-11-05 02:29:41 -08:00
Igor Veresov
c342a79faf 8017065: C2 allows safepoint checks to leak into G1 pre-barriers
Make all raw loads strictly respect control dependencies, make sure RCE doesn't move raw loads, add verification of G1 pre-barriers.

Reviewed-by: kvn, roland
2013-11-05 01:57:18 -08:00
Rickard Bäckman
897e6d41f6 8027622: java.time.Instant.create failing since hs25-b56
Reviewed-by: kvn, iveresov
2013-11-04 10:44:46 +01:00
Rickard Bäckman
612252d7a2 8027444: mathExact: assert(i < _max) failed: oob: i=1, _max=1
Reviewed-by: duke
2013-10-30 13:14:09 +01:00
Rickard Bäckman
4d9e812aa2 8027353: Exact intrinsics: assert(n != NULL) failed: must not be null
Reviewed-by: kvn, roland
2013-10-28 08:34:10 +01:00
Roland Westrelin
1a809c454a Merge 2013-10-28 12:21:00 -07:00
Roland Westrelin
9ba485b29f 8027140: Assertion in compiler when running bigapps/Kitchensink/stability
Filter() code for TypeKlassPtr not moved when permgen removal was introduced

Reviewed-by: twisti, iveresov
2013-10-28 09:58:59 +01:00
Niclas Adlertz
d9f039a458 8026940: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Remove input to junk phi if they also become dead during post_allocate_copy_removal

Reviewed-by: roland
2013-10-25 10:13:40 +02:00
Rickard Bäckman
615376fb9b 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
2013-10-18 10:41:56 +02:00
Niclas Adlertz
fedbc5721f Merge 2013-10-23 19:22:28 +00:00
Roland Westrelin
1b5bd82335 8024070: C2 needs some form of type speculation
Record unused type profile information with type system, propagate and use it.

Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02:00
Niclas Adlertz
e608f6fde3 8026939: assert(Reachblock != NULL) failed: Reachblock must be non-NULL
We can reach this state from phi input rematerialization, so pass in the Reaches of the predecessor

Reviewed-by: roland, twisti
2013-10-23 10:44:12 +02:00
Rickard Bäckman
e2efed4a9b 8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
Reviewed-by: iveresov, roland
2013-10-21 15:31:16 +02:00
Roland Westrelin
3f8ae3e9b9 8024069: replace_in_map() should operate on parent maps
Type information gets lost because replace_in_map() doesn't update parent maps

Reviewed-by: kvn, twisti
2013-10-19 12:16:43 +02:00
Niclas Adlertz
8a2c02c416 Merge 2013-10-18 09:36:35 +00:00
Niclas Adlertz
3838ed7b68 8022783: Nashorn test fails with: assert(!def_outside->member(r))
Enables private copies of inputs for recent spill copies as well

Reviewed-by: kvn, twisti
2013-10-18 10:50:17 +02:00
Igor Veresov
64b6d2b5e5 8009303: Tiered: incorrect results in VM tests stringconcat with -Xcomp -XX:+DeoptimizeALot on solaris-amd64
Do memory flow analysis in string concat optimizier to exclude cases when computation of arguments to StringBuffer::append has side effects

Reviewed-by: kvn, twisti
2013-10-16 11:13:15 -07:00
Rickard Bäckman
0e8081e57b 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
Reviewed-by: kvn, twisti
2013-10-11 12:06:14 +02:00
Staffan Friberg
83e635a090 8026293: Schedule part of G1 pre-barrier late
Move rare executed part of G1 write barrier from hot path.

Reviewed-by: kvn, twisti, roland
2013-10-15 12:14:00 -07:00
Igor Veresov
db9a439624 Merge 2013-10-13 13:22:24 -07:00
Christian Thalinger
0fa4a576fd Merge 2013-10-11 19:51:31 -07:00
Niclas Adlertz
b1bfc48aaa Merge 2013-10-12 01:29:27 +00:00
Christian Thalinger
7f46feeee2 8005173: assert(false) failed: DEBUG MESSAGE: exception oop must be empty (macroAssembler_x86.cpp:625)
Reviewed-by: kvn, iveresov
2013-10-11 10:14:02 -07:00
John Coomes
e61cbf8d69 Merge 2013-10-11 08:27:21 -07:00
Niclas Adlertz
9215790d61 8011415: CTW on Sparc: assert(lrg.lo_degree()) failed:
Increased the LRG AllStack mask size since the previous size was not big enough when compiling huge methods (60k+ nodes)

Reviewed-by: kvn, roland, twisti
2013-10-11 13:10:22 +02:00
Albert Noll
aef0d74e96 8023014: CodeSweeperSweepNoFlushTest.java fails with HS crash
Ensure ensure correct initialization of compiler runtime

Reviewed-by: kvn, twisti
2013-10-10 15:44:12 +02:00
Christian Thalinger
b90addac58 8020750: Node::get_int: guarantee(t != NULL) failed: must be con
Reviewed-by: kvn, roland
2013-10-09 11:05:17 -07:00
Niclas Adlertz
e9dbb39270 Merge 2013-10-09 05:03:34 -07:00
Niclas Adlertz
9c471c0dc0 8013830: [parfait] Uninitialised pointer 'Reachblock' may be used as argument
Replace uninitialised pointer with NULL at argument.

Reviewed-by: kvn, roland, twisti
2013-10-09 13:00:20 +02:00