예제 #1
0
void HelperClass_set_GenMode(Boolean status)
{
  if(!java_helper_inlined) return;

  unsigned int nfields = class_number_fields(GCHelper_clss);
  unsigned int i;
  
  for(i=0; i<nfields; i++){
    Field_Handle field = class_get_field(GCHelper_clss, i);
    if(!strcmp(field_get_name(field), "GEN_MODE")){
      jboolean* p_gen_mode = (jboolean*)field_get_address(field);
      *p_gen_mode = (jboolean)status;
      break;
    }
  }
  
  assert(i<nfields);
  
/*
  hythread_suspend_enable();
  
  //"org.apache.harmony.drlvm.gc_gen.GCHelper" 
  jclass GCHelper = jni_env->FindClass("GCHelper");
  jfieldID gen_mode_field = jni_env->GetStaticFieldID(GCHelper, "GEN_MODE", "Z");
  assert(gen_mode_field);
  
  jni_env->SetStaticBooleanField(GCHelper, gen_mode_field, status?JNI_TRUE:JNI_FALSE);
  
  hythread_suspend_disable();
*/  
  return;
}
예제 #2
0
//============================================
//   体の各設定値の表示
//============================================
void test_feature(Field f)
{
    fprintf(stdout, "---\n");
    fprintf(stdout, "FieldType: %s\n", field_get_name(f));
    gmp_fprintf(stdout, "   characteristic: %Zx\n", *field_get_char(f));
    gmp_fprintf(stdout, "   order of field: %Zx^%d\n", *field_get_char(f), field_get_degree(f));
    fprintf(stdout, "---\n");
}
예제 #3
0
파일: output.c 프로젝트: CESNET/fdistdump
void print_rec(const uint8_t *data)
{
        size_t off = 0;
        static bool first_rec = true;
        static size_t col_width[LNF_FLD_TERM_];


        if (output_params.print_records != OUTPUT_ITEM_YES) {
                return;
        }

        if (first_rec) {
                first_item = first_item ? false : (putchar('\n'), false);

                for (size_t i = 0; i < fields_cnt; ++i) {
                        const char *header_str = field_get_name(fields[i].id);
                        const size_t header_str_len = strlen(header_str);
                        const size_t field_str_len = strlen(field_to_str(
                                                fields[i].id, data + off));

                        col_width[i] = header_str_len > field_str_len ?
                                header_str_len : field_str_len;
                        col_width[i] += COL_WIDTH_RESERVE;
                        off += fields[i].size;

                        print_field(header_str, col_width[i],
                                        PRETTY_PRINT_COL_WIDTH -
                                        COL_WIDTH_RESERVE,
                                        i == (fields_cnt - 1));
                }

                off = 0;
                first_rec = false;
        }

        /* Loop through the fields in one record. */
        for (size_t i = 0; i < fields_cnt; ++i) {
                print_field(field_to_str(fields[i].id, data + off),
                                col_width[i], PRETTY_PRINT_COL_WIDTH -
                                COL_WIDTH_RESERVE,
                                i == (fields_cnt - 1));
                off += fields[i].size;
        }
}
예제 #4
0
void HelperClass_set_NosBoundary(void* boundary)
{
  if(!java_helper_inlined) return;

  unsigned int nfields = class_number_fields(GCHelper_clss);
  unsigned int i;
  
  for(i=0; i<nfields; i++){
    Field_Handle field = class_get_field(GCHelper_clss, i);
    if(!strcmp(field_get_name(field), "NOS_BOUNDARY")){
      //jint* p_nos_boundary = (jint*)field_get_address(field);
      //*p_nos_boundary = (jint)boundary;
      jobject* p_nos_boundary = (jobject*)field_get_address(field);
      *p_nos_boundary = (jobject)boundary;
      break;
    }
  }
  
  assert(i<nfields);

  return;
}
예제 #5
0
파일: output.c 프로젝트: CESNET/fdistdump
error_code_t print_mem(lnf_mem_t *mem, size_t limit)
{
        lnf_rec_t *rec; //record = line
        size_t rec_cntr = 0; //aka lines counter

        lnf_mem_cursor_t *cursor; //current record (line) cursor
        size_t fld_max_size = 0; //maximum data size length in bytes
        size_t data_max_strlen[LNF_FLD_TERM_] = {0}; //maximum data string len


        if (output_params.print_records != OUTPUT_ITEM_YES) {
                return E_OK;
        }
        first_item = first_item ? false : (putchar('\n'), false);

        secondary_errno = lnf_rec_init(&rec);
        if (secondary_errno != LNF_OK) {
                print_err(E_LNF, secondary_errno, "lnf_rec_init()");
                return E_LNF;
        }


        /*
         * Find out maximum data type size of present fields, length of headers
         * and last present field ID.
         */
        for (size_t i = 0; i < fields_cnt; ++i) {
                size_t header_str_len = strlen(field_get_name(fields[i].id));

                MAX_ASSIGN(fld_max_size, fields[i].size);
                MAX_ASSIGN(data_max_strlen[fields[i].id], header_str_len);
        }

        /* Find out max data length, converted to string. */
        lnf_mem_first_c(mem, &cursor);
        while (cursor != NULL) { //row loop
                char buff[fld_max_size];

                lnf_mem_read_c(mem, cursor, rec);

                for (size_t i = 0; i < fields_cnt; ++i) { //column loop
                        size_t data_str_len;

                        //XXX: lnf_rec_fget() may return LNF_ERR_UNKFLD even if
                        //field is present (e.g. if duration is zero).
                        lnf_rec_fget(rec, fields[i].id, buff);
                        data_str_len = strlen(field_to_str(fields[i].id, buff));
                        MAX_ASSIGN(data_max_strlen[fields[i].id], data_str_len);
                }

                if (++rec_cntr == limit) {
                        break;
                }

                lnf_mem_next_c(mem, &cursor);
        }
        rec_cntr = 0;


        /* Actual printing: header. */
        for (size_t i = 0; i < fields_cnt; ++i) { //column loop
                print_field(field_get_name(fields[i].id),
                                data_max_strlen[fields[i].id],
                                PRETTY_PRINT_COL_WIDTH, i == (fields_cnt - 1));
        }

        /* Actual printing: field data converted to string. */
        lnf_mem_first_c(mem, &cursor);
        while (cursor != NULL) { //row loop
                char buff[fld_max_size];

                lnf_mem_read_c(mem, cursor, rec);

                for (size_t i = 0; i < fields_cnt; ++i) { //column loop
                        //XXX: see above lnf_rec_fget()
                        lnf_rec_fget(rec, fields[i].id, buff);

                        print_field(field_to_str(fields[i].id, buff),
                                        data_max_strlen[fields[i].id],
                                        PRETTY_PRINT_COL_WIDTH,
                                        i == (fields_cnt - 1));
                }

                if (++rec_cntr == limit) {
                        break;
                }

                lnf_mem_next_c(mem, &cursor);
        }

        lnf_rec_free(rec);

        return E_OK;
}