Commit Graph

1274 Commits

Author SHA1 Message Date
Vladimir Kozlov
cc18a50e59 6916623: Align object to 16 bytes to use Compressed Oops with java heap up to 64Gb
Added new product ObjectAlignmentInBytes flag to control object alignment.

Reviewed-by: twisti, ysr, iveresov
2010-05-27 18:01:56 -07:00
Keith McGuigan
211a79fc65 6930553: classfile format checker allows invalid method descriptor in CONSTANT_NameAndType_info in some cases
Check NameAndType_info signatures aggressively, even when unreferenced

Reviewed-by: coleenp, acorn, never
2010-05-27 17:06:39 -04:00
Erik Trimble
18d0b0100c Merge 2010-05-27 12:42:44 -07:00
John R Rose
05b4f2e796 6956164: nightly regressions from 6939207
Fix errors in 6939207.

Reviewed-by: kvn
2010-05-27 09:54:07 -07:00
Daniel D. Daugherty
d2703f3e8d Merge 2010-05-26 14:16:55 -07:00
Christian Thalinger
7a9f2e7625 6934104: JSR 292 needs to support SPARC C2
C2 for SPARC needs to support JSR 292.

Reviewed-by: kvn, never
2010-05-25 02:38:48 -07:00
John Cuthbertson
9936975b96 6941378: G1: change default value of G1UseFixedWindowMMUTracker to true
Rather than changing the default value of the G1UseFixedWindowMMUTracker, the flag and associated guarantee have been removed.

Reviewed-by: jcoomes, tonyp, ysr
2010-05-24 17:11:22 -07:00
John R Rose
e59f431f8d Merge 2010-05-24 14:15:14 -07:00
John R Rose
581521ba96 6939207: refactor constant pool index processing
Factored cleanup of instruction decode which prepares for enhanced ldc semantics.

Reviewed-by: twisti
2010-05-23 01:38:26 -07:00
Christian Thalinger
2e24ba80e9 6930772: JSR 292 needs to support SPARC C1
C1 for SPARC needs to support JSR 292.

Reviewed-by: never, jrose
2010-05-21 02:59:24 -07:00
John Coomes
8a34049f04 Merge 2010-05-20 08:32:11 -07:00
Christian Thalinger
c9f2ba541b 6951083: oops and relocations should part of nmethod not CodeBlob
This moves the oops from Codeblob to nmethod.

Reviewed-by: kvn, never
2010-05-20 06:34:23 -07:00
John R Rose
a13355babf Merge 2010-05-20 01:34:22 -07:00
Michael Wilkerson
f0887dcc05 Merge 2010-05-19 20:16:16 -07:00
Y. Srinivas Ramakrishna
ed25c962e1 6953952: collectedHeap.cpp should use #ifdef _LP64 not LP64
Changed LP64 to _LP64 in collectedHeap.cpp.

Reviewed-by: kvn, jcoomes
2010-05-19 16:05:47 -07:00
Y. Srinivas Ramakrishna
51c1f35548 6953483: Typo related to ReduceInitialCardMarks leaves concurrent collectors vulnerable to heap corruption
Corrected mis-spelling of COMPILER2 in #ifdef, which could cause heap corruption in CMS due to precleaning when +ReduceInitialCardMarks. Thanks to ChenGuang Sun <suncg03@gmail.com> for bringing this typo to our attention.

Reviewed-by: tonyp, jmasa, jcoomes, kvn
2010-05-19 10:37:05 -07:00
Vladimir Kozlov
24b71d013a Merge 2010-05-19 10:22:39 -07:00
Phil Race
56be4c0b46 6953588: hotspot\src\share\vm\interpreter\bytecodes.cpp doesn't compile with VS2010 on AMD64
Reviewed-by: dcubed
2010-05-19 10:21:41 -07:00
Keith McGuigan
4f45d8c3a2 6911922: JVM must throw VerifyError for jsr or jsr_w opcodes in class file v.51+
6693236: A class file whose version number is greater than to 50.0 must be verified using the typechecker

Disable failover verification for classfiles >= v51

Reviewed-by: never, acorn, dholmes
2010-05-19 10:19:10 -04:00
Tom Rodriguez
00d1e12daf 6953576: bottom_type for matched AddPNodes doesn't always agree with ideal
Reviewed-by: kvn
2010-05-18 23:58:32 -07:00
Tom Rodriguez
b03699b985 6953539: after 6892658 c1 reports that it doesn't inline StringBuffer.append
Reviewed-by: kvn, twisti
2010-05-18 13:45:03 -07:00
John Coomes
04b4d79094 6951319: enable solaris builds using Sun Studio 12 update 1
Reviewed-by: kamg, ysr, dholmes, johnc
2010-05-18 11:02:18 -07:00
Vladimir Kozlov
c12b2b3f69 6953267: assert in EA code with -XX:+StressReflectiveCode
Add missing checks into EA code.

Reviewed-by: never
2010-05-18 09:54:05 -07:00
Eric Caspole
430574f398 6950075: nmethod sweeper should operate concurrently
Reviewed-by: never, kvn
2010-05-17 16:50:07 -07:00
Vladimir Kozlov
85854f0e13 6951686: Using large pages on Linux prevents zero based compressed oops
Use req_addr when attaching shared memory segment.

