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; |