src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp
changeset 54847 59ea39bb2809
parent 53582 881c5fbeb849
child 55565 51b28beb53fd
equal deleted inserted replaced
54846:e4049522b074 54847:59ea39bb2809
    74   dest_offset = fd.offset();
    74   dest_offset = fd.offset();
    75 }
    75 }
    76 
    76 
    77 static bool setup_event_writer_offsets(TRAPS) {
    77 static bool setup_event_writer_offsets(TRAPS) {
    78   const char class_name[] = "jdk/jfr/internal/EventWriter";
    78   const char class_name[] = "jdk/jfr/internal/EventWriter";
    79   Symbol* const k_sym = SymbolTable::lookup(class_name, sizeof class_name - 1, CHECK_false);
    79   Symbol* const k_sym = SymbolTable::new_symbol(class_name);
    80   assert(k_sym != NULL, "invariant");
    80   assert(k_sym != NULL, "invariant");
    81   Klass* klass = SystemDictionary::resolve_or_fail(k_sym, true, CHECK_false);
    81   Klass* klass = SystemDictionary::resolve_or_fail(k_sym, true, CHECK_false);
    82   assert(klass != NULL, "invariant");
    82   assert(klass != NULL, "invariant");
    83 
    83 
    84   const char start_pos_name[] = "startPosition";
    84   const char start_pos_name[] = "startPosition";
    85   Symbol* const start_pos_sym = SymbolTable::lookup(start_pos_name, sizeof start_pos_name - 1, CHECK_false);
    85   Symbol* const start_pos_sym = SymbolTable::new_symbol(start_pos_name);
    86   assert(start_pos_sym != NULL, "invariant");
    86   assert(start_pos_sym != NULL, "invariant");
    87   assert(invalid_offset == start_pos_offset, "invariant");
    87   assert(invalid_offset == start_pos_offset, "invariant");
    88   compute_offset(start_pos_offset, klass, start_pos_sym, vmSymbols::long_signature());
    88   compute_offset(start_pos_offset, klass, start_pos_sym, vmSymbols::long_signature());
    89   assert(start_pos_offset != invalid_offset, "invariant");
    89   assert(start_pos_offset != invalid_offset, "invariant");
    90 
    90 
    91   const char start_pos_address_name[] = "startPositionAddress";
    91   const char start_pos_address_name[] = "startPositionAddress";
    92   Symbol* const start_pos_address_sym = SymbolTable::lookup(start_pos_address_name, sizeof start_pos_address_name - 1, CHECK_false);
    92   Symbol* const start_pos_address_sym = SymbolTable::new_symbol(start_pos_address_name);
    93   assert(start_pos_address_sym != NULL, "invariant");
    93   assert(start_pos_address_sym != NULL, "invariant");
    94   assert(invalid_offset == start_pos_address_offset, "invariant");
    94   assert(invalid_offset == start_pos_address_offset, "invariant");
    95   compute_offset(start_pos_address_offset, klass, start_pos_address_sym, vmSymbols::long_signature());
    95   compute_offset(start_pos_address_offset, klass, start_pos_address_sym, vmSymbols::long_signature());
    96   assert(start_pos_address_offset != invalid_offset, "invariant");
    96   assert(start_pos_address_offset != invalid_offset, "invariant");
    97 
    97 
    98   const char event_pos_name[] = "currentPosition";
    98   const char event_pos_name[] = "currentPosition";
    99   Symbol* const event_pos_sym = SymbolTable::lookup(event_pos_name, sizeof event_pos_name - 1, CHECK_false);
    99   Symbol* const event_pos_sym = SymbolTable::new_symbol(event_pos_name);
   100   assert(event_pos_sym != NULL, "invariant");
   100   assert(event_pos_sym != NULL, "invariant");
   101   assert(invalid_offset == current_pos_offset, "invariant");
   101   assert(invalid_offset == current_pos_offset, "invariant");
   102   compute_offset(current_pos_offset, klass, event_pos_sym,vmSymbols::long_signature());
   102   compute_offset(current_pos_offset, klass, event_pos_sym,vmSymbols::long_signature());
   103   assert(current_pos_offset != invalid_offset, "invariant");
   103   assert(current_pos_offset != invalid_offset, "invariant");
   104 
   104 
   105   const char max_pos_name[] = "maxPosition";
   105   const char max_pos_name[] = "maxPosition";
   106   Symbol* const max_pos_sym = SymbolTable::lookup(max_pos_name, sizeof max_pos_name - 1, CHECK_false);
   106   Symbol* const max_pos_sym = SymbolTable::new_symbol(max_pos_name);
   107   assert(max_pos_sym != NULL, "invariant");
   107   assert(max_pos_sym != NULL, "invariant");
   108   assert(invalid_offset == max_pos_offset, "invariant");
   108   assert(invalid_offset == max_pos_offset, "invariant");
   109   compute_offset(max_pos_offset, klass, max_pos_sym, vmSymbols::long_signature());
   109   compute_offset(max_pos_offset, klass, max_pos_sym, vmSymbols::long_signature());
   110   assert(max_pos_offset != invalid_offset, "invariant");
   110   assert(max_pos_offset != invalid_offset, "invariant");
   111 
   111 
   112   const char max_event_size_name[] = "maxEventSize";
   112   const char max_event_size_name[] = "maxEventSize";
   113   Symbol* const max_event_size_sym = SymbolTable::lookup(max_event_size_name, sizeof max_event_size_name - 1, CHECK_false);
   113   Symbol* const max_event_size_sym = SymbolTable::new_symbol(max_event_size_name);
   114   assert (max_event_size_sym != NULL, "invariant");
   114   assert (max_event_size_sym != NULL, "invariant");
   115   assert(invalid_offset == max_event_size_offset, "invariant");
   115   assert(invalid_offset == max_event_size_offset, "invariant");
   116   compute_offset(max_event_size_offset, klass, max_event_size_sym, vmSymbols::int_signature());
   116   compute_offset(max_event_size_offset, klass, max_event_size_sym, vmSymbols::int_signature());
   117   assert(max_event_size_offset != invalid_offset, "invariant");
   117   assert(max_event_size_offset != invalid_offset, "invariant");
   118 
   118 
   119   const char notified_name[] = "notified";
   119   const char notified_name[] = "notified";
   120   Symbol* const notified_sym = SymbolTable::lookup(notified_name, sizeof notified_name - 1, CHECK_false);
   120   Symbol* const notified_sym = SymbolTable::new_symbol(notified_name);
   121   assert (notified_sym != NULL, "invariant");
   121   assert (notified_sym != NULL, "invariant");
   122   assert(invalid_offset == notified_offset, "invariant");
   122   assert(invalid_offset == notified_offset, "invariant");
   123   compute_offset(notified_offset, klass, notified_sym, vmSymbols::bool_signature());
   123   compute_offset(notified_offset, klass, notified_sym, vmSymbols::bool_signature());
   124   assert(notified_offset != invalid_offset, "invariant");
   124   assert(notified_offset != invalid_offset, "invariant");
   125 
   125 
   126   const char valid_name[] = "valid";
   126   const char valid_name[] = "valid";
   127   Symbol* const valid_sym = SymbolTable::lookup(valid_name, sizeof valid_name - 1, CHECK_false);
   127   Symbol* const valid_sym = SymbolTable::new_symbol(valid_name);
   128   assert (valid_sym != NULL, "invariant");
   128   assert (valid_sym != NULL, "invariant");
   129   assert(invalid_offset == valid_offset, "invariant");
   129   assert(invalid_offset == valid_offset, "invariant");
   130   compute_offset(valid_offset, klass, valid_sym, vmSymbols::bool_signature());
   130   compute_offset(valid_offset, klass, valid_sym, vmSymbols::bool_signature());
   131   assert(valid_offset != invalid_offset, "invariant");
   131   assert(valid_offset != invalid_offset, "invariant");
   132   return true;
   132   return true;