8196064: AArch64: Merging ld/st into ldp/stp in macro-assembler

Reviewed-by: aph
This commit is contained in:
Zhongwei Yao 2018-02-03 10:36:58 +08:00
parent 2471caab08
commit 0db8f238af
4 changed files with 270 additions and 9 deletions

View file

@ -380,7 +380,7 @@ 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 _last_insn; // used to merge consecutive memory barriers, loads or stores.
address _decode_begin; // start address for decode
address decode_begin();
@ -395,7 +395,7 @@ class CodeBuffer: public StackObj {
_decode_begin = NULL;
_overflow_arena = NULL;
_code_strings = CodeStrings();
_last_membar = NULL;
_last_insn = NULL;
}
void initialize(address code_start, csize_t code_size) {
@ -587,9 +587,9 @@ 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); }
address last_insn() const { return _last_insn; }
void set_last_insn(address a) { _last_insn = a; }
void clear_last_insn() { set_last_insn(NULL); }
void free_strings() {
if (!_code_strings.is_null()) {