236 const Klass* class_loader_klass = cld->class_loader_klass(); |
236 const Klass* class_loader_klass = cld->class_loader_klass(); |
237 if (class_loader_klass == NULL) { |
237 if (class_loader_klass == NULL) { |
238 // (primordial) boot class loader |
238 // (primordial) boot class loader |
239 writer->write(cld_id); // class loader instance id |
239 writer->write(cld_id); // class loader instance id |
240 writer->write((traceid)0); // class loader type id (absence of) |
240 writer->write((traceid)0); // class loader type id (absence of) |
241 writer->write((traceid)CREATE_SYMBOL_ID(1)); // 1 maps to synthetic name -> "boot" |
241 writer->write((traceid)CREATE_SYMBOL_ID(1)); // 1 maps to synthetic name -> "bootstrap" |
242 } else { |
242 } else { |
243 Symbol* symbol_name = cld->class_loader_name(); |
243 Symbol* symbol_name = cld->name(); |
244 const traceid symbol_name_id = symbol_name != NULL ? artifacts->mark(symbol_name) : 0; |
244 const traceid symbol_name_id = symbol_name != NULL ? artifacts->mark(symbol_name) : 0; |
245 writer->write(cld_id); // class loader instance id |
245 writer->write(cld_id); // class loader instance id |
246 writer->write(TRACE_ID(class_loader_klass)); // class loader type id |
246 writer->write(TRACE_ID(class_loader_klass)); // class loader type id |
247 writer->write(symbol_name_id == 0 ? (traceid)0 : |
247 writer->write(symbol_name_id == 0 ? (traceid)0 : |
248 (traceid)CREATE_SYMBOL_ID(symbol_name_id)); // class loader instance name |
248 (traceid)CREATE_SYMBOL_ID(symbol_name_id)); // class loader instance name |
439 if (class_loader_klass == NULL) { |
439 if (class_loader_klass == NULL) { |
440 // (primordial) boot class loader |
440 // (primordial) boot class loader |
441 CStringEntryPtr entry = this->_artifacts->map_cstring(0); |
441 CStringEntryPtr entry = this->_artifacts->map_cstring(0); |
442 assert(entry != NULL, "invariant"); |
442 assert(entry != NULL, "invariant"); |
443 assert(strncmp(entry->literal(), |
443 assert(strncmp(entry->literal(), |
444 boot_class_loader_name, |
444 BOOTSTRAP_LOADER_NAME, |
445 strlen(boot_class_loader_name)) == 0, "invariant"); |
445 BOOTSTRAP_LOADER_NAME_LEN) == 0, "invariant"); |
446 if (_unique_predicate(entry->id())) { |
446 if (_unique_predicate(entry->id())) { |
447 count += write__artifact__cstring__entry__(this->_writer, entry); |
447 count += write__artifact__cstring__entry__(this->_writer, entry); |
448 } |
448 } |
449 } else { |
449 } else { |
450 const Symbol* class_loader_name = cld->class_loader_name(); |
450 const Symbol* class_loader_name = cld->name(); |
451 if (class_loader_name != NULL) { |
451 if (class_loader_name != NULL) { |
452 SymbolEntryPtr entry = this->_artifacts->map_symbol(class_loader_name); |
452 SymbolEntryPtr entry = this->_artifacts->map_symbol(class_loader_name); |
453 assert(entry != NULL, "invariant"); |
453 assert(entry != NULL, "invariant"); |
454 if (_unique_predicate(entry->id())) { |
454 if (_unique_predicate(entry->id())) { |
455 count += write__artifact__symbol__entry__(this->_writer, entry); |
455 count += write__artifact__symbol__entry__(this->_writer, entry); |