comparison src/share/vm/oops/methodDataOop.hpp @ 4439:f7251c729b31

profiling info first try
author Christian Haeubl <christian.haeubl@oracle.com>
date Thu, 19 Jan 2012 16:29:35 -0800
parents c26de9aef2ed
children 8e1d9c27989a
comparison
equal deleted inserted replaced
4288:2bc254976621 4439:f7251c729b31
1192 friend class ProfileData; 1192 friend class ProfileData;
1193 1193
1194 // Back pointer to the methodOop 1194 // Back pointer to the methodOop
1195 methodOop _method; 1195 methodOop _method;
1196 1196
1197 // com/oracle/max/graal/hotspot/HotSpotProfilingInfo mirroring this method
1198 oop _graal_mirror;
1199
1197 // Size of this oop in bytes 1200 // Size of this oop in bytes
1198 int _size; 1201 int _size;
1199 1202
1200 // Cached hint for bci_to_dp and bci_to_data 1203 // Cached hint for bci_to_dp and bci_to_data
1201 int _hint_di; 1204 int _hint_di;
1421 } 1424 }
1422 1425
1423 // Accessors 1426 // Accessors
1424 methodOop method() { return _method; } 1427 methodOop method() { return _method; }
1425 1428
1429 // graal mirror
1430 oop graal_mirror() const { return _graal_mirror; }
1431 void set_graal_mirror(oop m) { oop_store((oop*) &_graal_mirror, m); }
1432
1426 // Get the data at an arbitrary (sort of) data index. 1433 // Get the data at an arbitrary (sort of) data index.
1427 ProfileData* data_at(int data_index); 1434 ProfileData* data_at(int data_index);
1428 1435
1429 // Walk through the data in order. 1436 // Walk through the data in order.
1430 ProfileData* first_data() { return data_at(first_di()); } 1437 ProfileData* first_data() { return data_at(first_di()); }
1518 return byte_offset_of(methodDataOopDesc, _backedge_counter); 1525 return byte_offset_of(methodDataOopDesc, _backedge_counter);
1519 } 1526 }
1520 1527
1521 // GC support 1528 // GC support
1522 oop* adr_method() const { return (oop*)&_method; } 1529 oop* adr_method() const { return (oop*)&_method; }
1530 oop* adr_graal_mirror() const { return (oop*)&_graal_mirror; }
1523 bool object_is_parsable() const { return _size != 0; } 1531 bool object_is_parsable() const { return _size != 0; }
1524 void set_object_is_parsable(int object_size_in_bytes) { _size = object_size_in_bytes; } 1532 void set_object_is_parsable(int object_size_in_bytes) { _size = object_size_in_bytes; }
1525 1533
1526 #ifndef PRODUCT 1534 #ifndef PRODUCT
1527 // printing support for method data 1535 // printing support for method data