|
Hi Daniil,
Thank you for clarification and the webrev update! I still have a couple of questions though. I'd suggest more simple approach like below: 154 public boolean eventReceived(Event event) {
155 if (event instanceof ClassPrepareEvent) {
156 ClassPrepareEvent classPrepareEvent = (ClassPrepareEvent) event;
157 ThreadReference thread = classPrepareEvent.thread();
158 if (thread != null && DEBUGGEE_MAIN_THREAD.equals(thread.name())) {
159 eventReceived++;
160
161 log.display("ClassPrepareEventListener: Event received: " + event +
162 " Class: " + classPrepareEvent.referenceType().name());
163
164 vm.resume();
165
166 return true;
167 }
168 }
169
170 return false;
171 }
to something like: public boolean eventReceived(Event event) {
if (event instanceof ClassPrepareEvent) {
ClassPrepareEvent classPrepareEvent = (ClassPrepareEvent) event;
ThreadReference thread = classPrepareEvent.thread();
if (thread != null && DEBUGGEE_MAIN_THREAD.equals(thread.name())) {
eventReceived++;
log.display("ClassPrepareEventListener: Event received: " + event +
" Class: " + classPrepareEvent.referenceType().name());
} else {
log.display("ClassPrepareEventListener: Event filtered out: " + event +
" Class: " + classPrepareEvent.referenceType().name() +
" Thread:" + classPrepareEvent.thread().name());
}
vm.resume();
return true;
}
return false;
}245 eventHandler.startListening(); 246 // Add a listener to handle ClassPrepare events fired by other (e.g. compiler) threads. 247 // The listener should be added after the event listener is started to ensure that it 248 // called before the default event listener that handles unexpected events. 249 eventHandler.addListener(new DefaultClassPrepareEventListener());Still unclear why addListener() is invoked after startListening() but not before. It can be that a place add this listener is not right and have to be moved into testSourceFilter(). But I hope this fragment is not needed with the simplified approach. Otherwise, it looks good. Thanks, Serguei On 7/17/18 14:55, Daniil Titov wrote:
|
- RFR 8204695: [Graal] vmTestbase/nsk/jdi/ClassPr... Daniil Titov
- Re: RFR 8204695: [Graal] vmTestbase/nsk/jd... [email protected]
- Re: RFR 8204695: [Graal] vmTestbase/ns... Daniil Titov
- Re: RFR 8204695: [Graal] vmTestbas... [email protected]
- Re: RFR 8204695: [Graal] vmTes... Daniil Titov
- Re: RFR 8204695: [Graal] vmTes... Daniil Titov
- Re: RFR 8204695: [Graal] ... [email protected]
- Re: RFR 8204695: [Gra... Daniil Titov
- Re: RFR 8204695: ... [email protected]
- Re: RFR 8204695: ... Chris Plummer
- Re: RFR 8204695: ... Daniil Titov
- Re: RFR 8204695: [Graal] ... Chris Plummer
- Re: RFR 8204695: [Gra... Daniil Titov
- Re: RFR 8204695: ... Chris Plummer