Reviewed-by: twisti
2010-05-17 11:32:56 -07:00
Daniel D. Daugherty
9b7dfe0cbc Merge 2010-05-17 07:11:27 -07:00
Daniel D. Daugherty
8c248ee5f2 6949515: 3/3 VM crash when calling GetMethodDeclaringClass
Use resolve_external_guard() instead of resolve_non_null().

Reviewed-by: thurka, kamg, acorn
2010-05-17 06:35:51 -07:00
Y. Srinivas Ramakrishna
f8643be266 6948539: CMS+UseCompressedOops: placement of cms_free bit interferes with promoted object link
When using compressed oops, use compressed promoted pointers in b63:b31 of the mark word, so as not to interfere with the CMS "freeness bit" at b7. Updated mark-word layout documentation.

Reviewed-by: minqi, poonam, jmasa, coleenp
2010-05-17 00:47:28 -07:00
Andrey Petrusenko
0d3978019b 6921317: (partial) G1: assert(top() == bottom() || zfs == Allocated,"Region must be empty, or we must be setting it to
Extended the failing assertion with the new message format to get more data.

Reviewed-by: tonyp
2010-05-14 10:28:46 -07:00
Erik Trimble
10da52364f Merge 2010-05-13 17:10:32 -07:00
Erik Trimble
8878667a36 Merge 2010-05-13 14:35:14 -07:00
John Coomes
d14dfb51af Merge 2010-05-13 13:05:47 -07:00
John R Rose
44f4fafdee Merge 2010-05-12 22:06:02 -07:00
Gary Benson
df4f3b6c42 6951923: some uses of fatal1 were missed by 6888954
Reviewed-by: jcoomes
2010-05-12 10:28:13 -07:00
Gary Benson
b8491bb9fe 6951784: Zero deoptimizer changes
The way Zero currently handles deoptimization can lead to methods being freed while they are still being executed.

Reviewed-by: twisti
2010-05-12 03:49:52 -07:00
Daniel D. Daugherty
8773ad21fd Merge 2010-05-11 17:41:11 -07:00
John R Rose
71599d89d4 Merge 2010-05-11 15:19:19 -07:00
Phil Race
db63a9aa55 6931180: Migration to recent versions of MS Platform SDK
6951582: Build problems on win64

Changes to enable building JDK7 with Microsoft Visual Studio 2010

Reviewed-by: ohair, art, ccheung, dcubed
2010-05-11 14:35:43 -07:00
Tom Rodriguez
8afbd9a53e 6951190: assert(!klass_is_exact(),"only non-exact klass") while building JDK
Reviewed-by: kvn
2010-05-10 14:58:38 -07:00
Y. Srinivas Ramakrishna
4715f32101 6951188: CMS: move PromotionInfo into its own file
Moved PromotionInfo and friends into new files promotionInfo.{h,c}pp from their previous compactibleFreeListSpace.{h,c}pp home.

Reviewed-by: apetrusenko
2010-05-10 12:31:52 -07:00
Gary Benson
399d1f6a5f 6950617: Zero/Shark interface updates
Zero needs a couple of new methods to allow Shark to access the new frame anchor field.

Reviewed-by: twisti
2010-05-07 04:20:56 -07:00
Gary Benson
4d6c5d6fef 6950178: Zero stack improvements
Moves the logic for determining the size of the Zero stack into the ZeroStack class.

Reviewed-by: twisti
2010-05-06 02:09:18 -07:00
Daniel D. Daugherty
1f1393802c Merge 2010-05-05 16:39:47 -07:00
Gary Benson
070ea7c310 6949830: 6939134 broke Zero
The commit for 6939134 broke Zero.

Reviewed-by: twisti
2010-05-05 05:57:21 -07:00
Volker Simonis
43a9130faa 6935118: UseCompressedOops modification in methodOopDesc::sort_methods() causes JCK timeout
Add comparison functions for compressed oops to use bubblesort.

Reviewed-by: never, coleenp
2010-05-04 15:12:08 -04:00
Gary Benson
416df6da75 6949423: remove tagged stack interpreter for Zero
Missed Zero changes for 6943304.

Reviewed-by: twisti
2010-05-04 02:33:59 -07:00
Y. Srinivas Ramakrishna
d14cf2e13c 6919638: CMS: ExplicitGCInvokesConcurrent misinteracts with gc locker
GC-locker induced concurrent full gc should be asynchronous; policy now controlled by a separate flag, which defaults to false.

Reviewed-by: jmasa
2010-05-03 20:19:05 -07:00
Antonios Printezis
643553d0e6 Merge 2010-05-03 17:23:58 -04:00
Antonios Printezis
cc872846f5 Merge 2010-05-03 16:31:07 -04:00
Y. Srinivas Ramakrishna
762f60d343 6948537: CMS: BOT walkers observe out-of-thin-air zeros on sun4v sparc/CMT
On sun4v/CMT avoid use of memset() in BOT updates so as to prevent concurrent BOT readers from seeing the phantom zeros arising from memset()'s use of BIS.

Reviewed-by: jmasa, johnc, minqi, poonam, tonyp
2010-05-03 10:24:51 -07:00
John R Rose
973b1ef143 6939196: method handle signatures off the boot class path get linkage errors
Adjust MethodType lookup logic to search off the BCP, but not to cache those results

Reviewed-by: twisti
2010-05-01 21:57:35 -07:00
John R Rose
4eb75c2df3 6939134: JSR 292 adjustments to method handle invocation
Split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces

Reviewed-by: twisti
2010-05-01 02:42:18 -07:00
Christian Thalinger
0211f9703a 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
2010-04-30 08:37:24 -07:00
Gary Benson
55457c9cc7 6939182: Zero JNI handles fix
Zero will exit with an error when invoked with -Xcheck:jni.

Reviewed-by: twisti, kamg
2010-04-30 04:27:25 -07:00
Igor Veresov
61b9d428d1 6948602: Disable use of SSE4.2 in String.indexOf intrinsic until 6942326 is fixed
Disable the use of pcmpestri until it can be guaranteed that the load doesn't cross in to the uncommited space. See 6942326.

Reviewed-by: never, kvn
2010-04-29 17:53:58 -07:00
Christian Thalinger
6d2a896bcd 6829193: JSR 292 needs to support SPARC
There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.

Reviewed-by: kvn, never, jrose
2010-04-29 06:30:25 -07:00
John R Rose
78e6939c37 Merge 2010-04-29 00:03:40 -07:00
Igor Veresov
cb911cf098 6946892: c1 shouldn't sign-extend to upper 32bits on x64
C1 does sign-extension when it loads ints and shorts from memory to 64-bit registers. This causes problems for c2 because it relies on the fact the int passed in a 64-bit register is zero-extended.

Reviewed-by: never
2010-04-27 11:19:12 -07:00
Tom Rodriguez
eb534d777a 6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed
2010-04-26 23:59:45 -07:00
Antonios Printezis
e1ae5e1cb0 Merge 2010-04-26 18:01:55 -04:00
Hiroshi Yamauchi
cd48f31efe 6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
2010-04-26 11:27:21 -07:00
John Coomes
99196ff9ca 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
2010-04-22 13:23:15 -07:00
Antonios Printezis
3e2cf1a294 6946048: G1: improvements to +PrintGCDetails output
Small improvements to G1's PrintGCDetails output. It also includes minor formatting details.

Reviewed-by: ysr, johnc
2010-04-22 15:20:16 -04:00
Antonios Printezis
a6d2266193 6949307: G1: raise a vm error, do not core dump, if target pause time and target interval are inconsistent
First, change the guarantee to raising a vm error. Second, set the interval dynamically, and based on the pause time target, if it is not set explicitly.

Reviewed-by: ysr, johnc
2010-05-07 13:14:41 -04:00
John Cuthbertson
b1867e0dd5 6819061: G1: eliminate serial Other times that are proportional to the collection set length
6871109: G1: remove the concept of the scan only prefix

Removed scan only regions and associated code. The young portion of the collection set is now constructed incrementally - when a young region is retired as the current allocation region it is added to the collection set.

Reviewed-by: apetrusenko, iveresov, tonyp
2010-04-22 10:02:38 -07:00
Andreas Kohn
50654ebc2b 6944822: Fix for 6938627 exposes problem with hard-coded buffer sizes
Make tmpdir buffer sizes MAX_PATH+1

Reviewed-by: dholmes, coleenp
2010-04-19 18:58:31 -04:00
Kevin Walls
db6aad1e4e Merge 2010-04-19 05:40:21 -07:00
Gary Benson
5e6b418472 6944503: Improved Zero crash dump
With Zero on a GC crash the stack was dumped differently to other crashes.

Reviewed-by: twisti
2010-04-19 02:13:06 -07:00
Kevin Walls
d132f8e1c6 6897143: Stress test crashes during HeapInspection using ParallelGC
Ensure_parsability() must be called even if GC_locker prevents GC.

Reviewed-by: ysr, chrisphi
2010-04-16 17:36:37 +01:00
Andrey Petrusenko
99cdb36eca 6942253: G1: replace G1ParallelGCAllocBufferSize with YoungPLABSize and OldPLABSize
Replaces the G1-specific parameter with the existing ones that are used by the other GCs (YoungPLABSize and OldPLABSize)

Reviewed-by: tonyp, johnc
2010-04-16 08:48:16 -07:00
Gary Benson
193be0b9eb 6944473: 6941224 misses new files
Two new files are missing in the push for 6941224.

Reviewed-by: twisti
2010-04-16 05:05:53 -07:00
Christian Thalinger
20b4da422d Merge 2010-04-16 02:59:34 -07:00
Christian Thalinger
31f1aba365 Merge 2010-04-16 00:52:45 -07:00
Tom Rodriguez
98ee92e724 6939930: exception unwind changes in 6919934 hurts compilation speed
Reviewed-by: twisti
2010-04-15 18:14:49 -07:00
Antonios Printezis
89dcd228da 6939027: G1: assertion failure during the concurrent phase of cleanup
The outgoing region map is not maintained properly and it's causing an assert failure. Given that we don't actually use it, I'm removing it. I'm piggy-backing a small change on this which removes a message that it's printed before a Full GC when DisableExplicitGC is set.

Reviewed-by: apetrusenko, ysr
2010-04-15 18:45:30 -04:00
John Cuthbertson
6110c052aa 6943926: G1: Integer overflow during heap region verification
The expression that calculates the live bytes for a heap region can overflow for a suitably large humongous region/object. Cache the object size in a suitably sized local variable so that the expression is converted to a wider type.

Reviewed-by: tonyp, jmasa, iveresov, apetrusenko
2010-04-15 15:52:55 -07:00
Gary Benson
d889909335 6944028: 6940701 broke Zero
The fix for 6940701 broke Zero.

Reviewed-by: twisti
2010-04-15 03:13:56 -07:00
Gary Benson
95b528bff0 6941224: Improved stack overflow handling for Zero
Adding stack overflow checking to Shark brought to light a bunch of deficiencies in Zero's stack overflow code.

Reviewed-by: twisti
2010-04-15 02:40:12 -07:00
Tom Rodriguez
a1446b775d 6938026: C2 compiler fails in Node::rematerialize()const
Reviewed-by: twisti
2010-04-14 15:30:13 -07:00
John R Rose
d3b254656d Merge 2010-04-13 13:01:37 -07:00
Antonios Printezis
dc66d123d2 Merge 2010-04-09 15:01:49 -07:00
Antonios Printezis
ba815bf09e Merge 2010-04-09 13:08:34 -04:00
John R Rose
01c5c9a34b Merge 2010-04-08 17:45:20 -07:00
Igor Veresov
fc76d07b40 6942223: c1 64 bit fixes
This fixes lir_cmp_l2i on x64 and sparc 64bit, and the debug info generation.

Reviewed-by: never
2010-04-08 12:13:07 -07:00
Christian Thalinger
4d0664b427 6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag
During testing a bug was hit when an exception returned to the interpreter and the SP was wrong.

Reviewed-by: kvn, never
2010-04-08 10:55:40 +02:00
Vladimir Kozlov
f6934fd3b7 6940726: Use BIS instruction for allocation prefetch on Sparc
Use BIS instruction for allocation prefetch on Sparc

Reviewed-by: twisti
2010-04-07 12:39:27 -07:00
John Cuthbertson
b98560aa10 6940894: G1: assert(new_obj != 0 || ... "should be forwarded") for compaction tests
Humongous regions may contain multiple objects as a result of being retained as to-space from a previous GC and then re-used as to-space after being tagged as humongous. These changes include a check that causes retained to-space regions that are now tagged as humongous to be disregarded and a new to-space region allocated.

Reviewed-by: tonyp, iveresov
2010-04-07 11:43:53 -07:00
Vladimir Kozlov
629d139cac 6940733: allocate non static oop fields in super and sub classes together
Use FieldsAllocationStyle=2 to allocate non static oop fields in super and sub classes together

Reviewed-by: twisti
2010-04-07 10:35:56 -07:00
Vladimir Kozlov
5f8098a402 6940701: Don't align loops in stubs for Niagara sparc
Don't align loops in stubs for Niagara sparc since NOPs are expensive.

Reviewed-by: twisti, never
2010-04-07 09:37:47 -07:00
Keith McGuigan
66b6e88578 Merge 2010-04-07 12:28:22 -04:00
Abhijit Saha
0610f6846b Merge 2010-04-06 22:06:57 -07:00
Vladimir Kozlov
429cea33ba 6940677: Use 64 bytes chunk copy for arraycopy on Sparc
For large arrays we should use 64 bytes chunks copy.

Reviewed-by: twisti
2010-04-06 15:18:10 -07:00
Antonios Printezis
719e7f0926 6909756: G1: guarantee(G1CollectedHeap::heap()->mark_in_progress(),"Precondition.")
Make sure that two marking cycles do not overlap, i.e., a new one can only start after the concurrent marking thread finishes all its work. In the fix I piggy-back a couple of minor extra fixes: some general code reformatting for consistency (only around the code I modified), the removal of a field (G1CollectorPolicy::_should_initiate_conc_mark) which doesn't seem to be used at all (it's only set but never read), as well as moving the "is GC locker active" test earlier into the G1 pause / Full GC and using a more appropriate method for it.

