Re: RFR: 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c

2020-11-04 Thread David Holmes
Hi Chris, On 5/11/2020 12:13 pm, Chris Plummer wrote: On Thu, 5 Nov 2020 00:37:15 GMT, Coleen Phillimore wrote: Apply patch suggested by @cl4es in the bug report. Passes linux-x86-open,linux-x64-open,linux-s390x-open,linux-arm32-debug,linux-ppc64le-debug builds with this patch, and tier1.

Re: RFR: 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c

2020-11-04 Thread Chris Plummer
On Thu, 5 Nov 2020 00:37:15 GMT, Coleen Phillimore wrote: > Apply patch suggested by @cl4es in the bug report. Passes > linux-x86-open,linux-x64-open,linux-s390x-open,linux-arm32-debug,linux-ppc64le-debug > builds with this patch, and tier1. > > thanks, > Coleen > Where did the magic numbers

Re: RFR: 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c

2020-11-04 Thread David Holmes
Hi Coleen, On 5/11/2020 10:44 am, Coleen Phillimore wrote: Apply patch suggested by @cl4es in the bug report. Passes linux-x86-open,linux-x64-open,linux-s390x-open,linux-arm32-debug,linux-ppc64le-debug builds with this patch, and tier1. Sorry but I don't understand the problem or the fix. I

RFR: 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c

2020-11-04 Thread Coleen Phillimore
Apply patch suggested by @cl4es in the bug report. Passes linux-x86-open,linux-x64-open,linux-s390x-open,linux-arm32-debug,linux-ppc64le-debug builds with this patch, and tier1. thanks, Coleen - Commit messages: - 8254270: linux 32 bit build doesn't compile libjdwp/log_messages.c

Re: RFR: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop [v4]

2020-11-04 Thread Coleen Phillimore
On Wed, 4 Nov 2020 09:06:07 GMT, Erik Österlund wrote: >> The imasm::remove_activation() call does not deal with safepoints very well. >> However, when the MethodExit JVMTI event is being called, we call into the >> runtime in the middle of remove_activation(). If the value being returned is >

Re: RFR: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop [v2]

2020-11-04 Thread Coleen Phillimore
On Mon, 2 Nov 2020 21:20:27 GMT, Serguei Spitsyn wrote: >> I'm not sure. There might be other cases, when remove_activation is called >> by the exception code. That's why I didn't want to change it to just true in >> this path. > > The post_method_exit can come from Zero interpreter: > src/hots

Integrated: 8255858: Add debug agent support for storing thread names

2020-11-04 Thread Chris Plummer
On Tue, 3 Nov 2020 23:30:38 GMT, Chris Plummer wrote: > Simple change to add a `name` field to `ThreadNode` to aide when debugging > the debug agent. It's off by default. You need to add a `#define > DEBUG_THREADNAME` to enable it. This pull request has now been integrated. Changeset: 166c728

Re: RFR: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop [v4]

2020-11-04 Thread Serguei Spitsyn
On Wed, 4 Nov 2020 09:06:07 GMT, Erik Österlund wrote: >> The imasm::remove_activation() call does not deal with safepoints very well. >> However, when the MethodExit JVMTI event is being called, we call into the >> runtime in the middle of remove_activation(). If the value being returned is >

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v6]

2020-11-04 Thread Serguei Spitsyn
On Wed, 4 Nov 2020 12:21:12 GMT, Coleen Phillimore wrote: >> This change turns the HashTable that JVMTI uses for object tagging into a >> regular Hotspot hashtable - the one in hashtable.hpp with resizing and >> rehashing. Instead of pointing directly to oops so that GC has to walk the >> ta

Re: RFR: 8255858: Add debug agent support for storing thread names

2020-11-04 Thread Alex Menkov
On Tue, 3 Nov 2020 23:30:38 GMT, Chris Plummer wrote: > Simple change to add a `name` field to `ThreadNode` to aide when debugging > the debug agent. It's off by default. You need to add a `#define > DEBUG_THREADNAME` to enable it. Marked as reviewed by amenkov (Reviewer). - PR:

Re: RFR: 8254864: vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted001/TestDescription.java timed out

