149 * does not return until the invoked method returns in the target VM.
150 * If the invoked method throws an exception, this method will throw
151 * an {@link InvocationException} which contains a mirror to the exception
152 * object thrown.
153 * <p>
154 * Object arguments must be assignment compatible with the argument type
155 * (This implies that the argument type must be loaded through the
156 * enclosing class' class loader). Primitive arguments must be
157 * either assignment compatible with the argument type or must be
158 * convertible to the argument type without loss of information.
159 * If the method being called accepts a variable number of arguments,
160 * then the last argument type is an array of some component type.
161 * The argument in the matching position can be omitted, or can be null,
162 * an array of the same component type, or an argument of the
163 * component type followed by any number of other arguments of the same
164 * type. If the argument is omitted, then a 0 length array of the
165 * component type is passed. The component type can be a primitive type.
166 * Autoboxing is not supported.
167 *
168 * See Section 5.2 of
169 * <cite>The Java™ Language Specification</cite>
170 * for more information on assignment compatibility.
171 * <p>
172 * By default, all threads in the target VM are resumed while
173 * the method is being invoked if they were previously
174 * suspended by an event or by {@link VirtualMachine#suspend} or
175 * {@link ThreadReference#suspend}. This is done to prevent the deadlocks
176 * that will occur if any of the threads own monitors
177 * that will be needed by the invoked method.
178 * Note, however, that this implicit resume acts exactly like
179 * {@link ThreadReference#resume}, so if the thread's suspend
180 * count is greater than 1, it will remain in a suspended state
181 * during the invocation and thus a deadlock could still occur.
182 * By default, when the invocation completes,
183 * all threads in the target VM are suspended, regardless their state
184 * before the invocation.
185 * It is possible that
186 * breakpoints or other events might occur during the invocation.
187 * This can cause deadlocks as described above. It can also cause a deadlock
188 * if invokeMethod is called from the client's event handler thread. In this
189 * case, this thread will be waiting for the invokeMethod to complete and
260 * does not return until the constructor returns in the target VM.
261 * If the invoked method throws an
262 * exception, this method will throw an {@link InvocationException}
263 * which contains a mirror to the exception object thrown.
264 * <p>
265 * Object arguments must be assignment compatible with the argument type
266 * (This implies that the argument type must be loaded through the
267 * enclosing class' class loader). Primitive arguments must be
268 * either assignment compatible with the argument type or must be
269 * convertible to the argument type without loss of information.
270 * If the method being called accepts a variable number of arguments,
271 * then the last argument type is an array of some component type.
272 * The argument in the matching position can be omitted, or can be null,
273 * an array of the same component type, or an argument of the
274 * component type, followed by any number of other arguments of the same
275 * type. If the argument is omitted, then a 0 length array of the
276 * component type is passed. The component type can be a primitive type.
277 * Autoboxing is not supported.
278 *
279 * See section 5.2 of
280 * <cite>The Java™ Language Specification</cite>
281 * for more information on assignment compatibility.
282 * <p>
283 * By default, all threads in the target VM are resumed while
284 * the method is being invoked if they were previously
285 * suspended by an event or by {@link VirtualMachine#suspend} or
286 * {@link ThreadReference#suspend}. This is done to prevent the deadlocks
287 * that will occur if any of the threads own monitors
288 * that will be needed by the invoked method. It is possible that
289 * breakpoints or other events might occur during the invocation.
290 * Note, however, that this implicit resume acts exactly like
291 * {@link ThreadReference#resume}, so if the thread's suspend
292 * count is greater than 1, it will remain in a suspended state
293 * during the invocation. By default, when the invocation completes,
294 * all threads in the target VM are suspended, regardless their state
295 * before the invocation.
296 * <p>
297 * The resumption of other threads during the invocation can be prevented
298 * by specifying the {@link #INVOKE_SINGLE_THREADED}
299 * bit flag in the <code>options</code> argument; however,
300 * there is no protection against or recovery from the deadlocks
|
149 * does not return until the invoked method returns in the target VM.
150 * If the invoked method throws an exception, this method will throw
151 * an {@link InvocationException} which contains a mirror to the exception
152 * object thrown.
153 * <p>
154 * Object arguments must be assignment compatible with the argument type
155 * (This implies that the argument type must be loaded through the
156 * enclosing class' class loader). Primitive arguments must be
157 * either assignment compatible with the argument type or must be
158 * convertible to the argument type without loss of information.
159 * If the method being called accepts a variable number of arguments,
160 * then the last argument type is an array of some component type.
161 * The argument in the matching position can be omitted, or can be null,
162 * an array of the same component type, or an argument of the
163 * component type followed by any number of other arguments of the same
164 * type. If the argument is omitted, then a 0 length array of the
165 * component type is passed. The component type can be a primitive type.
166 * Autoboxing is not supported.
167 *
168 * See Section 5.2 of
169 * <cite>The Java Language Specification</cite>
170 * for more information on assignment compatibility.
171 * <p>
172 * By default, all threads in the target VM are resumed while
173 * the method is being invoked if they were previously
174 * suspended by an event or by {@link VirtualMachine#suspend} or
175 * {@link ThreadReference#suspend}. This is done to prevent the deadlocks
176 * that will occur if any of the threads own monitors
177 * that will be needed by the invoked method.
178 * Note, however, that this implicit resume acts exactly like
179 * {@link ThreadReference#resume}, so if the thread's suspend
180 * count is greater than 1, it will remain in a suspended state
181 * during the invocation and thus a deadlock could still occur.
182 * By default, when the invocation completes,
183 * all threads in the target VM are suspended, regardless their state
184 * before the invocation.
185 * It is possible that
186 * breakpoints or other events might occur during the invocation.
187 * This can cause deadlocks as described above. It can also cause a deadlock
188 * if invokeMethod is called from the client's event handler thread. In this
189 * case, this thread will be waiting for the invokeMethod to complete and
260 * does not return until the constructor returns in the target VM.
261 * If the invoked method throws an
262 * exception, this method will throw an {@link InvocationException}
263 * which contains a mirror to the exception object thrown.
264 * <p>
265 * Object arguments must be assignment compatible with the argument type
266 * (This implies that the argument type must be loaded through the
267 * enclosing class' class loader). Primitive arguments must be
268 * either assignment compatible with the argument type or must be
269 * convertible to the argument type without loss of information.
270 * If the method being called accepts a variable number of arguments,
271 * then the last argument type is an array of some component type.
272 * The argument in the matching position can be omitted, or can be null,
273 * an array of the same component type, or an argument of the
274 * component type, followed by any number of other arguments of the same
275 * type. If the argument is omitted, then a 0 length array of the
276 * component type is passed. The component type can be a primitive type.
277 * Autoboxing is not supported.
278 *
279 * See section 5.2 of
280 * <cite>The Java Language Specification</cite>
281 * for more information on assignment compatibility.
282 * <p>
283 * By default, all threads in the target VM are resumed while
284 * the method is being invoked if they were previously
285 * suspended by an event or by {@link VirtualMachine#suspend} or
286 * {@link ThreadReference#suspend}. This is done to prevent the deadlocks
287 * that will occur if any of the threads own monitors
288 * that will be needed by the invoked method. It is possible that
289 * breakpoints or other events might occur during the invocation.
290 * Note, however, that this implicit resume acts exactly like
291 * {@link ThreadReference#resume}, so if the thread's suspend
292 * count is greater than 1, it will remain in a suspended state
293 * during the invocation. By default, when the invocation completes,
294 * all threads in the target VM are suspended, regardless their state
295 * before the invocation.
296 * <p>
297 * The resumption of other threads during the invocation can be prevented
298 * by specifying the {@link #INVOKE_SINGLE_THREADED}
299 * bit flag in the <code>options</code> argument; however,
300 * there is no protection against or recovery from the deadlocks
|