< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateOverHeap/iterheap004/iterheap004.cpp

Print this page
rev 52200 : [mq]: spaces


  69         nsk_jvmti_setFailStatus();
  70         callbackAborted = 1;
  71         NSK_COMPLAIN0("heapObjectCallbackForFirstIteration: Allocation failed. Iteration aborted.\n");
  72         return JVMTI_ITERATION_ABORT;
  73     }
  74     objectDescBuf->next = objectDescList;
  75     objectDescList = objectDescBuf;
  76 
  77     return JVMTI_ITERATION_CONTINUE;
  78 }
  79 
  80 /** heapRootCallback for second heap iterator. */
  81 jvmtiIterationControl JNICALL
  82 heapObjectCallbackForSecondIteration(jlong class_tag,
  83                    jlong size,
  84                    jlong* tag_ptr,
  85                    void* user_data) {
  86 
  87     long ind = (long)((*tag_ptr) - 1);
  88 
  89     if (ind < 0 || ind > objectDescCount ) {
  90         NSK_COMPLAIN1("heapObjectCallbackForSecondIteration: invalid object tag value: %d\n", (long)*tag_ptr);
  91         nsk_jvmti_setFailStatus();
  92         callbackAborted = 1;
  93         return JVMTI_ITERATION_ABORT;
  94     }
  95 
  96     /* Deallocate memory of list element*/
  97     if (!NSK_JVMTI_VERIFY(
  98             jvmti->Deallocate((unsigned char*)objectDescArr[ind]))) {
  99         nsk_jvmti_setFailStatus();
 100         callbackAborted = 1;
 101         NSK_COMPLAIN0("heapObjectCallbackForSecondIteration: Deallocation failed. Iteration aborted.\n");
 102         return JVMTI_ITERATION_ABORT;
 103     }
 104 
 105     numberOfDeallocatedFromCallbacksDescriptors++;
 106     deallocatedFlagsArr[ind] = 1;
 107 
 108     /* unset tag */
 109     *tag_ptr = 0;




  69         nsk_jvmti_setFailStatus();
  70         callbackAborted = 1;
  71         NSK_COMPLAIN0("heapObjectCallbackForFirstIteration: Allocation failed. Iteration aborted.\n");
  72         return JVMTI_ITERATION_ABORT;
  73     }
  74     objectDescBuf->next = objectDescList;
  75     objectDescList = objectDescBuf;
  76 
  77     return JVMTI_ITERATION_CONTINUE;
  78 }
  79 
  80 /** heapRootCallback for second heap iterator. */
  81 jvmtiIterationControl JNICALL
  82 heapObjectCallbackForSecondIteration(jlong class_tag,
  83                    jlong size,
  84                    jlong* tag_ptr,
  85                    void* user_data) {
  86 
  87     long ind = (long)((*tag_ptr) - 1);
  88 
  89     if (ind < 0 || ind > objectDescCount) {
  90         NSK_COMPLAIN1("heapObjectCallbackForSecondIteration: invalid object tag value: %d\n", (long)*tag_ptr);
  91         nsk_jvmti_setFailStatus();
  92         callbackAborted = 1;
  93         return JVMTI_ITERATION_ABORT;
  94     }
  95 
  96     /* Deallocate memory of list element*/
  97     if (!NSK_JVMTI_VERIFY(
  98             jvmti->Deallocate((unsigned char*)objectDescArr[ind]))) {
  99         nsk_jvmti_setFailStatus();
 100         callbackAborted = 1;
 101         NSK_COMPLAIN0("heapObjectCallbackForSecondIteration: Deallocation failed. Iteration aborted.\n");
 102         return JVMTI_ITERATION_ABORT;
 103     }
 104 
 105     numberOfDeallocatedFromCallbacksDescriptors++;
 106     deallocatedFlagsArr[ind] = 1;
 107 
 108     /* unset tag */
 109     *tag_ptr = 0;


< prev index next >