コード例 #1
0
 size_type total_size() const
 {
    if(alloc_type() != anonymous_type){
       return name_offset() + (m_num_char+1)*sizeof_char();
    }
    else{
       return this->value_offset() + m_value_bytes;
    }
 }
コード例 #2
0
void ClassInfo::print_value_on(Stream* st) {
#if ENABLE_TTY_TRACE
  st->print("ClassInfo ");

  ReturnOop raw_name = obj_field(name_offset());
  if (raw_name == Symbols::unknown()->obj()) {
    st->print("(renamed) ");
  }

  print_name_on(st);
#endif
}
コード例 #3
0
ファイル: ClassInfo.cpp プロジェクト: jiangxilong/yari
void ClassInfo::print_value_on(Stream* st) {
#if USE_DEBUG_PRINTING
  st->print("ClassInfo ");

  ReturnOop raw_name = obj_field(name_offset());
  if (raw_name == Symbols::unknown()->obj()) {
    st->print("(renamed) ");
  }

  print_name_on(st);
#endif
}
コード例 #4
0
ファイル: ThreadObj.cpp プロジェクト: sfsy1989/j2me
void ThreadObj::verify_fields() {
  UsingFastOops fast_oops;
  InstanceClass::Fast ic = Universe::thread_class();
  ic().verify_instance_field("priority",      "I",
                              priority_offset());
  ic().verify_instance_field("vm_thread",     "Ljava/lang/Object;",
                              thread_offset());
  ic().verify_instance_field("is_terminated", "I",
                              is_terminated_offset());
  ic().verify_instance_field("is_stillborn",  "I",
                              is_stillborn_offset());
#if ENABLE_CLDC_11
  ic().verify_instance_field("name",          "[C",
                              name_offset());
#endif
}
コード例 #5
0
 CharType *name() const
 {  
    return const_cast<CharType*>(reinterpret_cast<const CharType*>
       (reinterpret_cast<const char*>(this) + name_offset()));
 }
コード例 #6
0
ファイル: ClassInfo.cpp プロジェクト: jiangxilong/yari
void ClassInfo::iterate(OopVisitor* visitor) {
#if USE_OOP_VISITOR
  Oop::iterate(visitor);

  {
    NamedField id("object_size", true);
    visitor->do_ushort(&id, object_size_offset(), true);
  }

  {
    NamedField id("vtable_length", true);
    visitor->do_ushort(&id, vtable_length_offset(), true);
  }

  {
    NamedField id("itable_length", true);
    visitor->do_ushort(&id, itable_length_offset(), true);
  }

  {
    NamedField id("class_id", true);
    visitor->do_ushort(&id, class_id_offset(), true);
  }

  {
    NamedField id("name", true);
    visitor->do_oop(&id, name_offset(), true);
  }

  {
    char buff[1024];
    access_flags().print_to_buffer(buff, AccessFlags::CLASS_FLAGS);
    visitor->do_comment(buff);
    NamedField id("access_flags", true);
    id.set_hex_output(true);
    visitor->do_uint(&id, access_flags_offset(), true);
  }

  if (is_array()) {
    {
      NamedField id("type", true);
      visitor->do_int(&id, type_offset(), true);
    }
    { 
      NamedField id("scale", true);
      visitor->do_int(&id, scale_offset(), true);
    }
  } else {
    {
      NamedField id("methods", true);
      visitor->do_oop(&id, methods_offset(), true);
    }
    {
      NamedField id("fields", true);
      visitor->do_oop(&id, fields_offset(), true);
    }
    {
      NamedField id("local_interfaces", true);
      visitor->do_oop(&id, local_interfaces_offset(), true);
    }
#if ENABLE_REFLECTION
    {
      NamedField id("inner_classes", true);
      visitor->do_oop(&id, inner_classes_offset(), true);
    }
#endif
    {
      NamedField id("constants", true);
      visitor->do_oop(&id, constants_offset(), true);
    }
  }

  iterate_tables(visitor);
#endif
}
コード例 #7
0
 // Accessors for name
 ReturnOop get_name() {
   return obj_field(name_offset());
 }
コード例 #8
0
ファイル: ClassInfo.hpp プロジェクト: jiangxilong/yari
 void set_name(Symbol* value) {
   obj_field_put(name_offset(), (Oop*)value);
 }
コード例 #9
0
ファイル: ClassInfo.hpp プロジェクト: jiangxilong/yari
 //
 // Accessors to name
 //
 ReturnOop name() const {
   return obj_field(name_offset());
 }
コード例 #10
0
 CharType *name() const
 {  
    return reinterpret_cast<CharType*>
    (detail::char_ptr_cast(this) + name_offset());
 }