< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/VM.java

Print this page


   1 /*
   2  * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


  70   private static List  vmInitializedObservers = new ArrayList();
  71   private List         vmResumedObservers   = new ArrayList();
  72   private List         vmSuspendedObservers = new ArrayList();
  73   private TypeDataBase db;
  74   private boolean      isBigEndian;
  75   /** This is only present if in a debugging system */
  76   private JVMDebugger  debugger;
  77   private long         stackBias;
  78   private long         logAddressSize;
  79   private Universe     universe;
  80   private ObjectHeap   heap;
  81   private SymbolTable  symbols;
  82   private StringTable  strings;
  83   private SystemDictionary dict;
  84   private ClassLoaderDataGraph cldGraph;
  85   private Threads      threads;
  86   private ObjectSynchronizer synchronizer;
  87   private JNIHandles   handles;
  88   private Interpreter  interpreter;
  89   private StubRoutines stubRoutines;

  90   private Bytes        bytes;
  91 
  92   /** Flag indicating if JVMTI support is included in the build */
  93   private boolean      isJvmtiSupported;
  94   /** Flags indicating whether we are attached to a core, C1, or C2 build */
  95   private boolean      usingClientCompiler;
  96   private boolean      usingServerCompiler;
  97   /** alignment constants */
  98   private boolean      isLP64;
  99   private int          bytesPerLong;
 100   private int          bytesPerWord;
 101   private int          objectAlignmentInBytes;
 102   private int          minObjAlignmentInBytes;
 103   private int          logMinObjAlignmentInBytes;
 104   private int          heapWordSize;
 105   private int          heapOopSize;
 106   private int          klassPtrSize;
 107   private int          oopSize;
 108   private final int    IndexSetSize;
 109   /** This is only present in a non-core build */


 698 
 699   public Interpreter getInterpreter() {
 700     if (interpreter == null) {
 701       interpreter = new Interpreter();
 702     }
 703     return interpreter;
 704   }
 705 
 706   public StubRoutines getStubRoutines() {
 707     if (stubRoutines == null) {
 708       stubRoutines = new StubRoutines();
 709     }
 710     return stubRoutines;
 711   }
 712 
 713   public VMRegImpl getVMRegImplInfo() {
 714     if (vmregImpl == null) {
 715       vmregImpl = new VMRegImpl();
 716     }
 717     return vmregImpl;










 718   }
 719 
 720   public Bytes getBytes() {
 721     if (bytes == null) {
 722       bytes = new Bytes(debugger.getMachineDescription());
 723     }
 724     return bytes;
 725   }
 726 
 727   /** Returns true if this is a isBigEndian, false otherwise */
 728   public boolean isBigEndian() {
 729     return isBigEndian;
 730   }
 731 
 732   /** Returns true if JVMTI is supported, false otherwise */
 733   public boolean isJvmtiSupported() {
 734     return isJvmtiSupported;
 735   }
 736 
 737   /** Returns true if this is a "core" build, false if either C1 or C2


   1 /*
   2  * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


  70   private static List  vmInitializedObservers = new ArrayList();
  71   private List         vmResumedObservers   = new ArrayList();
  72   private List         vmSuspendedObservers = new ArrayList();
  73   private TypeDataBase db;
  74   private boolean      isBigEndian;
  75   /** This is only present if in a debugging system */
  76   private JVMDebugger  debugger;
  77   private long         stackBias;
  78   private long         logAddressSize;
  79   private Universe     universe;
  80   private ObjectHeap   heap;
  81   private SymbolTable  symbols;
  82   private StringTable  strings;
  83   private SystemDictionary dict;
  84   private ClassLoaderDataGraph cldGraph;
  85   private Threads      threads;
  86   private ObjectSynchronizer synchronizer;
  87   private JNIHandles   handles;
  88   private Interpreter  interpreter;
  89   private StubRoutines stubRoutines;
  90   private FileMapInfo  fileMapInfo;
  91   private Bytes        bytes;
  92 
  93   /** Flag indicating if JVMTI support is included in the build */
  94   private boolean      isJvmtiSupported;
  95   /** Flags indicating whether we are attached to a core, C1, or C2 build */
  96   private boolean      usingClientCompiler;
  97   private boolean      usingServerCompiler;
  98   /** alignment constants */
  99   private boolean      isLP64;
 100   private int          bytesPerLong;
 101   private int          bytesPerWord;
 102   private int          objectAlignmentInBytes;
 103   private int          minObjAlignmentInBytes;
 104   private int          logMinObjAlignmentInBytes;
 105   private int          heapWordSize;
 106   private int          heapOopSize;
 107   private int          klassPtrSize;
 108   private int          oopSize;
 109   private final int    IndexSetSize;
 110   /** This is only present in a non-core build */


 699 
 700   public Interpreter getInterpreter() {
 701     if (interpreter == null) {
 702       interpreter = new Interpreter();
 703     }
 704     return interpreter;
 705   }
 706 
 707   public StubRoutines getStubRoutines() {
 708     if (stubRoutines == null) {
 709       stubRoutines = new StubRoutines();
 710     }
 711     return stubRoutines;
 712   }
 713 
 714   public VMRegImpl getVMRegImplInfo() {
 715     if (vmregImpl == null) {
 716       vmregImpl = new VMRegImpl();
 717     }
 718     return vmregImpl;
 719   }
 720 
 721   public FileMapInfo getFileMapInfo() {
 722     if (isSharingEnabled() == false) {
 723       return null;
 724     }
 725     if (fileMapInfo == null) {
 726       fileMapInfo = new FileMapInfo();
 727     }
 728     return fileMapInfo;
 729   }
 730 
 731   public Bytes getBytes() {
 732     if (bytes == null) {
 733       bytes = new Bytes(debugger.getMachineDescription());
 734     }
 735     return bytes;
 736   }
 737 
 738   /** Returns true if this is a isBigEndian, false otherwise */
 739   public boolean isBigEndian() {
 740     return isBigEndian;
 741   }
 742 
 743   /** Returns true if JVMTI is supported, false otherwise */
 744   public boolean isJvmtiSupported() {
 745     return isJvmtiSupported;
 746   }
 747 
 748   /** Returns true if this is a "core" build, false if either C1 or C2


< prev index next >