Home | History | Annotate | Download | only in jdwp

Lines Matching defs:pEvent

127 static void dumpEvent(const JdwpEvent* pEvent) {
128 LOG(INFO) << StringPrintf("Event id=0x%4x %p (prev=%p next=%p):", pEvent->requestId, pEvent, pEvent->prev, pEvent->next);
129 LOG(INFO) << " kind=" << pEvent->eventKind << " susp=" << pEvent->suspend_policy << " modCount=" << pEvent->modCount;
131 for (int i = 0; i < pEvent->modCount; i++) {
132 const JdwpEventMod* pMod = &pEvent->mods[i];
145 JdwpError JdwpState::RegisterEvent(JdwpEvent* pEvent) {
146 CHECK(pEvent != NULL);
147 CHECK(pEvent->prev == NULL);
148 CHECK(pEvent->next == NULL);
154 for (int i = 0; i < pEvent->modCount; i++) {
155 const JdwpEventMod* pMod = &pEvent->mods[i];
169 dumpEvent(pEvent); /* TODO - need for field watches */
178 pEvent->next = event_list_;
179 event_list_->prev = pEvent;
181 event_list_ = pEvent;
195 void JdwpState::UnregisterEvent(JdwpEvent* pEvent) {
196 if (pEvent->prev == NULL) {
198 CHECK(event_list_ == pEvent);
200 event_list_ = pEvent->next;
202 pEvent->prev->next = pEvent->next;
205 if (pEvent->next != NULL) {
206 pEvent->next->prev = pEvent->prev;
207 pEvent->next = NULL;
209 pEvent->prev = NULL;
214 for (int i = 0; i < pEvent->modCount; i++) {
215 JdwpEventMod* pMod = &pEvent->mods[i];
240 JdwpEvent* pEvent = event_list_;
241 while (pEvent != NULL) {
242 if (pEvent->requestId == requestId) {
243 UnregisterEvent(pEvent);
244 EventFree(pEvent);
248 pEvent = pEvent->next;
260 JdwpEvent* pEvent = event_list_;
261 while (pEvent != NULL) {
262 JdwpEvent* pNextEvent = pEvent->next;
264 UnregisterEvent(pEvent);
265 EventFree(pEvent);
266 pEvent = pNextEvent;
289 void EventFree(JdwpEvent* pEvent) {
290 if (pEvent == NULL) {
295 CHECK(pEvent->prev == NULL);
296 CHECK(pEvent->next == NULL);
297 /* want to check state->event_list_ != pEvent */
302 for (int i = 0; i < pEvent->modCount; i++) {
303 if (pEvent->mods[i].modKind == MK_CLASS_MATCH) {
304 free(pEvent->mods[i].classMatch.classPattern);
305 pEvent->mods[i].classMatch.classPattern = NULL;
307 if (pEvent->mods[i].modKind == MK_CLASS_EXCLUDE) {
308 free(pEvent->mods[i].classExclude.classPattern);
309 pEvent->mods[i].classExclude.classPattern = NULL;
313 free(pEvent);
334 JdwpEvent* pEvent = *ppEvent;
336 for (int i = 0; i < pEvent->modCount; i++) {
337 if (pEvent->mods[i].modKind == MK_COUNT && pEvent->mods[i].count.count == 0) {
339 UnregisterEvent(pEvent);
340 EventFree(pEvent);
378 static bool ModsMatch(JdwpEvent* pEvent, ModBasket* basket)
380 JdwpEventMod* pMod = pEvent->mods;
382 for (int i = pEvent->modCount; i > 0; i--, pMod++) {
462 JdwpEvent* pEvent = event_list_;
463 while (pEvent != NULL) {
464 if (pEvent->eventKind == eventKind && ModsMatch(pEvent, basket)) {
465 *match_list++ = pEvent;
469 pEvent = pEvent->next;