8076467: AARCH64: assertion fail with -XX:+UseG1GC

Don't call encoding unless bool is true.

Reviewed-by: kvn
This commit is contained in:
Andrew Haley 2015-04-14 17:19:08 +01:00
parent ec05163d91
commit 58981bad95
2 changed files with 6 additions and 1 deletions

View File

@ -39,6 +39,8 @@ class InterpreterMacroAssembler: public MacroAssembler {
protected: protected:
protected: protected:
using MacroAssembler::call_VM_leaf_base;
// Interpreter specific version of call_VM_base // Interpreter specific version of call_VM_base
virtual void call_VM_leaf_base(address entry_point, virtual void call_VM_leaf_base(address entry_point,
int number_of_arguments); int number_of_arguments);

View File

@ -60,7 +60,10 @@ class RegisterImpl: public AbstractRegisterImpl {
bool has_byte_register() const { return 0 <= (intptr_t)this && (intptr_t)this < number_of_byte_registers; } bool has_byte_register() const { return 0 <= (intptr_t)this && (intptr_t)this < number_of_byte_registers; }
const char* name() const; const char* name() const;
int encoding_nocheck() const { return (intptr_t)this; } int encoding_nocheck() const { return (intptr_t)this; }
unsigned long bit(bool yes = true) const { return yes << encoding(); }
// Return the bit which represents this register. This is intended
// to be ORed into a bitmask: for usage see class RegSet below.
unsigned long bit(bool should_set = true) const { return should_set ? 1 << encoding() : 0; }
}; };
// The integer registers of the aarch64 architecture // The integer registers of the aarch64 architecture