< prev index next >

src/jdk.jdwp.agent/share/native/libjdwp/StackFrameImpl.c

Print this page

431     frame = inStream_readFrameID(in);
432     if (inStream_error(in)) {
433         return JNI_TRUE;
434     }
435 
436     /*
437      * Validate the frame id
438      */
439     serror = validateThreadFrame(thread, frame);
440     if (serror != JDWP_ERROR(NONE)) {
441         outStream_setError(out, serror);
442         return JNI_TRUE;
443     }
444 
445     if (threadControl_isDebugThread(thread)) {
446         outStream_setError(out, JDWP_ERROR(INVALID_THREAD));
447         return JNI_TRUE;
448     }
449 
450     fnum = getFrameNumber(frame);

451     error = threadControl_popFrames(thread, fnum);
452     if (error != JVMTI_ERROR_NONE) {
453         serror = map2jdwpError(error);
454         outStream_setError(out, serror);
455     }
456     return JNI_TRUE;
457 }
458 
459 Command StackFrame_Commands[] = {
460     {getValues, "GetValues"},
461     {setValues, "SetValues"},
462     {thisObject, "ThisObject"},
463     {popFrames, "PopFrames"}
464 };
465 
466 DEBUG_DISPATCH_DEFINE_CMDSET(StackFrame)

431     frame = inStream_readFrameID(in);
432     if (inStream_error(in)) {
433         return JNI_TRUE;
434     }
435 
436     /*
437      * Validate the frame id
438      */
439     serror = validateThreadFrame(thread, frame);
440     if (serror != JDWP_ERROR(NONE)) {
441         outStream_setError(out, serror);
442         return JNI_TRUE;
443     }
444 
445     if (threadControl_isDebugThread(thread)) {
446         outStream_setError(out, JDWP_ERROR(INVALID_THREAD));
447         return JNI_TRUE;
448     }
449 
450     fnum = getFrameNumber(frame);
451     /* vthread fixme: add vthread support */
452     error = threadControl_popFrames(thread, fnum);
453     if (error != JVMTI_ERROR_NONE) {
454         serror = map2jdwpError(error);
455         outStream_setError(out, serror);
456     }
457     return JNI_TRUE;
458 }
459 
460 Command StackFrame_Commands[] = {
461     {getValues, "GetValues"},
462     {setValues, "SetValues"},
463     {thisObject, "ThisObject"},
464     {popFrames, "PopFrames"}
465 };
466 
467 DEBUG_DISPATCH_DEFINE_CMDSET(StackFrame)
< prev index next >