< prev index next >

src/hotspot/os/solaris/dtrace/jhelper.d

Print this page




  94 
  95 dtrace:helper:ustack:
  96 /!init_done && !this->done/
  97 {
  98   MARK_LINE;
  99 
 100   copyin_offset(POINTER_SIZE);
 101   copyin_offset(COMPILER);
 102   copyin_offset(OFFSET_CollectedHeap_reserved);
 103   copyin_offset(OFFSET_MemRegion_start);
 104   copyin_offset(OFFSET_MemRegion_word_size);
 105   copyin_offset(SIZE_HeapWord);
 106 
 107   copyin_offset(OFFSET_interpreter_frame_method);
 108   copyin_offset(OFFSET_Klass_name);
 109   copyin_offset(OFFSET_ConstantPool_pool_holder);
 110 
 111   copyin_offset(OFFSET_HeapBlockHeader_used);
 112   copyin_offset(OFFSET_oopDesc_metadata);
 113 
 114   copyin_offset(OFFSET_Symbol_length);
 115   copyin_offset(OFFSET_Symbol_body);
 116 
 117   copyin_offset(OFFSET_Method_constMethod);
 118   copyin_offset(OFFSET_ConstMethod_constants);
 119   copyin_offset(OFFSET_ConstMethod_name_index);
 120   copyin_offset(OFFSET_ConstMethod_signature_index);
 121 
 122   copyin_offset(OFFSET_CodeHeap_memory);
 123   copyin_offset(OFFSET_CodeHeap_segmap);
 124   copyin_offset(OFFSET_CodeHeap_log2_segment_size);
 125 
 126   copyin_offset(OFFSET_GrowableArray_CodeHeap_data);
 127   copyin_offset(OFFSET_GrowableArray_CodeHeap_len);
 128 
 129   copyin_offset(OFFSET_VirtualSpace_low);
 130   copyin_offset(OFFSET_VirtualSpace_high);
 131 
 132   copyin_offset(OFFSET_CodeBlob_name);
 133 
 134   copyin_offset(OFFSET_nmethod_method);


 446 /!this->done && this->isMethod/
 447 {
 448   MARK_LINE;
 449   this->constMethod = copyin_ptr(this->methodPtr +
 450       OFFSET_Method_constMethod);
 451 
 452   this->nameIndex = copyin_uint16(this->constMethod +
 453       OFFSET_ConstMethod_name_index);
 454 
 455   this->signatureIndex = copyin_uint16(this->constMethod +
 456       OFFSET_ConstMethod_signature_index);
 457 
 458   this->constantPool = copyin_ptr(this->constMethod +
 459       OFFSET_ConstMethod_constants);
 460 
 461   this->nameSymbol = copyin_ptr(this->constantPool +
 462       this->nameIndex * sizeof (pointer) + SIZE_ConstantPool);
 463   /* The symbol is a CPSlot and has lower bit set to indicate metadata */
 464   this->nameSymbol &= (~1); /* remove metadata lsb */
 465 

 466   this->nameSymbolLength = copyin_uint16(this->nameSymbol +
 467       OFFSET_Symbol_length);
 468 
 469   this->signatureSymbol = copyin_ptr(this->constantPool +
 470       this->signatureIndex * sizeof (pointer) + SIZE_ConstantPool);
 471   this->signatureSymbol &= (~1); /* remove metadata lsb */
 472 
 473   this->signatureSymbolLength = copyin_uint16(this->signatureSymbol +
 474       OFFSET_Symbol_length);
 475 
 476   this->klassPtr = copyin_ptr(this->constantPool +
 477       OFFSET_ConstantPool_pool_holder);
 478 
 479   this->klassSymbol = copyin_ptr(this->klassPtr +
 480       OFFSET_Klass_name);
 481 
 482   this->klassSymbolLength = copyin_uint16(this->klassSymbol +
 483       OFFSET_Symbol_length);
 484 
 485   /*
 486    * Enough for three strings, plus the '.', plus the trailing '\0'.
 487    */
 488   this->result = (char *) alloca(this->klassSymbolLength +
 489       this->nameSymbolLength +
 490       this->signatureSymbolLength + 2 + 1);
 491 
 492   copyinto(this->klassSymbol + OFFSET_Symbol_body,
 493       this->klassSymbolLength, this->result);
 494 
 495   /*
 496    * Add the '.' between the class and the name.
 497    */
 498   this->result[this->klassSymbolLength] = '.';
 499 
 500   copyinto(this->nameSymbol + OFFSET_Symbol_body,
 501       this->nameSymbolLength,
 502       this->result + this->klassSymbolLength + 1);
 503 




  94 
  95 dtrace:helper:ustack:
  96 /!init_done && !this->done/
  97 {
  98   MARK_LINE;
  99 
 100   copyin_offset(POINTER_SIZE);
 101   copyin_offset(COMPILER);
 102   copyin_offset(OFFSET_CollectedHeap_reserved);
 103   copyin_offset(OFFSET_MemRegion_start);
 104   copyin_offset(OFFSET_MemRegion_word_size);
 105   copyin_offset(SIZE_HeapWord);
 106 
 107   copyin_offset(OFFSET_interpreter_frame_method);
 108   copyin_offset(OFFSET_Klass_name);
 109   copyin_offset(OFFSET_ConstantPool_pool_holder);
 110 
 111   copyin_offset(OFFSET_HeapBlockHeader_used);
 112   copyin_offset(OFFSET_oopDesc_metadata);
 113 
 114   copyin_offset(OFFSET_Symbol_length_and_refcount);
 115   copyin_offset(OFFSET_Symbol_body);
 116 
 117   copyin_offset(OFFSET_Method_constMethod);
 118   copyin_offset(OFFSET_ConstMethod_constants);
 119   copyin_offset(OFFSET_ConstMethod_name_index);
 120   copyin_offset(OFFSET_ConstMethod_signature_index);
 121 
 122   copyin_offset(OFFSET_CodeHeap_memory);
 123   copyin_offset(OFFSET_CodeHeap_segmap);
 124   copyin_offset(OFFSET_CodeHeap_log2_segment_size);
 125 
 126   copyin_offset(OFFSET_GrowableArray_CodeHeap_data);
 127   copyin_offset(OFFSET_GrowableArray_CodeHeap_len);
 128 
 129   copyin_offset(OFFSET_VirtualSpace_low);
 130   copyin_offset(OFFSET_VirtualSpace_high);
 131 
 132   copyin_offset(OFFSET_CodeBlob_name);
 133 
 134   copyin_offset(OFFSET_nmethod_method);


 446 /!this->done && this->isMethod/
 447 {
 448   MARK_LINE;
 449   this->constMethod = copyin_ptr(this->methodPtr +
 450       OFFSET_Method_constMethod);
 451 
 452   this->nameIndex = copyin_uint16(this->constMethod +
 453       OFFSET_ConstMethod_name_index);
 454 
 455   this->signatureIndex = copyin_uint16(this->constMethod +
 456       OFFSET_ConstMethod_signature_index);
 457 
 458   this->constantPool = copyin_ptr(this->constMethod +
 459       OFFSET_ConstMethod_constants);
 460 
 461   this->nameSymbol = copyin_ptr(this->constantPool +
 462       this->nameIndex * sizeof (pointer) + SIZE_ConstantPool);
 463   /* The symbol is a CPSlot and has lower bit set to indicate metadata */
 464   this->nameSymbol &= (~1); /* remove metadata lsb */
 465 
 466   /* Because sparc is big endian, the top half length is at the correct offset. */
 467   this->nameSymbolLength = copyin_uint16(this->nameSymbol +
 468       OFFSET_Symbol_length_and_refcount);
 469 
 470   this->signatureSymbol = copyin_ptr(this->constantPool +
 471       this->signatureIndex * sizeof (pointer) + SIZE_ConstantPool);
 472   this->signatureSymbol &= (~1); /* remove metadata lsb */
 473 
 474   this->signatureSymbolLength = copyin_uint16(this->signatureSymbol +
 475       OFFSET_Symbol_length_and_refcount);
 476 
 477   this->klassPtr = copyin_ptr(this->constantPool +
 478       OFFSET_ConstantPool_pool_holder);
 479 
 480   this->klassSymbol = copyin_ptr(this->klassPtr +
 481       OFFSET_Klass_name);
 482 
 483   this->klassSymbolLength = copyin_uint16(this->klassSymbol +
 484       OFFSET_Symbol_length_and_refcount);
 485 
 486   /*
 487    * Enough for three strings, plus the '.', plus the trailing '\0'.
 488    */
 489   this->result = (char *) alloca(this->klassSymbolLength +
 490       this->nameSymbolLength +
 491       this->signatureSymbolLength + 2 + 1);
 492 
 493   copyinto(this->klassSymbol + OFFSET_Symbol_body,
 494       this->klassSymbolLength, this->result);
 495 
 496   /*
 497    * Add the '.' between the class and the name.
 498    */
 499   this->result[this->klassSymbolLength] = '.';
 500 
 501   copyinto(this->nameSymbol + OFFSET_Symbol_body,
 502       this->nameSymbolLength,
 503       this->result + this->klassSymbolLength + 1);
 504 


< prev index next >