mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 06:14:49 +02:00
8166562: C2: Suppress relocations in scratch emit
Reviewed-by: kvn
This commit is contained in:
parent
3c1ab21ffa
commit
969358fbb3
5 changed files with 79 additions and 73 deletions
|
@ -92,6 +92,7 @@ class CodeSection VALUE_OBJ_CLASS_SPEC {
|
|||
address _locs_point; // last relocated position (grows upward)
|
||||
bool _locs_own; // did I allocate the locs myself?
|
||||
bool _frozen; // no more expansion of this section
|
||||
bool _scratch_emit; // Buffer is used for scratch emit, don't relocate.
|
||||
char _index; // my section number (SECT_INST, etc.)
|
||||
CodeBuffer* _outer; // enclosing CodeBuffer
|
||||
|
||||
|
@ -108,6 +109,7 @@ class CodeSection VALUE_OBJ_CLASS_SPEC {
|
|||
_locs_point = NULL;
|
||||
_locs_own = false;
|
||||
_frozen = false;
|
||||
_scratch_emit = false;
|
||||
debug_only(_index = (char)-1);
|
||||
debug_only(_outer = (CodeBuffer*)badAddress);
|
||||
}
|
||||
|
@ -166,6 +168,10 @@ class CodeSection VALUE_OBJ_CLASS_SPEC {
|
|||
bool is_frozen() const { return _frozen; }
|
||||
bool has_locs() const { return _locs_end != NULL; }
|
||||
|
||||
// Mark scratch buffer.
|
||||
void set_scratch_emit() { _scratch_emit = true; }
|
||||
bool scratch_emit() { return _scratch_emit; }
|
||||
|
||||
CodeBuffer* outer() const { return _outer; }
|
||||
|
||||
// is a given address in this section? (2nd version is end-inclusive)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue