< prev index next >
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVmSymbols.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 20,47 ****
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package jdk.vm.ci.hotspot;
! import static jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.*;
import static jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE;
!
! import sun.misc.*;
/**
* Class to access the C++ {@code vmSymbols} table.
*/
! public final class HotSpotVmSymbols {
/**
* Returns the symbol in the {@code vmSymbols} table at position {@code index} as {@link String}
* .
*
* @param index position in the symbol table
* @return the symbol at position id
*/
! public static String symbolAt(int index) {
HotSpotJVMCIRuntimeProvider runtime = runtime();
HotSpotVMConfig config = runtime.getConfig();
assert config.vmSymbolsFirstSID <= index && index < config.vmSymbolsSIDLimit : "index " + index + " is out of bounds";
assert config.symbolPointerSize == Unsafe.ADDRESS_SIZE : "the following address read is broken";
return runtime.getCompilerToVM().getSymbol(UNSAFE.getAddress(config.vmSymbolsSymbols + index * config.symbolPointerSize));
--- 20,46 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package jdk.vm.ci.hotspot;
! import static jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime;
import static jdk.vm.ci.hotspot.UnsafeAccess.UNSAFE;
! import sun.misc.Unsafe;
/**
* Class to access the C++ {@code vmSymbols} table.
*/
! final class HotSpotVmSymbols {
/**
* Returns the symbol in the {@code vmSymbols} table at position {@code index} as {@link String}
* .
*
* @param index position in the symbol table
* @return the symbol at position id
*/
! static String symbolAt(int index) {
HotSpotJVMCIRuntimeProvider runtime = runtime();
HotSpotVMConfig config = runtime.getConfig();
assert config.vmSymbolsFirstSID <= index && index < config.vmSymbolsSIDLimit : "index " + index + " is out of bounds";
assert config.symbolPointerSize == Unsafe.ADDRESS_SIZE : "the following address read is broken";
return runtime.getCompilerToVM().getSymbol(UNSAFE.getAddress(config.vmSymbolsSymbols + index * config.symbolPointerSize));
< prev index next >