< prev index next >

src/share/vm/asm/codeBuffer.hpp

Print this page
rev 9032 : 8139041: Redundant DMB instructions
Summary: merge consecutive DMB intstructions
Reviewd-by: kvn

*** 373,382 **** --- 373,386 ---- OopRecorder* _oop_recorder; CodeStrings _code_strings; OopRecorder _default_oop_recorder; // override with initialize_oop_recorder Arena* _overflow_arena; + #ifdef AARCH64 + address _last_membar; // used to merge consecutive memory barriers + #endif + address _decode_begin; // start address for decode address decode_begin(); void initialize_misc(const char * name) { // all pointers other than code_start/end and those inside the sections
*** 386,395 **** --- 390,402 ---- _blob = NULL; _oop_recorder = NULL; _decode_begin = NULL; _overflow_arena = NULL; _code_strings = CodeStrings(); + #ifdef AARCH64 + _last_membar = NULL; + #endif } void initialize(address code_start, csize_t code_size) { _consts.initialize_outer(this, SECT_CONSTS); _insts.initialize_outer(this, SECT_INSTS);
*** 574,583 **** --- 581,596 ---- void initialize_oop_recorder(OopRecorder* r); OopRecorder* oop_recorder() const { return _oop_recorder; } CodeStrings& strings() { return _code_strings; } + #ifdef AARCH64 + address last_membar() const { return _last_membar; } + void set_last_membar(address a) { _last_membar = a; } + void clear_last_membar() { set_last_membar(NULL); } + #endif + void free_strings() { if (!_code_strings.is_null()) { _code_strings.free(); // sets _strings Null as a side-effect. } }
< prev index next >