src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m
changeset 52713 8586613959f0
parent 50818 e46b9e514479
child 58017 9726449d2644
equal deleted inserted replaced
52712:d17e09494308 52713:8586613959f0
   439   n = get_num_threads(ph);
   439   n = get_num_threads(ph);
   440   print_debug("fill_java_threads called, num_of_thread = %d\n", n);
   440   print_debug("fill_java_threads called, num_of_thread = %d\n", n);
   441   for (i = 0; i < n; i++) {
   441   for (i = 0; i < n; i++) {
   442     if (!get_nth_lwp_regs(ph, i, &regs)) {
   442     if (!get_nth_lwp_regs(ph, i, &regs)) {
   443       print_debug("Could not get regs of thread %d, already set!\n", i);
   443       print_debug("Could not get regs of thread %d, already set!\n", i);
       
   444       (*env)->ReleaseLongArrayElements(env, thrinfos, (jlong*)cinfos, 0);
   444       return false;
   445       return false;
   445     }
   446     }
   446     for (j = 0; j < len; j += 3) {
   447     for (j = 0; j < len; j += 3) {
   447       lwpid_t  uid = cinfos[j];
   448       lwpid_t  uid = cinfos[j];
   448       uint64_t beg = cinfos[j + 1];
   449       uint64_t beg = cinfos[j + 1];
   517   regs[REG_INDEX(FS)] = gregs.r_fs;
   518   regs[REG_INDEX(FS)] = gregs.r_fs;
   518   regs[REG_INDEX(GS)] = gregs.r_gs;
   519   regs[REG_INDEX(GS)] = gregs.r_gs;
   519   regs[REG_INDEX(TRAPNO)] = gregs.r_trapno;
   520   regs[REG_INDEX(TRAPNO)] = gregs.r_trapno;
   520   regs[REG_INDEX(RFL)]    = gregs.r_rflags;
   521   regs[REG_INDEX(RFL)]    = gregs.r_rflags;
   521 
   522 
       
   523   (*env)->ReleaseLongArrayElements(env, array, regs, JNI_COMMIT);
   522 #endif /* amd64 */
   524 #endif /* amd64 */
   523   (*env)->ReleaseLongArrayElements(env, array, regs, JNI_COMMIT);
       
   524   return array;
   525   return array;
   525 }
   526 }
   526 
   527 
   527 /*
   528 /*
   528  * Lookup the thread_t that corresponds to the given thread_id.
   529  * Lookup the thread_t that corresponds to the given thread_id.