Lines Matching refs:command
133 commandSize(HelperCommand *command) in commandSize() argument
136 if (command->commandKind == COMMAND_REPORT_EVENT_COMPOSITE) { in commandSize()
143 (command->u.reportEventComposite.eventCount - 1)); in commandSize()
149 freeCommand(HelperCommand *command) in freeCommand() argument
151 if ( command == NULL ) in freeCommand()
153 jvmtiDeallocate(command); in freeCommand()
157 enqueueCommand(HelperCommand *command, in enqueueCommand() argument
162 jint size = commandSize(command); in enqueueCommand()
164 command->done = JNI_FALSE; in enqueueCommand()
165 command->waiting = wait; in enqueueCommand()
166 command->next = NULL; in enqueueCommand()
180 queue->head = command; in enqueueCommand()
182 queue->tail->next = command; in enqueueCommand()
184 queue->tail = command; in enqueueCommand()
195 while (!command->done) { in enqueueCommand()
199 freeCommand(command); in enqueueCommand()
205 completeCommand(HelperCommand *command) in completeCommand() argument
207 if (command->waiting) { in completeCommand()
209 command->done = JNI_TRUE; in completeCommand()
214 freeCommand(command); in completeCommand()
221 HelperCommand *command = NULL; in dequeueCommand() local
227 while (command == NULL) { in dequeueCommand()
233 command = queue->head; in dequeueCommand()
234 queue->head = command->next; in dequeueCommand()
235 if (queue->tail == command) { in dequeueCommand()
241 size = commandSize(command); in dequeueCommand()
246 if (gdata->vmDead || command->sessionID != currentSessionID) { in dequeueCommand()
248 completeCommand(command); in dequeueCommand()
249 command = NULL; in dequeueCommand()
261 return command; in dequeueCommand()
404 EventCommandSingle *command) in handleEventCommandSingle() argument
406 EventInfo *evinfo = &command->info; in handleEventCommandSingle()
409 (void)outStream_writeInt(out, command->id); in handleEventCommandSingle()
453 UnloadCommandSingle *command) in handleUnloadCommandSingle() argument
456 (void)outStream_writeInt(out, command->id); in handleUnloadCommandSingle()
457 (void)outStream_writeString(out, command->classSignature); in handleUnloadCommandSingle()
458 jvmtiDeallocate(command->classSignature); in handleUnloadCommandSingle()
459 command->classSignature = NULL; in handleUnloadCommandSingle()
464 FrameEventCommandSingle *command) in handleFrameEventCommandSingle() argument
466 if (command->typeKey) { in handleFrameEventCommandSingle()
469 (void)outStream_writeByte(out, eventIndex2jdwp(command->ei)); in handleFrameEventCommandSingle()
471 (void)outStream_writeInt(out, command->id); in handleFrameEventCommandSingle()
472 (void)outStream_writeObjectRef(env, out, command->thread); in handleFrameEventCommandSingle()
473 writeCodeLocation(out, command->clazz, command->method, command->location); in handleFrameEventCommandSingle()
474 if (command->typeKey) { in handleFrameEventCommandSingle()
475 (void)outStream_writeValue(env, out, command->typeKey, command->returnValue); in handleFrameEventCommandSingle()
476 if (isObjectTag(command->typeKey) && in handleFrameEventCommandSingle()
477 command->returnValue.l != NULL) { in handleFrameEventCommandSingle()
478 tossGlobalRef(env, &(command->returnValue.l)); in handleFrameEventCommandSingle()
481 tossGlobalRef(env, &(command->thread)); in handleFrameEventCommandSingle()
482 tossGlobalRef(env, &(command->clazz)); in handleFrameEventCommandSingle()
560 handleReportInvokeDoneCommand(JNIEnv* env, ReportInvokeDoneCommand *command) in handleReportInvokeDoneCommand() argument
562 invoker_completeInvokeRequest(command->thread); in handleReportInvokeDoneCommand()
563 tossGlobalRef(env, &(command->thread)); in handleReportInvokeDoneCommand()
567 handleReportVMInitCommand(JNIEnv* env, ReportVMInitCommand *command) in handleReportVMInitCommand() argument
571 if (command->suspendPolicy == JDWP_SUSPEND_POLICY(ALL)) { in handleReportVMInitCommand()
573 } else if (command->suspendPolicy == JDWP_SUSPEND_POLICY(EVENT_THREAD)) { in handleReportVMInitCommand()
574 (void)threadControl_suspendThread(command->thread, JNI_FALSE); in handleReportVMInitCommand()
580 (void)outStream_writeByte(&out, command->suspendPolicy); in handleReportVMInitCommand()
585 (void)outStream_writeObjectRef(env, &out, command->thread); in handleReportVMInitCommand()
593 handleSuspendThreadCommand(JNIEnv* env, SuspendThreadCommand *command) in handleSuspendThreadCommand() argument
599 (void)threadControl_suspendThread(command->thread, JNI_TRUE); in handleSuspendThreadCommand()
600 tossGlobalRef(env, &(command->thread)); in handleSuspendThreadCommand()
604 handleCommand(JNIEnv *env, HelperCommand *command) in handleCommand() argument
606 switch (command->commandKind) { in handleCommand()
609 &command->u.reportEventComposite); in handleCommand()
612 handleReportInvokeDoneCommand(env, &command->u.reportInvokeDone); in handleCommand()
615 handleReportVMInitCommand(env, &command->u.reportVMInit); in handleCommand()
618 handleSuspendThreadCommand(env, &command->u.suspendThread); in handleCommand()
696 HelperCommand *command = dequeueCommand(); in commandLoop() local
697 if (command != NULL) { in commandLoop()
702 jboolean doBlock = needBlockCommandLoop(command); in commandLoop()
704 handleCommand(jni_env, command); in commandLoop()
705 completeCommand(command); in commandLoop()
889 CommandSingle *command = cv; in enumForCombinedSuspendPolicy() local
893 switch(command->singleKind) { in enumForCombinedSuspendPolicy()
895 thisPolicy = command->u.eventCommand.suspendPolicy; in enumForCombinedSuspendPolicy()
898 thisPolicy = command->u.frameEventCommand.suspendPolicy; in enumForCombinedSuspendPolicy()
924 CommandSingle *command = cv; in enumForVMDeath() local
927 if (command->singleKind == COMMAND_SINGLE_EVENT) { in enumForVMDeath()
928 if (command->u.eventCommand.info.ei == EI_VM_DEATH) { in enumForVMDeath()
942 enumForCopyingSingles(void *command, void *tv) in enumForCopyingSingles() argument
946 command, in enumForCopyingSingles()
960 HelperCommand *command; in eventHelper_reportEvents() local
973 command = jvmtiAllocate(command_size); in eventHelper_reportEvents()
974 (void)memset(command, 0, command_size); in eventHelper_reportEvents()
975 command->commandKind = COMMAND_REPORT_EVENT_COMPOSITE; in eventHelper_reportEvents()
976 command->sessionID = sessionID; in eventHelper_reportEvents()
977 recc = &command->u.reportEventComposite; in eventHelper_reportEvents()
991 enqueueCommand(command, wait, reportingVMDeath); in eventHelper_reportEvents()
1000 CommandSingle *command = bagAdd(eventBag); in eventHelper_recordEvent() local
1001 if (command == NULL) { in eventHelper_recordEvent()
1005 command->singleKind = COMMAND_SINGLE_EVENT; in eventHelper_recordEvent()
1006 command->u.eventCommand.suspendPolicy = suspendPolicy; in eventHelper_recordEvent()
1007 command->u.eventCommand.id = id; in eventHelper_recordEvent()
1013 (void)memcpy(&command->u.eventCommand.info, evinfo, sizeof(*evinfo)); in eventHelper_recordEvent()
1014 saveEventInfoRefs(env, &command->u.eventCommand.info); in eventHelper_recordEvent()
1020 CommandSingle *command = bagAdd(eventBag); in eventHelper_recordClassUnload() local
1021 if (command == NULL) { in eventHelper_recordClassUnload()
1024 command->singleKind = COMMAND_SINGLE_UNLOAD; in eventHelper_recordClassUnload()
1025 command->u.unloadCommand.id = id; in eventHelper_recordClassUnload()
1026 command->u.unloadCommand.classSignature = signature; in eventHelper_recordClassUnload()
1039 CommandSingle *command = bagAdd(eventBag); in eventHelper_recordFrameEvent() local
1041 if (command == NULL) { in eventHelper_recordFrameEvent()
1045 command->singleKind = COMMAND_SINGLE_FRAME_EVENT; in eventHelper_recordFrameEvent()
1046 frameCommand = &command->u.frameEventCommand; in eventHelper_recordFrameEvent()
1080 HelperCommand *command = jvmtiAllocate(sizeof(*command)); in eventHelper_reportInvokeDone() local
1081 if (command == NULL) { in eventHelper_reportInvokeDone()
1084 (void)memset(command, 0, sizeof(*command)); in eventHelper_reportInvokeDone()
1085 command->commandKind = COMMAND_REPORT_INVOKE_DONE; in eventHelper_reportInvokeDone()
1086 command->sessionID = sessionID; in eventHelper_reportInvokeDone()
1087 saveGlobalRef(env, thread, &(command->u.reportInvokeDone.thread)); in eventHelper_reportInvokeDone()
1088 enqueueCommand(command, JNI_TRUE, JNI_FALSE); in eventHelper_reportInvokeDone()
1098 HelperCommand *command = jvmtiAllocate(sizeof(*command)); in eventHelper_reportVMInit() local
1099 if (command == NULL) { in eventHelper_reportVMInit()
1102 (void)memset(command, 0, sizeof(*command)); in eventHelper_reportVMInit()
1103 command->commandKind = COMMAND_REPORT_VM_INIT; in eventHelper_reportVMInit()
1104 command->sessionID = sessionID; in eventHelper_reportVMInit()
1105 saveGlobalRef(env, thread, &(command->u.reportVMInit.thread)); in eventHelper_reportVMInit()
1106 command->u.reportVMInit.suspendPolicy = suspendPolicy; in eventHelper_reportVMInit()
1107 enqueueCommand(command, JNI_TRUE, JNI_FALSE); in eventHelper_reportVMInit()
1114 HelperCommand *command = jvmtiAllocate(sizeof(*command)); in eventHelper_suspendThread() local
1115 if (command == NULL) { in eventHelper_suspendThread()
1118 (void)memset(command, 0, sizeof(*command)); in eventHelper_suspendThread()
1119 command->commandKind = COMMAND_SUSPEND_THREAD; in eventHelper_suspendThread()
1120 command->sessionID = sessionID; in eventHelper_suspendThread()
1121 saveGlobalRef(env, thread, &(command->u.suspendThread.thread)); in eventHelper_suspendThread()
1122 enqueueCommand(command, JNI_TRUE, JNI_FALSE); in eventHelper_suspendThread()