< prev index next >

src/share/vm/classfile/vmSymbols.hpp

Print this page




   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  *
  23  */
  24 
  25 #ifndef SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
  26 #define SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
  27 

  28 #include "classfile/vmSymbols_ext.hpp"
  29 #include "oops/symbol.hpp"
  30 #include "memory/iterator.hpp"
  31 #include "trace/traceMacros.hpp"
  32 #include "jvmci/vmSymbols_jvmci.hpp"
  33 
  34 // The class vmSymbols is a name space for fast lookup of
  35 // symbols commonly used in the VM.
  36 //
  37 // Sample usage:
  38 //
  39 //   Symbol* obj       = vmSymbols::java_lang_Object();
  40 
  41 
  42 // Useful sub-macros exported by this header file:
  43 
  44 #define VM_SYMBOL_ENUM_NAME(name)    name##_enum
  45 #define VM_INTRINSIC_IGNORE(id, class, name, sig, flags) /*ignored*/
  46 #define VM_SYMBOL_IGNORE(id, name)                       /*ignored*/
  47 #define VM_ALIAS_IGNORE(id, id2)                         /*ignored*/
  48 
  49 // Mapping function names to values. New entries should be added below.
  50 
  51 #define VM_SYMBOLS_DO(template, do_alias)                                                         \
  52   /* commonly used class, package, module names */                                                \
  53   template(java_base,                                 "java.base")                                \
  54   template(java_lang_System,                          "java/lang/System")                         \
  55   template(java_lang_Object,                          "java/lang/Object")                         \
  56   template(java_lang_Class,                           "java/lang/Class")                          \
  57   template(java_lang_Package,                         "java/lang/Package")                        \
  58   template(java_lang_String,                          "java/lang/String")                         \
  59   template(java_lang_StringLatin1,                    "java/lang/StringLatin1")                   \
  60   template(java_lang_StringUTF16,                     "java/lang/StringUTF16")                    \
  61   template(java_lang_Thread,                          "java/lang/Thread")                         \
  62   template(java_lang_ThreadGroup,                     "java/lang/ThreadGroup")                    \
  63   template(java_lang_Cloneable,                       "java/lang/Cloneable")                      \
  64   template(java_lang_Throwable,                       "java/lang/Throwable")                      \
  65   template(java_lang_ClassLoader,                     "java/lang/ClassLoader")                    \
  66   template(java_lang_ClassLoader_NativeLibrary,       "java/lang/ClassLoader\x024NativeLibrary")  \
  67   template(java_lang_ThreadDeath,                     "java/lang/ThreadDeath")                    \
  68   template(java_lang_Boolean,                         "java/lang/Boolean")                        \
  69   template(java_lang_Character,                       "java/lang/Character")                      \
  70   template(java_lang_Character_CharacterCache,        "java/lang/Character$CharacterCache")       \
  71   template(java_lang_Float,                           "java/lang/Float")                          \
  72   template(java_lang_Double,                          "java/lang/Double")                         \
  73   template(java_lang_Byte,                            "java/lang/Byte")                           \




   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  *
  23  */
  24 
  25 #ifndef SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
  26 #define SHARE_VM_CLASSFILE_VMSYMBOLS_HPP
  27 
  28 #include "classfile/moduleEntry.hpp"
  29 #include "classfile/vmSymbols_ext.hpp"
  30 #include "oops/symbol.hpp"
  31 #include "memory/iterator.hpp"
  32 #include "trace/traceMacros.hpp"
  33 #include "jvmci/vmSymbols_jvmci.hpp"
  34 
  35 // The class vmSymbols is a name space for fast lookup of
  36 // symbols commonly used in the VM.
  37 //
  38 // Sample usage:
  39 //
  40 //   Symbol* obj       = vmSymbols::java_lang_Object();
  41 
  42 
  43 // Useful sub-macros exported by this header file:
  44 
  45 #define VM_SYMBOL_ENUM_NAME(name)    name##_enum
  46 #define VM_INTRINSIC_IGNORE(id, class, name, sig, flags) /*ignored*/
  47 #define VM_SYMBOL_IGNORE(id, name)                       /*ignored*/
  48 #define VM_ALIAS_IGNORE(id, id2)                         /*ignored*/
  49 
  50 // Mapping function names to values. New entries should be added below.
  51 
  52 #define VM_SYMBOLS_DO(template, do_alias)                                                         \
  53   /* commonly used class, package, module names */                                                \
  54   template(java_base,                                 JAVA_BASE_NAME)                             \
  55   template(java_lang_System,                          "java/lang/System")                         \
  56   template(java_lang_Object,                          "java/lang/Object")                         \
  57   template(java_lang_Class,                           "java/lang/Class")                          \
  58   template(java_lang_Package,                         "java/lang/Package")                        \
  59   template(java_lang_String,                          "java/lang/String")                         \
  60   template(java_lang_StringLatin1,                    "java/lang/StringLatin1")                   \
  61   template(java_lang_StringUTF16,                     "java/lang/StringUTF16")                    \
  62   template(java_lang_Thread,                          "java/lang/Thread")                         \
  63   template(java_lang_ThreadGroup,                     "java/lang/ThreadGroup")                    \
  64   template(java_lang_Cloneable,                       "java/lang/Cloneable")                      \
  65   template(java_lang_Throwable,                       "java/lang/Throwable")                      \
  66   template(java_lang_ClassLoader,                     "java/lang/ClassLoader")                    \
  67   template(java_lang_ClassLoader_NativeLibrary,       "java/lang/ClassLoader\x024NativeLibrary")  \
  68   template(java_lang_ThreadDeath,                     "java/lang/ThreadDeath")                    \
  69   template(java_lang_Boolean,                         "java/lang/Boolean")                        \
  70   template(java_lang_Character,                       "java/lang/Character")                      \
  71   template(java_lang_Character_CharacterCache,        "java/lang/Character$CharacterCache")       \
  72   template(java_lang_Float,                           "java/lang/Float")                          \
  73   template(java_lang_Double,                          "java/lang/Double")                         \
  74   template(java_lang_Byte,                            "java/lang/Byte")                           \


< prev index next >