2020-11-04 Thread Chris Plummer
On Tue, 3 Nov 2020 23:16:50 GMT, Alex Menkov wrote: > Had to implement runtime check (instead of using @requires) because > resexhausted001 is also called by resexhausted004. So does that mean you do or don't want resexhausted004 disabled on windows? If yes, there's no reason why you can't us

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v6]

2020-11-04 Thread Coleen Phillimore
> This change turns the HashTable that JVMTI uses for object tagging into a > regular Hotspot hashtable - the one in hashtable.hpp with resizing and > rehashing. Instead of pointing directly to oops so that GC has to walk the > table to follow oops and then to rehash the table, this table poin

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v5]

2020-11-04 Thread Coleen Phillimore
On Wed, 4 Nov 2020 05:37:00 GMT, Serguei Spitsyn wrote: >> Hi Coleen, >> >> Wow, there are a lot of simplifications and code removal with this fix! >> It looks great in general, just some nits below. >> I also wanted to suggest renaming the 'set_needs_processing' to >> 'set_needs_rehashing'. :)

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v4]

2020-11-04 Thread Kim Barrett
On Tue, 3 Nov 2020 21:40:39 GMT, Coleen Phillimore wrote: >> src/hotspot/share/prims/jvmtiTagMap.cpp line 127: >> >>> 125: // The table cleaning, posting and rehashing can race for >>> 126: // concurrent GCs. So fix it here once we have a lock or are >>> 127: // at a safepoint. >> >> I th

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v4]

2020-11-04 Thread Kim Barrett
On Wed, 4 Nov 2020 07:52:12 GMT, Kim Barrett wrote: >> So the design is that when the oops have new addresses, we set a flag in the >> table to rehash it. Not sure why this is wrong and why wouldn't it work for >> shenandoah? @zhengyu123 ? When we call WeakHandle.peek()/resolve() after >> th

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v4]

2020-11-04 Thread Kim Barrett
On Tue, 3 Nov 2020 21:31:35 GMT, Coleen Phillimore wrote: >> src/hotspot/share/prims/jvmtiTagMap.cpp line 2979: >> >>> 2977: >>> 2978: // Concurrent GC needs to call this in relocation pause, so after the >>> objects are moved >>> 2979: // and have their new addresses, the table can be rehashe

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v5]

2020-11-04 Thread Kim Barrett
On Wed, 4 Nov 2020 00:08:10 GMT, Coleen Phillimore wrote: >> This change turns the HashTable that JVMTI uses for object tagging into a >> regular Hotspot hashtable - the one in hashtable.hpp with resizing and >> rehashing. Instead of pointing directly to oops so that GC has to walk the >> ta

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v3]

2020-11-04 Thread Kim Barrett
On Wed, 4 Nov 2020 07:41:39 GMT, Kim Barrett wrote: >>>Though it might be possible to go even further and eliminate >>>WeakProcessorPhases as a thing separate from OopStorageSet. >> >> This makes sense. Can we file another RFE for this? I was sort of surprised >> by how much code was involved

Re: RFR: 8212879: Make JVMTI TagMap table concurrent [v3]

2020-11-04 Thread Kim Barrett
On Tue, 3 Nov 2020 23:38:08 GMT, Coleen Phillimore wrote: >> Ok, so I'm not sure what to do with this: >> >> enum Phase { >> // Serial phase. >> JVMTI_ONLY(jvmti) >> // Additional implicit phase values follow for oopstorages. >> `};` >> >> I've removed the only thing in this enu

Re: RFR: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop [v2]

2020-11-04 Thread Erik Österlund
On Tue, 3 Nov 2020 17:49:38 GMT, Serguei Spitsyn wrote: > Hi Erik, > > I'm not sure, if this fragment is still needed: > > ``` > 1620 if (state == NULL || !state->is_interp_only_mode()) { > 1621 // for any thread that actually wants method exit, interp_only_mode > is set > 1622 retur

Re: RFR: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop [v4]

2020-11-04 Thread Erik Österlund
> The imasm::remove_activation() call does not deal with safepoints very well. > However, when the MethodExit JVMTI event is being called, we call into the > runtime in the middle of remove_activation(). If the value being returned is > an object type, then the top-of-stack contains the oop. How