Reviewed-by: johnc, jmasa, jcoomes, ysr
2010-04-06 10:59:45 -04:00
Christian Thalinger
f90547c0b9 6940520: CodeCache::scavenge_root_nmethods_do must fix oop relocations
ScavengeRootsInCode can lead to unfixed code-embedded oops.

Reviewed-by: kvn, never
2010-04-06 13:39:52 +02:00
Vladimir Kozlov
d72f8abedf 6937111: Restore optimization for Phi of AddP (6552204)
Restored the original code which was removed by the fix for 6614100.

Reviewed-by: never
2010-04-05 10:17:15 -07:00
Antonios Printezis
2e3363d109 6940310: G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
Calling the methods region_stack_push() and region_stack_pop() concurrent is not MT-safe. The assumption is that we will only call region_stack_push() during a GC pause and region_stack_pop() during marking. Unfortunately, we also call region_stack_push() during marking which seems to be introducing subtle marking failures. This change introduces lock-based methods for pushing / popping to be called during marking.

Reviewed-by: iveresov, johnc
2010-04-05 12:19:22 -04:00
John Coomes
bd4179633a Merge 2010-04-02 17:04:09 -07:00
Vladimir Kozlov
6f0a3e4a80 Merge 2010-04-02 15:55:04 -07:00
Vladimir Kozlov
8e1f408216 6939804: ciConstant::print() prints incorrect bool value
Fix typo.

