139 Commits

Author SHA1 Message Date
Vladimir Kozlov
d4437819bd 6925249: assert(last_sp < (intptr_t*) interpreter_frame_monitor_begin(),"bad tos")
Fix assert since top deoptimized frame has last_sp == interpreter_frame_monitor_begin if there are no expressions.

Reviewed-by: twisti
2010-02-12 08:54:13 -08:00
Vladimir Kozlov
2fd8d35905 6923002: assert(false,"this call site should not be polymorphic")
Clear the total count when a receiver information is cleared.

Reviewed-by: never, jrose
2010-02-07 12:15:06 -08:00
Christian Thalinger
82ce2c602b Merge 2010-02-04 03:34:05 -08:00
Hiroshi Yamauchi
688398edef 6921969: optimize 64 long multiply for case with high bits zero
Reviewed-by: never, twisti, kvn, rasbold
2010-02-03 15:56:37 -08:00
Vladimir Kozlov
0c27c5537e 6614597: Performance variability in jvm2008 xml.validation
Fix incorrect marking of methods as not compilable.

Reviewed-by: never
2010-02-01 16:49:49 -08:00
Christian Thalinger
918c7a2e33 6921352: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-02-01 19:29:46 +01:00
Christian Thalinger
9aa675b7e6 6921339: backout 6917766
Reviewed-by: mr
2010-01-29 08:33:24 -08:00
Christian Thalinger
fbc43afae6 6917766: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-01-29 12:13:05 +01:00
Y. Srinivas Ramakrishna
679f958f72 Merge 2010-01-27 22:38:37 -08:00
Andrey Petrusenko
35324b7e7d 6918006: G1: spill space must be reserved on the stack for barrier calls on Windows x64
Stub code generated to call G1 barriers does not allocate spill space on the stack as required by Windows x64 ABI. The fix is to use more ABI-friendly call_VM_leaf().

Reviewed-by: iveresov, never, kvn
2010-01-21 18:51:10 -08:00
Tom Rodriguez
bac125984c 6911204: generated adapters with large signatures can fill up the code cache
Reviewed-by: kvn, jrose
2010-01-20 22:10:33 -08:00
Tom Rodriguez
72d0f638c7 6849984: Value methods for platform dependent math functions constant fold incorrectly
Reviewed-by: kvn, twisti
2010-01-15 11:53:33 -08:00
Christian Thalinger
375527d84e 6829187: compiler optimizations required for JSR 292
C2 implementation for invokedynamic support.

Reviewed-by: kvn, never
2010-01-05 13:05:58 +01:00
Christian Thalinger
caf28727eb 6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.

Reviewed-by: kvn, never
2010-01-04 18:38:08 +01:00
Christian Thalinger
3a896a1408 6894206: JVM needs a way to traverse method handle structures
We need a way to walk chained method handles in the JVM to call the right methods and to generate required bytecode adapters for the compilers.

Reviewed-by: kvn
2010-01-04 15:52:40 +01:00
Christian Thalinger
fae9c37803 6829192: JSR 292 needs to support 64-bit x86
Changes for method handles and invokedynamic

Reviewed-by: kvn
2009-12-16 12:48:04 +01:00
Keith McGuigan
01b706e9f9 Merge 2009-11-11 09:13:12 -05:00
Changpeng Fang
2c40841f3f Merge 2009-11-10 17:00:18 -08:00
Roland Westrelin
7eea7dcfe4 6769124: various 64-bit fixes for c1
Reviewed-by: never
2009-11-02 11:17:55 +01:00
Xiaobin Lu
f5e722511a Merge 2009-10-30 17:24:14 -07:00
John R Rose
903247cf85 6858164: invokedynamic code needs some cleanup (post-6655638)
Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl

Reviewed-by: kvn
2009-10-30 16:22:59 -07:00
Antonios Printezis
56b1d0c435 Merge 2009-10-30 13:31:11 -04:00
John Cuthbertson
bf0f699b33 6889740: G1: OpenDS fails with "unhandled exception in compiled code"
Incorrect code was being generated for the store operation in the null case of the aastore bytecode template. The bad code was generated by the store_heap_oop routine which takes a Register as its second argument. Passing NULL_WORD (0) as the second argument causes the value to be converted to Register(0), which is rax. Thus the generated store was "mov (dst), $rax" instead of "mov (dst), $0x0". Changed calls to store_heap_oop that pass NULL_WORD as the second argument to a new routine store_heap_oop_null.

Reviewed-by: kvn, twisti
2009-10-29 09:42:26 -07:00
Paul Hohensee
2f7d60fa36 6887571: Increase default heap config sizes
Apply modification of existing server heap size ergo to all collectors except CMS.

Reviewed-by: jmasa, ysr, xlu
2009-10-28 16:25:51 -04:00
John R Rose
2134a92922 6815692: method handle code needs some cleanup (post-6655638)
Correctly raise exceptions, support safe bitwise "raw" conversions, fix bugs revealed by VerifyMethodHandles, remove dead code, improve debugging support

Reviewed-by: never, twisti
2009-10-17 19:51:05 -07:00
Changpeng Fang
35ca20c546 Merge 2009-10-16 14:08:44 -07:00
Vladimir Kozlov
34324e30c0 6890984: Comparison of 2 arrays could cause VM crash
Restore original null checks.

Reviewed-by: never, cfang
2009-10-14 15:03:32 -07:00
Erik Trimble
8cea3ed3b4 Merge 2009-10-09 15:18:52 -07:00
Erik Trimble
652ccb8d21 Merge 2009-09-25 12:17:06 -07:00
John R Rose
40d52710f6 Merge 2009-09-23 23:56:15 -07:00
Xiomara Jayasena
15f08eb80e 6884624: Update copyright year
Update copyright for files that have been modified in 2009 through Septermber

Reviewed-by: tbell, ohair
2009-09-22 14:06:10 -07:00
John R Rose
e261aecad8 6863023: need non-perm oops in code cache for JSR 292
Make a special root-list for those few nmethods which might contain non-perm oops.

Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -07:00
Karen Kinnear
ffb85ff832 Merge 2009-09-15 16:28:57 -04:00
Vladimir Kozlov
243514d483 6827605: new String intrinsics may prevent EA scalar replacement
6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2

Modify String intrinsic methods to pass char[] pointers instead of string oops.

Reviewed-by: never
2009-09-14 12:14:20 -07:00
Poonam Bajaj
c04761e799 6858208: jvm crash when specifying TypeProfileWidth=0 on jdk 6.0
Add an explicit check for TypeProfileWidth == 0 in record_klass_in_profile_helper() functions.

Reviewed-by: never, coleenp
2009-09-01 23:34:08 -07:00
Tom Rodriguez
57a92290f4 6855215: Calculation error (NaN) after about 1500 calculations
Reviewed-by: kvn
2009-08-31 17:07:53 -07:00
Tom Rodriguez
9966801c6c 6875329: fix for 6795465 broke exception handler cloning
Reviewed-by: kvn
2009-08-24 22:26:15 -07:00
Changpeng Fang
f6f2d510b9 6829127: Deoptimization Failure on Specjvm98 _227_mtrt with -XX:+DeoptimizeALot since Hs11 b01
Make sure the control word is correct in deopt_blob after restore_result_registers

Reviewed-by: kvn, never
2009-08-17 09:48:02 -07:00
Vladimir Kozlov
ab7a29cdcc Merge 2009-08-06 09:37:26 -07:00
Vladimir Kozlov
9f97cf13e8 6864914: SPECjvm2008 produces invalid result with zero based Compressed Oops
Always use "lea" instruction for narrow oop decoding instead of "shift".

Reviewed-by: never
2009-07-30 16:05:56 -07:00
Erik Trimble
e846382e12 Merge 2009-07-29 16:00:35 -07:00
Xiomara Jayasena
a63ef10004 6862919: Update copyright year
Update copyright for files that have been modified in 2009, up to 07/09

Reviewed-by: tbell, ohair
2009-07-28 12:12:40 -07:00
Vladimir Kozlov
1a7cfb7023 Merge 2009-07-24 09:01:00 -07:00
Y. Srinivas Ramakrishna
075c1335cb 6700789: G1: Enable use of compressed oops with G1 heaps
Modifications to G1 so as to allow the use of compressed oops.

Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
2009-07-14 15:40:39 -07:00
Tom Rodriguez
5a409d142f 6859338: amd64 native unverified entry point pushes values before implicit null check
Reviewed-by: kvn, twisti
2009-07-13 14:58:17 -07:00
Tom Rodriguez
986d570981 6851908: interpreter null check profiling broken causing extra compilation invalidation
Reviewed-by: kvn
2009-06-26 16:14:31 -07:00
Christian Thalinger
a9ad90fa87 5057225: Remove useless I2L conversions
The optimizer should be told to normalize (AndL (ConvI2L x) 0xFF) to (ConvI2L (AndI x 0xFF)), and then the existing matcher rule will work for free.

Reviewed-by: kvn
2009-06-26 07:26:10 -07:00
Changpeng Fang
0429abd38a 6848466: frame::frame_size() assertion failure with -XX:+DebugDeoptimization
Add a RegisterMap* argument to frame::frame_size() to correctly compute the sender frame

Reviewed-by: never
2009-06-05 10:25:39 -07:00
Christian Thalinger
8a262ce04b 6814842: Load shortening optimizations
6797305 handles load widening but no shortening which should be covered here.

Reviewed-by: never, kvn
2009-05-13 00:45:22 -07:00
Vladimir Kozlov
34ee921399 6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
Cache Jvmti and DTrace flags used by Compiler.

Reviewed-by: never
2009-05-08 10:44:20 -07:00