721 Commits

Author SHA1 Message Date
Vladimir Kozlov
4531e51fc4 7163534: VM could crashes assert(false) failed: infinite EA connection graph build
In case of time or iterations limit reached C2 stops EA and continue compilation without EA as it does in product VM already.

Reviewed-by: twisti
2012-10-25 17:32:03 -07:00
Tom Deneau
6d94ef1ee7 7184394: add intrinsics to use AES instructions
Use new x86 AES instructions for AESCrypt.

Reviewed-by: twisti, kvn, roland
2012-10-24 14:33:22 -07:00
Vladimir Kozlov
a9c2b6a900 8001183: incorrect results of char vectors right shift operaiton
Do vector right shift operation for small int types only after loads

Reviewed-by: jrose, dlong
2012-10-23 13:06:37 -07:00
Vladimir Ivanov
7f87237400 8000805: JMM issue: short loads are non-atomic
Perform transforms during IGVN phase when Load has a single user.

Reviewed-by: jrose, kvn, twisti
2012-10-22 11:44:30 -07:00
Dean Long
e57ac83cac 8001101: C2: more general vector rule subsetting
Allow which vector rules are supported to be decided at runtime. Also a small change to allow vector types in Type::_type_info[] to apply to more platforms.

Reviewed-by: kvn, twisti
2012-10-19 14:21:09 -04:00
Abhijit Saha
19fc2d4d88 Merge 2012-10-18 21:58:55 -07:00
Vladimir Kozlov
2d3b78abcc 8000623: tools/javac/Diagnostics/6769027/T6769027.java crashes in PSPromotionManager::copy_to_survivor_space
Fix type of method pointer load from vtable.

Reviewed-by: twisti, johnc, roland
2012-10-17 12:09:32 -07:00
Vladimir Kozlov
5f132a5ec3 Merge 2012-10-12 09:22:52 -07:00
Abhijit Saha
402fd01231 Merge 2012-10-11 15:29:16 -07:00
Abhijit Saha
2f3ac59e81 Merge 2012-10-10 14:28:08 -07:00
Vladimir Ivanov
6674423523 7199654: Remove LoadUI2LNode
Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.

Reviewed-by: kvn
2012-10-09 12:40:05 -07:00
Mikael Vidstedt
769dd50182 7197424: update copyright year to match last edit in jdk8 hotspot repository
Update copyright year to 2012 for relevant files

Reviewed-by: dholmes, coleenp
2012-10-09 10:09:34 -07:00
Roland Westrelin
61eb5a0549 7054512: Compress class pointers after perm gen removal
Support of compress class pointers in the compilers.

Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Rickard Bäckman
25e07fb041 Merge 2012-10-09 07:41:27 +02:00
Christian Thalinger
7162ad011c 8000263: JSR 292: signature types may appear to be unloaded
Reviewed-by: kvn, jrose
2012-10-08 17:04:00 -07:00
Vladimir Ivanov
b1d745897b 8000313: C2 should use jlong for 64bit values
Replace all occurrences of long with jlong in C2 code.

Reviewed-by: kvn, twisti
2012-10-08 13:02:13 -07:00
Vladimir Ivanov
822deb6ee6 7177003: C1: LogCompilation support
Add LogCompilation support in C1 - both client and tiered mode.

Reviewed-by: twisti, kvn
2012-10-05 18:57:10 -07:00
Vladimir Kozlov
8d8d00ff00 7199742: A lot of C2 OSR compilations of the same method's bci
Don't clone head of OSR loop.

Reviewed-by: jrose, twisti
2012-10-02 14:49:21 -07:00
Vladimir Kozlov
e8332c76e9 7201026: add vector for shift count
Add generation of vectors for scalar shift count.

Reviewed-by: roland, twisti, dlong
2012-10-02 12:25:13 -07:00
Coleen Phillimore
28047d6a0f 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Capitalize these metadata types (and objArrayKlass)

Reviewed-by: stefank, twisti, kvn
2012-09-29 06:40:00 -04:00
Bharadwaj Yadavalli
d5d2e78faa 7193318: C2: remove number of inputs requirement from Node's new operator
Deleted placement new operator of Node - node(size_t, Compile *, int).

Reviewed-by: kvn, twisti
2012-09-27 09:38:42 -07:00
Vladimir Kozlov
973fdc81a1 7200264: 7192963 changes disabled shift vectors
Replaced is_vector_use() call with explicit check for vector shift's count.

Reviewed-by: twisti, roland, dlong, vlivanov
2012-09-25 15:48:17 -07:00
Vladimir Kozlov
03d65ced3e 7198606: Improve VM optimization
Remove incorrect code in OptimizeFill optimization.

Reviewed-by: roland, twisti
2012-09-19 13:58:31 -07:00
Vladimir Kozlov
da65cc4532 7160161: Missed safepoint in non-Counted loop
Do not remove safepoints during peeling optimization.