Reviewed-by: never
2010-04-02 11:55:00 -07:00
Antonios Printezis
9545c0521e 6677708: G1: re-enable parallel RSet updating and scanning
Enable parallel RSet updating and scanning.

Reviewed-by: iveresov, jmasa
2010-04-02 12:10:08 -04:00
Tom Rodriguez
7a9a877131 6936709: AsyncGetCallTrace doesn't handle inexact stack walking properly
Reviewed-by: kvn
2010-04-01 16:06:57 -07:00
Karen Kinnear
1271375647 Merge 2010-04-01 11:23:01 -04:00
Coleen Phillimore
47cda47c42 6938627: Make temporary directory use property java.io.tmpdir when specified
Get java.io.tmpdir property in os::get_temp_directory() and call this instead of harcoding "/tmp".  Don't assume trailing file_separator either.

Reviewed-by: dholmes, kamg
2010-03-31 16:51:18 -07:00
Tom Rodriguez
654dfb3d0f Merge 2010-03-31 16:29:10 -07:00
Edward Nevill
8a72fb502e 6939845: zero needs fallback path in C++ interpreter for platform dependent fast bytecodes
Reviewed-by: never
2010-03-31 11:54:03 -07:00
Gary Benson
8dbf2b8020 6939731: JSR 292 Zero build fix after 6934494
The changes of 6934494 have broken the Zero build.

