This commit is contained in:
Dean Long 2015-10-17 19:40:30 -04:00
commit 344a9becee
539 changed files with 51665 additions and 1091 deletions

View file

@ -375,6 +375,8 @@ class CodeBuffer: public StackObj {
OopRecorder _default_oop_recorder; // override with initialize_oop_recorder
Arena* _overflow_arena;
address _last_membar; // used to merge consecutive memory barriers
address _decode_begin; // start address for decode
address decode_begin();
@ -388,6 +390,7 @@ class CodeBuffer: public StackObj {
_decode_begin = NULL;
_overflow_arena = NULL;
_code_strings = CodeStrings();
_last_membar = NULL;
}
void initialize(address code_start, csize_t code_size) {
@ -452,7 +455,6 @@ class CodeBuffer: public StackObj {
initialize_misc(name);
}
// (4) code buffer allocating codeBlob memory for code & relocation
// info. The name must be something informative and code_size must
// include both code and stubs sizes.
@ -553,6 +555,8 @@ class CodeBuffer: public StackObj {
// allocated size of all relocation data, including index, rounded up
csize_t total_relocation_size() const;
csize_t copy_relocations_to(address buf, csize_t buf_limit, bool only_inst) const;
// allocated size of any and all recorded oops
csize_t total_oop_size() const {
OopRecorder* recorder = oop_recorder();
@ -576,6 +580,10 @@ class CodeBuffer: public StackObj {
OopRecorder* oop_recorder() const { return _oop_recorder; }
CodeStrings& strings() { return _code_strings; }
address last_membar() const { return _last_membar; }
void set_last_membar(address a) { _last_membar = a; }
void clear_last_membar() { set_last_membar(NULL); }
void free_strings() {
if (!_code_strings.is_null()) {
_code_strings.free(); // sets _strings Null as a side-effect.