hotspot/src/share/vm/runtime/fieldDescriptor.hpp
changeset 20017 81eba62e9048
parent 15097 9db149412e0e
child 39421 a9652c919db8
equal deleted inserted replaced
20014:b34a9fa1931a 20017:81eba62e9048
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     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
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    51     InstanceKlass* ik = field_holder();
    51     InstanceKlass* ik = field_holder();
    52     return ik->field(_index);
    52     return ik->field(_index);
    53   }
    53   }
    54 
    54 
    55  public:
    55  public:
       
    56   fieldDescriptor() {
       
    57     DEBUG_ONLY(_index = badInt);
       
    58   }
       
    59   fieldDescriptor(InstanceKlass* ik, int index) {
       
    60     DEBUG_ONLY(_index = badInt);
       
    61     reinitialize(ik, index);
       
    62   }
    56   Symbol* name() const {
    63   Symbol* name() const {
    57     return field()->name(_cp);
    64     return field()->name(_cp);
    58   }
    65   }
    59   Symbol* signature() const {
    66   Symbol* signature() const {
    60     return field()->signature(_cp);
    67     return field()->signature(_cp);
   110     _access_flags.set_is_field_modification_watched(value);
   117     _access_flags.set_is_field_modification_watched(value);
   111     update_klass_field_access_flag();
   118     update_klass_field_access_flag();
   112   }
   119   }
   113 
   120 
   114   // Initialization
   121   // Initialization
   115   void initialize(InstanceKlass* ik, int index);
   122   void reinitialize(InstanceKlass* ik, int index);
   116 
   123 
   117   // Print
   124   // Print
   118   void print() { print_on(tty); }
   125   void print() { print_on(tty); }
   119   void print_on(outputStream* st) const         PRODUCT_RETURN;
   126   void print_on(outputStream* st) const         PRODUCT_RETURN;
   120   void print_on_for(outputStream* st, oop obj)  PRODUCT_RETURN;
   127   void print_on_for(outputStream* st, oop obj)  PRODUCT_RETURN;
       
   128   void verify() const                           PRODUCT_RETURN;
   121 };
   129 };
   122 
   130 
   123 #endif // SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP
   131 #endif // SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP