On Wed, 1 Mar 2023 15:59:57 GMT, Leonid Mesnik <[email protected]> wrote:
>> While working on [JDK-8289765](https://bugs.openjdk.org/browse/JDK-8289765), >> I ended up doing a lot of cleanup of nsk/share/jdi/EventHandler.java, so >> much so that the changes distract from the actual bug fix, so I decided it >> would be best to first push them with a separate CR. Changes include: >> >> - The main change is merging waitForRequestedEvent() and >> waitForRequestedEventSet(). These methods are quite big and almost >> identical. I had to add some more code to them for >> [JDK-8289765](https://bugs.openjdk.org/browse/JDK-8289765), and decided it >> was best to merge them first rather than making this code cloning situation >> even worse. >> - Remove EventFilter.filtered() call when dealing with an uncaught exception >> event. These events are never filtered. >> - Add complain() method. We already have a display() method so you can just >> call display() instead of log.display(), and it also adds the "EventHandler> >> " prefix to the output, so I though it would be good to do the same for >> log.complain() uses, especially since some of the uses also were adding the >> same prefix. >> - Added a new EventListener that simply logs the event. >> >> The remaining changes are just minor local edits whose purpose should be >> obvious. >> >> If you need a bit of background on this code, read on. EventHandler has >> run() method that continually queries the event queue for more JDI events. >> When they come in, the registered EventListeners all get various callbacks. >> First eventSetReceived() is called for each. Then eventReceived() is called >> for each listener for each Event in the EventSet. If any eventReceived() >> returns true, that means the event was handled an no more listeners should >> be called. Finally, eventSetComplete() is called for each listener. >> >> There are a number of default listeners registered that are always in place. >> See createDefaultListeners(). They aren't really of concern with this PR. >> The waitForRequestedEvent() and waitForRequestedEventSet() methods (now >> combined into waitForRequestedEventSetCommon()) also register listeners, >> with the main one being used to check for the specific event that has been >> requested. These listeners are pre-pended to the default list. Listeners are >> always called in reverse of the order added. >> >> After setting up the listeners, waitForRequestedEventSetCommon() will block >> until a matching event has arrived. This is detected by the setting of >> en.set (and en.event). The listener will set them when the event matches, >> and this is done async from the thread that is running the run() method >> (remember, the run() method calls listener.eventSetRecieved()). > > test/hotspot/jtreg/vmTestbase/nsk/share/jdi/EventHandler.java line 336: > >> 334: defaultExceptionRequest != null && >> 335: defaultExceptionRequest.equals(event.request())) >> 336: { > > wrong indentation style How would you recommend doing it? Is there a style guide that covers this (I can never find it when I need it). ------------- PR: https://git.openjdk.org/jdk/pull/12568
