hotspot/src/os/solaris/dtrace/generateJvmOffsets.cpp
changeset 26796 666464578742
parent 25714 87fa6860b5ae
child 26809 8d3de4de954d
equal deleted inserted replaced
26706:1e985d72c57f 26796:666464578742
    80 StubQueue* AbstractInterpreter::_code = NULL;
    80 StubQueue* AbstractInterpreter::_code = NULL;
    81 
    81 
    82 #endif /* ASSERT */
    82 #endif /* ASSERT */
    83 #endif /* COMPILER1 */
    83 #endif /* COMPILER1 */
    84 
    84 
    85 #define GEN_OFFS(Type,Name)                             \
    85 #define GEN_OFFS_NAME(Type,Name,OutputType)             \
    86   switch(gen_variant) {                                 \
    86   switch(gen_variant) {                                 \
    87   case GEN_OFFSET:                                      \
    87   case GEN_OFFSET:                                      \
    88     printf("#define OFFSET_%-33s %d\n",                 \
    88     printf("#define OFFSET_%-33s %d\n",                 \
    89             #Type #Name, offset_of(Type, Name));        \
    89             #OutputType #Name, offset_of(Type, Name));  \
    90     break;                                              \
    90     break;                                              \
    91   case GEN_INDEX:                                       \
    91   case GEN_INDEX:                                       \
    92     printf("#define IDX_OFFSET_%-33s %d\n",             \
    92     printf("#define IDX_OFFSET_%-33s %d\n",             \
    93             #Type #Name, index++);                      \
    93             #OutputType #Name, index++);                \
    94     break;                                              \
    94     break;                                              \
    95   case GEN_TABLE:                                       \
    95   case GEN_TABLE:                                       \
    96     printf("\tOFFSET_%s,\n", #Type #Name);              \
    96     printf("\tOFFSET_%s,\n", #OutputType #Name);        \
    97     break;                                              \
    97     break;                                              \
    98   }
    98   }
       
    99 
       
   100 #define GEN_OFFS(Type,Name)                             \
       
   101   GEN_OFFS_NAME(Type,Name,Type)
    99 
   102 
   100 #define GEN_SIZE(Type)                                  \
   103 #define GEN_SIZE(Type)                                  \
   101   switch(gen_variant) {                                 \
   104   switch(gen_variant) {                                 \
   102   case GEN_OFFSET:                                      \
   105   case GEN_OFFSET:                                      \
   103     printf("#define SIZE_%-35s %d\n",                   \
   106     printf("#define SIZE_%-35s %d\n",                   \
   239   GEN_OFFS(VirtualSpace, _high_boundary);
   242   GEN_OFFS(VirtualSpace, _high_boundary);
   240   GEN_OFFS(VirtualSpace, _low);
   243   GEN_OFFS(VirtualSpace, _low);
   241   GEN_OFFS(VirtualSpace, _high);
   244   GEN_OFFS(VirtualSpace, _high);
   242   printf("\n");
   245   printf("\n");
   243 
   246 
       
   247   /* We need to use different names here because of the template parameter */
       
   248   GEN_OFFS_NAME(GrowableArray<CodeHeap*>, _data, GrowableArray_CodeHeap);
       
   249   GEN_OFFS_NAME(GrowableArray<CodeHeap*>, _len, GrowableArray_CodeHeap);
       
   250   printf("\n");
       
   251 
   244   GEN_OFFS(CodeBlob, _name);
   252   GEN_OFFS(CodeBlob, _name);
   245   GEN_OFFS(CodeBlob, _header_size);
   253   GEN_OFFS(CodeBlob, _header_size);
   246   GEN_OFFS(CodeBlob, _content_offset);
   254   GEN_OFFS(CodeBlob, _content_offset);
   247   GEN_OFFS(CodeBlob, _code_offset);
   255   GEN_OFFS(CodeBlob, _code_offset);
   248   GEN_OFFS(CodeBlob, _data_offset);
   256   GEN_OFFS(CodeBlob, _data_offset);