void VM_Version::initialize() { ResourceMark rm; stub_blob = BufferBlob::create("getPsrInfo_stub", stub_size); if (stub_blob == NULL) { vm_exit_during_initialization("Unable to allocate getPsrInfo_stub"); } CodeBuffer c(stub_blob); VM_Version_StubGenerator g(&c); getPsrInfo_stub = CAST_TO_FN_PTR(getPsrInfo_stub_t, g.generate_getPsrInfo()); get_processor_features(); }
void VM_Version::initialize() { ResourceMark rm; // Making this stub must be FIRST use of assembler stub_blob = BufferBlob::create("getPsrInfo_stub", stub_size); if (stub_blob == NULL) { vm_exit_during_initialization("Unable to allocate getPsrInfo_stub"); } CodeBuffer c(stub_blob->instructions_begin(), stub_blob->instructions_size()); VM_Version_StubGenerator g(&c); getPsrInfo_stub = CAST_TO_FN_PTR(getPsrInfo_stub_t, g.generate_getPsrInfo()); get_processor_features(); }
void JDK_Version::initialize() { void *lib_handle = os::native_java_library(); jdk_version_info_fn_t func = CAST_TO_FN_PTR(jdk_version_info_fn_t, hpi::dll_lookup(lib_handle, "JDK_GetVersionInfo0")); if (func == NULL) { // JDK older than 1.6 _pre_jdk16_version = true; return; } if (func != NULL) { (*func)(&_version_info, sizeof(_version_info)); } if (jdk_major_version() == 1) { _jdk_version = jdk_minor_version(); } else { // If the release version string is changed to n.x.x (e.g. 7.0.0) in a future release _jdk_version = jdk_major_version(); } }
void VM_Version::initialize() { ResourceMark rm; // Create the processor info stub BufferBlob* blob = BufferBlob::create("getPsrInfo stub", 160); if (blob == NULL) { vm_exit_during_initialization("Unable to allocate getPsrInfo stub"); } CodeBuffer* buffer = new CodeBuffer(blob->instructions_begin(), blob->instructions_size()); VM_Version_StubGenerator g(buffer); getPsrInfo_stub = CAST_TO_FN_PTR(getPsrInfo_stub_t, g.generate_getPsrInfo()); // Get raw processor info getPsrInfo_stub(&_cpuid_info); // We know 64-bit x86's support cmpxchg8 _supports_cx8 = true; // Prefetch settings PrefetchCopyIntervalInBytes = prefetch_copy_interval_in_bytes(); PrefetchCopyIntervalInBytes = prefetch_scan_interval_in_bytes(); PrefetchFieldsAhead = prefetch_fields_ahead(); }
static CallStub call_stub() { return CAST_TO_FN_PTR(CallStub, _call_stub_entry); }
static SafeFetchNStub SafeFetchN_stub() { return CAST_TO_FN_PTR(SafeFetchNStub, _safefetchN_entry); }