Reviewed-by: twisti
2010-03-31 08:03:33 -07:00
Antonios Printezis
9b4fc8fc23 6937142: G1: improvements to debugging output (S-M)
Various fixes to the G1 debugging output.

Reviewed-by: johnc, iveresov
2010-03-30 15:43:03 -04:00
Jon Masamitsu
f5197d0d36 6858496: Clear all SoftReferences before an out-of-memory due to GC overhead limit
Ensure a full GC that clears SoftReferences before throwing an out-of-memory

Reviewed-by: ysr, jcoomes
2010-04-13 13:52:10 -07:00
Antonios Printezis
972acdab81 6937160: G1: should observe GCTimeRatio
Remove the G1GCPercent parameter, that specifies the desired GC overhead percentage in G1, and observe the GCTimeRatio parameter instead.

Reviewed-by: jmasa, johnc
2010-03-30 15:36:55 -04:00
Gary Benson
e76823e70b 6939180: Zero locking fix
When Zero is running with Shark enabled threads can be left with their _do_not_unlock_if_synchronized flag incorrectly set.

Reviewed-by: twisti
2010-03-30 00:57:55 -07:00
Karen Kinnear
7aaaad73cf Merge 2010-03-26 11:10:26 -04:00
Abhijit Saha
845f11dd17 Merge 2010-03-24 17:16:33 -07:00
Daniel D. Daugherty
6fb483993a Merge 2010-03-23 17:29:13 -07:00
Daniel D. Daugherty
30e02ce948 6915365: 3/4 assert(false,"Unsupported VMGlobal Type") at management.cpp:1540
Remove assert to decouple JDK and HotSpot additions of known types.

Reviewed-by: mchung
2010-03-23 14:37:18 -07:00
Andrey Petrusenko
531591c2b9 Merge 2010-03-22 02:40:53 -07:00
Tom Rodriguez
67c094c4c7 6926979: should simplify catch_inline_exception
Reviewed-by: twisti
2010-03-18 14:31:41 -07:00
Andrew Haley
87f44737a8 6936168: Recent fix for unmapping stack guard pages doesn't close /proc/self/maps
Add close to returns (fix for 6929067 also contributed by aph)

Co-authored-by: Andreas Kohn <andreas.kohn@fredhopper.com>
Reviewed-by: aph, dcubed, andrew, acorn
2010-03-18 16:47:37 -04:00
John Coomes
aa951c36cb 6935839: excessive marking stack growth during full gcs
Process one item at a time from the objarray stack/queue

Reviewed-by: apetrusenko, tonyp
2010-03-18 13:31:51 -07:00
Antonios Printezis
35f23f97b0 6935821: G1: threads created during marking do not active their SATB queues
Newly-created threads always had the active field of their SATB queue initialized to false, even if they were created during marking. As a result, updates from threads created during a marking cycle were never enqueued and never processed. The fix includes remaining a method from active() to is_active() for readability and naming consistency.

Reviewed-by: ysr, johnc
2010-03-18 12:14:59 -04:00
Christian Thalinger
beb119b36b Merge 2010-03-18 06:36:43 -07:00
Christian Thalinger
1270c6c005 6932091: JSR 292 x86 code cleanup
Some code cleanups found during the JSR 292 SPARC port.

Reviewed-by: kvn, never
2010-03-18 09:56:51 +01:00
Andrey Petrusenko
2fa0d00635 6921710: G1: assert(new_finger >= _finger && new_finger < _region_limit,"invariant")
If CM task was aborted while scanning the last object of the specified region and the size of that object is equal to bitmap's granularity then the next offset would be equal or over the region limit which is exactly what the assertion states.

