This commit is contained in:
Tom Rodriguez 2016-05-06 18:08:01 +00:00
commit 4e7451cd5b
4 changed files with 48 additions and 14 deletions

View File

@ -1559,13 +1559,13 @@ public class HotSpotVMConfig {
@HotSpotVMAddress(name = "os::javaTimeMillis") @Stable public long javaTimeMillisAddress;
@HotSpotVMAddress(name = "os::javaTimeNanos") @Stable public long javaTimeNanosAddress;
@HotSpotVMAddress(name = "SharedRuntime::dsin") @Stable public long arithmeticSinAddress;
@HotSpotVMAddress(name = "SharedRuntime::dcos") @Stable public long arithmeticCosAddress;
@HotSpotVMAddress(name = "SharedRuntime::dtan") @Stable public long arithmeticTanAddress;
@HotSpotVMAddress(name = "SharedRuntime::dexp") @Stable public long arithmeticExpAddress;
@HotSpotVMAddress(name = "SharedRuntime::dlog") @Stable public long arithmeticLogAddress;
@HotSpotVMAddress(name = "SharedRuntime::dlog10") @Stable public long arithmeticLog10Address;
@HotSpotVMAddress(name = "SharedRuntime::dpow") @Stable public long arithmeticPowAddress;
@HotSpotVMField(name = "CompilerToVM::Data::dsin", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticSinAddress;
@HotSpotVMField(name = "CompilerToVM::Data::dcos", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticCosAddress;
@HotSpotVMField(name = "CompilerToVM::Data::dtan", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticTanAddress;
@HotSpotVMField(name = "CompilerToVM::Data::dexp", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticExpAddress;
@HotSpotVMField(name = "CompilerToVM::Data::dlog", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticLogAddress;
@HotSpotVMField(name = "CompilerToVM::Data::dlog10", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticLog10Address;
@HotSpotVMField(name = "CompilerToVM::Data::dpow", type = "address", get = HotSpotVMField.Type.VALUE) @Stable public long arithmeticPowAddress;
@HotSpotVMFlag(name = "JVMCICounterSize") @Stable public int jvmciCountersSize;

View File

@ -154,6 +154,14 @@ int CompilerToVM::Data::cardtable_shift;
int CompilerToVM::Data::vm_page_size;
address CompilerToVM::Data::dsin;
address CompilerToVM::Data::dcos;
address CompilerToVM::Data::dtan;
address CompilerToVM::Data::dexp;
address CompilerToVM::Data::dlog;
address CompilerToVM::Data::dlog10;
address CompilerToVM::Data::dpow;
void CompilerToVM::Data::initialize() {
Klass_vtable_start_offset = in_bytes(Klass::vtable_start_offset());
Klass_vtable_length_offset = in_bytes(Klass::vtable_length_offset());
@ -205,6 +213,23 @@ void CompilerToVM::Data::initialize() {
}
vm_page_size = os::vm_page_size();
#define SET_TRIGFUNC(name) \
if (StubRoutines::name() != NULL) { \
name = StubRoutines::name(); \
} else { \
name = CAST_FROM_FN_PTR(address, SharedRuntime::name); \
}
SET_TRIGFUNC(dsin);
SET_TRIGFUNC(dcos);
SET_TRIGFUNC(dtan);
SET_TRIGFUNC(dexp);
SET_TRIGFUNC(dlog10);
SET_TRIGFUNC(dlog);
SET_TRIGFUNC(dpow);
#undef SET_TRIGFUNC
}
/**

View File

@ -65,6 +65,14 @@ class CompilerToVM {
static int vm_page_size;
static address dsin;
static address dcos;
static address dtan;
static address dexp;
static address dlog;
static address dlog10;
static address dpow;
public:
static void initialize();
};

View File

@ -76,6 +76,14 @@
\
static_field(CompilerToVM::Data, vm_page_size, int) \
\
static_field(CompilerToVM::Data, dsin, address) \
static_field(CompilerToVM::Data, dcos, address) \
static_field(CompilerToVM::Data, dtan, address) \
static_field(CompilerToVM::Data, dexp, address) \
static_field(CompilerToVM::Data, dlog, address) \
static_field(CompilerToVM::Data, dlog10, address) \
static_field(CompilerToVM::Data, dpow, address) \
\
static_field(Abstract_VM_Version, _features, uint64_t) \
\
nonstatic_field(Array<int>, _length, int) \
@ -524,13 +532,6 @@
declare_function(SharedRuntime::exception_handler_for_return_address) \
declare_function(SharedRuntime::OSR_migration_end) \
declare_function(SharedRuntime::enable_stack_reserved_zone) \
declare_function(SharedRuntime::dsin) \
declare_function(SharedRuntime::dcos) \
declare_function(SharedRuntime::dtan) \
declare_function(SharedRuntime::dexp) \
declare_function(SharedRuntime::dlog) \
declare_function(SharedRuntime::dlog10) \
declare_function(SharedRuntime::dpow) \
\
declare_function(os::dll_load) \
declare_function(os::dll_lookup) \