Reviewed-by: twisti
2012-08-29 13:02:40 -07:00
Christian Thalinger
40c1bd4242 7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites
Reviewed-by: kvn
2012-08-28 15:24:39 -07:00
Tao Mao
447e7065d2 6677625: Move platform specific flags from globals.hpp to globals_<arch>.hpp
Reviewed-by: kvn, dholmes, coleenp
2012-08-27 15:17:17 -07:00
Vladimir Kozlov
f0d08c04f1 7148109: C2 compiler consumes too much heap resources
Add split_arena to allocate temporary arrays in PhaseChaitin::Split() and free them on method's exit.

Reviewed-by: twisti
2012-08-27 09:46:38 -07:00
Vladimir Kozlov
fbcc3da64f 7192965: assert(is_aligned_sets(size)) failed: mask is not aligned, adjacent sets
Change pair check to vector check in RA bias coloring code.

Reviewed-by: jrose, twisti
2012-08-23 09:13:16 -07:00
Vladimir Kozlov
cbfca3259c 7192963: assert(_in[req-1] == this) failed: Must pass arg count to 'new'
Fixed Pack node generation. Not vectorize shift instructions if count is not the same for all shifts and if count is vector.

Reviewed-by: twisti
2012-08-22 11:55:40 -07:00
Vladimir Kozlov
ef4102148a 7192964: assert(false) failed: bad AD file
Shifts with loop variant counts "a[i]=1<<b[i];" should not be vectorized since hw does not support it.

Reviewed-by: twisti
2012-08-21 14:50:02 -07:00
Christian Thalinger
a14e902e92 7192167: JSR 292: C1 has old broken code which needs to be removed
Reviewed-by: kvn, roland, jrose
2012-08-21 10:48:50 -07:00
Vladimir Kozlov
04c6a7ce10 7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
In C2 add software membar after load from Reference.referent field to prevent commoning of loads across safepoint since GC can change its value. In C1 always generate Reference.get() intrinsic.

Reviewed-by: roland, twisti, dholmes, johnc
2012-08-20 09:58:58 -07:00
Vladimir Kozlov
e3c3c8527e 6340864: Implement vectorization optimizations in hotspot-server
Added asm encoding and mach nodes for vector arithmetic instructions on x86.

Reviewed-by: roland
2012-08-20 09:07:21 -07:00
Christian Thalinger
c9fb0d52ee Merge 2012-08-10 15:50:49 -07:00
Christian Thalinger
e409ee94ae 7188276: JSR 292: assert(ct == T_OBJECT) failed: rt=T_OBJECT, ct=13
Reviewed-by: kvn, jrose
2012-08-01 14:44:26 -07:00
Vladimir Kozlov
5e05a0d592 7187454: stack overflow in C2 compiler thread on Solaris x86
Added new FormatBufferResource class to use thread's resource area for error message buffer.

Reviewed-by: twisti
2012-07-30 09:49:25 -07:00
Christian Thalinger
b9eb5785cc 7187290: nightly failures after JSR 292 lazy method handle update
Reviewed-by: kvn, twisti
2012-07-27 16:14:15 -07:00
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
Jiangli Zhou
67f97ee6eb Merge 2012-07-24 13:16:26 -04:00
Vladimir Kozlov
310ad38a4b Merge 2012-07-16 19:50:52 -07:00
Dean Long
62ce00b4ca 7147464: Java crashed while executing method with over 8k of dneg operations
Replace recursive method with iterative

Reviewed-by: kvn, twisti
2012-07-16 15:31:18 -04:00
Vladimir Kozlov
27e9d6f36d 7123926: Some CTW test crash: !_control.contains(ctrl)
Don't eliminate Integer::toString() call node during String concatenation optimization if it has several uses.

Reviewed-by: twisti
2012-07-13 17:48:26 -07:00
Vladimir Kozlov
59bb4ea7cc Merge 2012-07-12 14:19:15 -07:00
Vlaidmir Ivanov
e2fc7f742c 7181658: CTW: assert(t->meet(t0) == t) failed: Not monotonic
Use uncast node equivalence checks in CmpUNode::sub.

Reviewed-by: kvn, twisti
2012-07-11 14:50:30 -07:00
Vladimir Kozlov
761e0b221d 7180769: assert(tboth->klass_is_exact()) failed: klass should be exact
Use class exactness as part of the condition for class compare optimization instead of assert.

Reviewed-by: twisti, roland
2012-07-02 12:59:43 -07:00
Roland Westrelin
3511594d3c 7177917: Failed test java/lang/Math/PowTests.java
When c2 intrinsifies pow/exp, it should never inline the java implementations.

Reviewed-by: kvn
2012-07-02 09:58:06 +02:00
Alejandro Murillo
fad2bafa7b Merge 2012-06-29 17:04:39 -07:00
Coleen Phillimore
135f315eaa Merge 2012-07-02 13:11:28 -04: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
Lana Steuck
b126348850 Merge 2012-06-26 10:27:11 -07:00