Reviewed-by: ysr, tonyp, jmasa
2010-03-18 01:48:28 -07:00
Tom Rodriguez
dac78c30b9 6930043: C2: SIGSEGV in javasoft.sqe.tests.lang.arr017.arr01702.arr01702.loop_forw(II)I
Reviewed-by: kvn
2010-03-17 16:40:25 -07:00
Vladimir Kozlov
72a7a6ffcf 6935535: String.indexOf() returns incorrect result on x86 with SSE4.2
Added missing counter decrement when substring search restarted.

Reviewed-by: twisti
2010-03-17 10:47:03 -07:00
Frederic Parain
2450ae35a1 6935224: Adding new DTrace probes to work with Palantir
Adding probes related to thread scheduling and class initialization

Reviewed-by: kamg, never
2010-03-17 11:01:05 +01:00
Christian Thalinger
ebc298d208 6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.

Reviewed-by: never, jrose
2010-03-17 10:22:41 +01:00
Vladimir Kozlov
e8191b6730 6935466: new CodeCache flushing code is not guarded by the flag
Add missing guard.

Reviewed-by: never
2010-03-16 15:35:33 -07:00
Christian Thalinger
82e9e2b4af 6934494: JSR 292 MethodHandles adapters should be generated into their own CodeBlob
Passing a null pointer to an InvokeDynamic function call should lead to a NullPointerException.

Reviewed-by: kvn, never
2010-03-16 11:52:17 +01:00
Karen Kinnear
d8ec453382 6932480: Fix crash in CompilerThread/Parser. Unloaded array klass?
Restore code deleted in 6626217

Reviewed-by: asaha, kevinw
2010-03-15 15:51:36 -04:00
Xiaobin Lu
09f8dd45d1 6934758: Expose the break down of clean up task time during safepoint
Use -XX:+TraceSafepointCleanupTime to print out the details of each clean up tasks.

Reviewed-by: dholmes, ysr
2010-03-13 16:32:49 -08:00
Coleen Phillimore
053d7adeb2 6929067: Stack guard pages should be removed when thread is detached
Add code to unmap stack guard area when thread is detached.

Reviewed-by: coleenp, kamg
2010-03-12 10:42:16 -05:00
John Cuthbertson
e9f77f7ec1 6755988: G1: assert(new_obj != 0 || ... "should be forwarded")
A TLAB became large enough to be considered a humongous object allowing multiple objects to be allocated in a humongous region, which violates a basic assumption about humongous regions. The changes ensure that TLABs cannot be regarded as humongous.

Reviewed-by: iveresov, tonyp
2010-03-11 11:44:43 -08:00
Andrey Petrusenko
5e42804119 Merge 2010-03-15 02:56:45 -07:00
Karen Kinnear
8d1747bc4b Merge 2010-03-11 14:41:29 -05:00
Gary Benson
dae3356905 6934089: Zero 32-bit/64kb page fix
The fix for 6927165 increased the number of shadow pages for 32-bit platforms and this causes a problem on systems with 64kb pages.

Reviewed-by: twisti
2010-03-11 05:09:20 -08:00
Xiaobin Lu
8742fc8e62 6933402: RFE: Improve PrintSafepointStatistics output to track cleanup time
Improve the usability of safepoint statistics data. See bug evaluation for more details.

Reviewed-by: ysr, dholmes
2010-03-10 21:42:26 -08:00
Roland Westrelin
7dcf59914e 6932496: c1: deoptimization of jsr subroutine fails on sparcv9
Store jsr ret bci as intptr constant in c1 debug info

Reviewed-by: never
2010-03-05 13:58:34 +01:00
Christian Thalinger
ffec4c00c4 6919934: JSR 292 needs to support x86 C1
This implements JSR 292 support for C1 x86.

Reviewed-by: never, jrose, kvn
2010-03-09 20:16:19 +01:00
Christian Thalinger
94a808f51d 6932536: JSR 292 modified JDK MethodHandlesTest fails on x86_64
A modified MethodHandlesTest revealed two bugs on x86_64.

Reviewed-by: never, jrose
2010-03-08 04:46:30 -08:00
John Coomes
4f82340476 4396719: Mark Sweep stack overflow on deeply nested Object arrays
Use an explicit stack for object arrays and process them in chunks.

Reviewed-by: iveresov, apetrusenko
2010-03-03 14:48:26 -08:00
Jon Masamitsu
5fdec09798 6910182: CMS: assert(_cursor[j] == _survivor_plab_array[j].end(),"Ctl pt invariant")
Calculation of the slicing of survivor spaces for MT was incorrect.

Reviewed-by: ysr
2010-03-03 08:10:41 -08:00
John Cuthbertson
a9c71d9169 Merge 2010-03-02 13:59:37 -08:00
John Cuthbertson
76881615ca Merge 2010-03-02 13:57:46 -08:00
Coleen Phillimore
13ac3be829 6914050: jvm assertion "guard pages must be in use" in -Xcomp mode
Move creating stack guard pages in jni attach thread before potential java call rather than after. Also cleanup stack guard pages when jni attach fails

Reviewed-by: never, dholmes
2010-03-02 12:09:40 -08:00
Tom Rodriguez
e904069b51 6930398: fix for return address locals in OSR entries uses wrong test
Reviewed-by: kvn
2010-03-01 12:12:35 -08:00
Paul Hohensee
cef423370c 6923123: Hotspot refuses to start when -Xmx4m or -Xms4m is specified
Reduce NewSize from 4m to 1m.

