changeset 10585:aca0f66c23fd

8076154: com/sun/jdi/InstanceFilter.java failing due to missing MethodEntryRequest calls Summary: Some jdi tests are failing due to missing MethodEntryRequest events during the test execution. Reviewed-by: sla, jbachorik
author farvidsson
date Fri, 27 Mar 2015 12:36:01 +0100
parents db28516c0691
children f2d92ba48884
files test/com/sun/jdi/InstanceFilter.java
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/test/com/sun/jdi/InstanceFilter.java	Tue Mar 31 11:52:45 2015 -0700
+++ b/test/com/sun/jdi/InstanceFilter.java	Fri Mar 27 12:36:01 2015 +0100
@@ -104,7 +104,10 @@
             return;
         }
         if (theThis == null) {
-            // This happens when the thread has exited.
+            // This happens when the thread has exited or when a
+            // static method is called. Setting an instance
+            // filter does not prevent this event from being
+            // emitted with a this that is null.
             methodEntryRequest.disable();
             return;
         }
@@ -138,6 +141,10 @@
         EventRequestManager mgr = vm().eventRequestManager();
         methodEntryRequest = mgr.createMethodEntryRequest();
         methodEntryRequest.addInstanceFilter(theInstance);
+        // Thread filter is needed to prevent MethodEntry events
+        // to be emitted by the debugee when a static method
+        // is called on any thread.
+        methodEntryRequest.addThreadFilter(bpe.thread());
         methodEntryRequest.enable();
 
         listenUntilVMDisconnect();