diff src/share/vm/utilities/constantTag.hpp @ 6725:da91efe96a93

6964458: Reimplement class meta-data storage to use native memory Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author coleenp
date Sat, 01 Sep 2012 13:25:18 -0400
parents ed69575596ac
children f16e75e0cf11
line wrap: on
line diff
--- a/src/share/vm/utilities/constantTag.hpp	Fri Aug 31 16:39:35 2012 -0700
+++ b/src/share/vm/utilities/constantTag.hpp	Sat Sep 01 13:25:18 2012 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2012, 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
@@ -39,11 +39,12 @@
   JVM_CONSTANT_InternalMin              = 100,  // First implementation tag (aside from bad value of course)
   JVM_CONSTANT_UnresolvedClass          = 100,  // Temporary tag until actual use
   JVM_CONSTANT_ClassIndex               = 101,  // Temporary tag while constructing constant pool
-  JVM_CONSTANT_UnresolvedString         = 102,  // Temporary tag until actual use
-  JVM_CONSTANT_StringIndex              = 103,  // Temporary tag while constructing constant pool
-  JVM_CONSTANT_UnresolvedClassInError   = 104,  // Error tag due to resolution error
-  JVM_CONSTANT_Object                   = 105,  // Required for BoundMethodHandle arguments.
-  JVM_CONSTANT_InternalMax              = 105   // Last implementation tag
+  JVM_CONSTANT_StringIndex              = 102,  // Temporary tag while constructing constant pool
+  JVM_CONSTANT_UnresolvedClassInError   = 103,  // Error tag due to resolution error
+  JVM_CONSTANT_MethodHandleInError      = 104,  // Error tag due to resolution error
+  JVM_CONSTANT_MethodTypeInError        = 105,  // Error tag due to resolution error
+  JVM_CONSTANT_Object                   = 106,  // Required for BoundMethodHandle arguments.
+  JVM_CONSTANT_InternalMax              = 106   // Last implementation tag
 };
 
 
@@ -73,8 +74,14 @@
     return _tag == JVM_CONSTANT_UnresolvedClassInError;
   }
 
+  bool is_method_handle_in_error() const {
+    return _tag == JVM_CONSTANT_MethodHandleInError;
+  }
+  bool is_method_type_in_error() const {
+    return _tag == JVM_CONSTANT_MethodTypeInError;
+  }
+
   bool is_klass_index() const       { return _tag == JVM_CONSTANT_ClassIndex; }
-  bool is_unresolved_string() const { return _tag == JVM_CONSTANT_UnresolvedString; }
   bool is_string_index() const      { return _tag == JVM_CONSTANT_StringIndex; }
 
   bool is_object() const            { return _tag == JVM_CONSTANT_Object; }
@@ -91,8 +98,7 @@
   bool is_loadable_constant() const {
     return ((_tag >= JVM_CONSTANT_Integer && _tag <= JVM_CONSTANT_String) ||
             is_method_type() || is_method_handle() ||
-            is_unresolved_klass() || is_unresolved_string() ||
-            is_object());
+            is_unresolved_klass() || is_object());
   }
 
   constantTag() {