Reviewed-by: tonyp, jmasa
2010-02-26 16:40:55 -05:00
Vladimir Kozlov
667e7ff0c0 6930116: loop predication code does not handle If nodes with only one projection
Add check for iff->outcnt() < 2.

Reviewed-by: never
2010-02-25 22:58:43 -08:00
Vladimir Kozlov
8554996b9b 6930035: C2 type system incorrectly handles case j.l.Object->meet(constant AryPtr)
Add missing code.

Reviewed-by: never
2010-02-25 15:55:47 -08:00
Tom Rodriguez
0ab4fb9e37 6915557: assert(_gvn.type(l)->higher_equal(type),"must constrain OSR typestate") with debug build
Reviewed-by: kvn
2010-02-25 11:38:50 -08:00
Antonios Printezis
1eb12e87a7 6928065: G1: use existing command line parameters to set the young generation size
See synopsis

Reviewed-by: johnc, jmasa
2010-02-24 14:56:20 -05:00
Jon Masamitsu
f254745228 6928081: G1: rename parameters common with CMS
Rename marking stack sizing flags to be common between G1 and CMS

Reviewed-by: ysr, tonyp
2010-02-24 07:00:33 -08:00
Antonios Printezis
77b2dfce1d 6928073: G1: use existing command line parameters for marking cycle initiation
Replace the combination of the G1SteadyStateUsed / G1SteadyStateUsedDelta parameteres to decide the marking initiation threshold and instead use InitiatingHeapOccupancyPercent.

Reviewed-by: ysr, johnc
2010-02-23 23:14:34 -05:00
Antonios Printezis
b5c83abcd4 6928059: G1: command line parameter renaming
Rename G1 parameters to make them more consistent.

Reviewed-by: jmasa, johnc
2010-02-23 23:13:23 -05:00
Christian Thalinger
d1a6f819e6 6928839: JSR 292 typo in x86 _adapter_check_cast
There is a small typo in methodHandles_x86.cpp.

Reviewed-by: kvn
2010-02-23 17:46:29 +01:00
Vladimir Kozlov
e599f6c927 6928717: HS17 fails to build with SS11 C++
Add missing handles.inline.hpp for codeCache.cpp.

Reviewed-by: never
2010-02-22 16:56:49 -08:00
Tom Rodriguez
fbd5ca617d 6927049: assert(is_Loop(),"invalid node class")
Reviewed-by: kvn
2010-02-19 13:06:11 -08:00
Vladimir Kozlov
fa2d360cd5 6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag
Matcher::float_in_double should be true only when FPU is used for floats.

Reviewed-by: never, twisti
2010-02-19 10:04:16 -08:00
Tom Rodriguez
3e1688a8cd 6663854: assert(n != __null,"Bad immediate dominator info.") in C2 with -Xcomp
Reviewed-by: kvn
2010-02-18 15:05:10 -08:00
Christian Thalinger
c3066e0605 Merge 2010-02-18 10:44:14 -08:00
Gary Benson
51b9396b40 6927165: Zero S/390 fixes
Fixes two failures on 31-bit S/390.

Reviewed-by: twisti
2010-02-18 06:54:48 -08:00
Christian Thalinger
0c605ed991 6926782: CodeBuffer size too small after 6921352
After 6921352 the CodeBuffer size was too small.

Reviewed-by: kvn, never
2010-02-18 11:35:41 +01:00
Tom Rodriguez
51fc36cc9a 6877221: Endless deoptimizations in OSR nmethod
Reviewed-by: kvn
2010-02-16 20:07:48 -08:00
Vladimir Kozlov
892336beb1 6926697: "optimized" VM build failed: The type "AdapterHandlerTableIterator" is incomplete
Define AdapterHandlerTableIterator class as non product instead of debug.

Reviewed-by: never
2010-02-16 16:17:46 -08:00
John Cuthbertson
e475437c5a Merge 2010-02-16 14:11:44 -08:00
Vladimir Kozlov
9110d86267 Merge 2010-02-12 15:27:36 -08:00
Gary Benson
17a0e10b07 6926048: Improve Zero performance
Make Zero figure out result types in a similar way to C++ interpreter implementation.

Reviewed-by: kvn
2010-02-12 10:34:11 -08:00
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
Igor Veresov
52b92d5593 6923991: G1: improve scalability of RSet scanning
Implemented block-based work stealing. Moved copying during the rset scanning phase to the main copying phase. Made the size of rset table depend on the region size.

Reviewed-by: apetrusenko, tonyp
2010-02-11 15:52:19 -08:00
Andrei Pangin
291a66ad2f Merge 2010-02-11 10:48:10 -08:00
John Cuthbertson
0356567ed8 6782663: Data produced by PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime is not accurate
Update and display the timers associated with these flags for all safepoints.

Reviewed-by: ysr, jcoomes
2010-02-09 13:56:09 -08:00
Vladimir Kozlov
1a1e145498 6924097: assert((_type == Type::MEMORY) == (_adr_type != 0),"adr_type for memory phis only")
Use PhiNode::make_blank(r, n) method to construct the phi.

Reviewed-by: never
2010-02-09 10:21:06 -08:00
Vladimir Kozlov
22409a5704 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
Mark in PcDesc call sites which return oop and save the result oop across objects reallocation during deoptimization.

Reviewed-by: never
2010-02-09 01:31:13 -08:00
Vladimir Kozlov
3f7a94c3f2 6910605: C2: NullPointerException/ClassCaseException is thrown when C2 with DeoptimizeALot is used
Set the reexecute bit for runtime calls _new_array_Java when they used for _multianewarray bytecode.

Reviewed-by: never
2010-02-08 12:20:09 -08:00
Antonios Printezis
a88853347f 6802453: G1: hr()->is_in_reserved(from),"Precondition."
The operations of re-using a RSet component and expanding the same RSet component were not mutually exlusive, and this could lead to RSets getting corrupted and entries being dropped.

Reviewed-by: iveresov, johnc
2010-02-08 14:23:01 -05:00
Neo Jia
7d7887d46c 6587322: dtrace probe object__alloc doesn't fire in some situations on amd64
Fix misplaced probe point

Reviewed-by: rasbold, phh
2010-02-08 13:49:03 -05:00
John Cuthbertson
e003616106 Merge 2010-02-08 09:58:32 -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
Tom Rodriguez
c1be36be1b 6920293: OptimizeStringConcat causing core dumps
Reviewed-by: kvn, twisti
2010-02-05 11:07:40 -08:00
Antonios Printezis
c157b744ed 6920977: G1: guarantee(k == probe->klass(),"klass should be in dictionary") fails
The guarantee is too strict and the test will fail (incorrectly) if the class is not in the system dictionary but in the placeholders.

Reviewed-by: acorn, phh
2010-02-05 11:05:50 -05:00
Andrei Pangin
134e70e53b Merge 2010-02-04 15:50:59 -08:00
Tom Rodriguez
22ce62f2d1 6921992: failure in verify scheduling after 6792161
Reviewed-by: kvn
2010-02-04 11:16:23 -08:00
Christian Thalinger
82ce2c602b Merge 2010-02-04 03:34:05 -08:00
Tom Rodriguez
af0c45705b Merge 2010-02-03 18:33:04 -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
d4878296c5 6923043: failed nightly tests which use -XX:+PrintCompilation -Xcomp -XX:CompileOnly
Print "made not compilable" line  only for deoptimizations.

Reviewed-by: never
2010-02-03 15:03:22 -08:00
Tom Rodriguez
aecc4f4081 6921922: fix for 6911204 breaks tagged stack interpreter
Reviewed-by: kvn
2010-02-03 12:28:30 -08:00
John Cuthbertson
7f9ba03c32 6914402: G1: assert(!is_young_card(cached_ptr),"shouldn't get a card in young region")
Invalid assert. Filter cards evicted from the card count cache instead.

Reviewed-by: apetrusenko, tonyp
2010-02-02 18:39:50 -08:00
Daniel D. Daugherty
8acae99fd8 Merge 2010-02-02 11:08:17 -07:00
Daniel D. Daugherty
54c04bca93 6918421: 1/1 in-process JVM now ignores preset Windows unhandled exception filter
Add support for chaining Windows UnhandledExceptionFilter handlers

Reviewed-by: kamg, dholmes, never, acorn, ikrylov
2010-02-02 10:37:32 -07:00
Y. Srinivas Ramakrishna
c61ab190cf 6904516: More object array barrier fixes, following up on 6906727
Fixed missing pre-barrier calls for G1, modified C1 to call pre- and correct post-barrier interfaces, deleted obsolete interface, (temporarily) disabled redundant deferred barrier in BacktraceBuilder.

Reviewed-by: coleenp, jmasa, kvn, never
2010-02-01 17:29:01 -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
Tom Deneau
f23b68b367 6902182: 4/4 Starting with jdwp agent should not incur performance penalty
Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.

Reviewed-by: never, kvn, dcubed
2010-02-01 17:35:05 -07:00
Christian Thalinger
4e8608a124 6921799: JSR 292 call sites should not be fixed-up
MethodHandle invoke call sites should not be fixed-up by SharedRuntime::fixup_callers_callsite as c2i/i2c adapters are used to implement MethodHandle actions.

Reviewed-by: kvn, never
2010-02-01 23:18:47 +01: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
Tom Rodriguez
8cc63249e9 6916644: C2 compiler crash on x86
Reviewed-by: kvn, twisti
2010-01-29 22:51:41 -08:00
John Cuthbertson
b34027a600 6885297: java -XX:RefDiscoveryPolicy=2 or -XX:TLABWasteTargetPercent=0 cause VM crash
Interval checking is now being performed on the values passed in for these two flags. The current acceptable range for RefDiscoveryPolicy is [0..1], and for TLABWasteTargetPercent it is [1..100].

Reviewed-by: apetrusenko, ysr
2010-01-29 14:51:38 -08:00
Eric Caspole
a57d68e35b 4360113: Evict nmethods when code cache gets full
Speculatively unload the oldest nmethods when code cache gets full.

Reviewed-by: never, kvn
2010-01-29 09:27:22 -08: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
Tom Rodriguez
07c442542c 6792161: assert("No dead instructions after post-alloc")
Reviewed-by: kvn
2010-01-28 20:41:37 -08:00