< prev index next >

src/hotspot/share/oops/method.cpp

Print this page




  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 #include "precompiled.hpp"
  26 #include "classfile/metadataOnStackMark.hpp"
  27 #include "classfile/systemDictionary.hpp"
  28 #include "code/codeCache.hpp"
  29 #include "code/debugInfoRec.hpp"
  30 #include "gc/shared/collectedHeap.inline.hpp"
  31 #include "gc/shared/gcLocker.hpp"
  32 #include "gc/shared/generation.hpp"
  33 #include "interpreter/bytecodeStream.hpp"
  34 #include "interpreter/bytecodeTracer.hpp"
  35 #include "interpreter/bytecodes.hpp"
  36 #include "interpreter/interpreter.hpp"
  37 #include "interpreter/oopMapCache.hpp"
  38 #include "memory/allocation.inline.hpp"
  39 #include "memory/heapInspection.hpp"
  40 #include "memory/metadataFactory.hpp"
  41 #include "memory/metaspaceClosure.hpp"
  42 #include "memory/metaspaceShared.hpp"
  43 #include "memory/oopFactory.hpp"
  44 #include "memory/resourceArea.hpp"
  45 #include "oops/constMethod.hpp"
  46 #include "oops/method.inline.hpp"
  47 #include "oops/methodData.hpp"
  48 #include "oops/objArrayOop.inline.hpp"
  49 #include "oops/oop.inline.hpp"
  50 #include "oops/symbol.hpp"
  51 #include "prims/jvmtiExport.hpp"
  52 #include "prims/methodHandles.hpp"
  53 #include "prims/nativeLookup.hpp"
  54 #include "runtime/arguments.hpp"
  55 #include "runtime/compilationPolicy.hpp"
  56 #include "runtime/frame.inline.hpp"
  57 #include "runtime/handles.inline.hpp"
  58 #include "runtime/init.hpp"
  59 #include "runtime/orderAccess.inline.hpp"
  60 #include "runtime/relocator.hpp"

  61 #include "runtime/sharedRuntime.hpp"
  62 #include "runtime/signature.hpp"
  63 #include "utilities/align.hpp"
  64 #include "utilities/quickSort.hpp"
  65 #include "utilities/vmError.hpp"
  66 #include "utilities/xmlstream.hpp"
  67 
  68 // Implementation of Method
  69 
  70 Method* Method::allocate(ClassLoaderData* loader_data,
  71                          int byte_code_size,
  72                          AccessFlags access_flags,
  73                          InlineTableSizes* sizes,
  74                          ConstMethod::MethodType method_type,
  75                          TRAPS) {
  76   assert(!access_flags.is_native() || byte_code_size == 0,
  77          "native methods should not contain byte codes");
  78   ConstMethod* cm = ConstMethod::allocate(loader_data,
  79                                           byte_code_size,
  80                                           sizes,




  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 #include "precompiled.hpp"
  26 #include "classfile/metadataOnStackMark.hpp"
  27 #include "classfile/systemDictionary.hpp"
  28 #include "code/codeCache.hpp"
  29 #include "code/debugInfoRec.hpp"
  30 #include "gc/shared/collectedHeap.inline.hpp"

  31 #include "gc/shared/generation.hpp"
  32 #include "interpreter/bytecodeStream.hpp"
  33 #include "interpreter/bytecodeTracer.hpp"
  34 #include "interpreter/bytecodes.hpp"
  35 #include "interpreter/interpreter.hpp"
  36 #include "interpreter/oopMapCache.hpp"
  37 #include "memory/allocation.inline.hpp"
  38 #include "memory/heapInspection.hpp"
  39 #include "memory/metadataFactory.hpp"
  40 #include "memory/metaspaceClosure.hpp"
  41 #include "memory/metaspaceShared.hpp"
  42 #include "memory/oopFactory.hpp"
  43 #include "memory/resourceArea.hpp"
  44 #include "oops/constMethod.hpp"
  45 #include "oops/method.inline.hpp"
  46 #include "oops/methodData.hpp"
  47 #include "oops/objArrayOop.inline.hpp"
  48 #include "oops/oop.inline.hpp"
  49 #include "oops/symbol.hpp"
  50 #include "prims/jvmtiExport.hpp"
  51 #include "prims/methodHandles.hpp"
  52 #include "prims/nativeLookup.hpp"
  53 #include "runtime/arguments.hpp"
  54 #include "runtime/compilationPolicy.hpp"
  55 #include "runtime/frame.inline.hpp"
  56 #include "runtime/handles.inline.hpp"
  57 #include "runtime/init.hpp"
  58 #include "runtime/orderAccess.inline.hpp"
  59 #include "runtime/relocator.hpp"
  60 #include "runtime/safepointVerifiers.hpp"
  61 #include "runtime/sharedRuntime.hpp"
  62 #include "runtime/signature.hpp"
  63 #include "utilities/align.hpp"
  64 #include "utilities/quickSort.hpp"
  65 #include "utilities/vmError.hpp"
  66 #include "utilities/xmlstream.hpp"
  67 
  68 // Implementation of Method
  69 
  70 Method* Method::allocate(ClassLoaderData* loader_data,
  71                          int byte_code_size,
  72                          AccessFlags access_flags,
  73                          InlineTableSizes* sizes,
  74                          ConstMethod::MethodType method_type,
  75                          TRAPS) {
  76   assert(!access_flags.is_native() || byte_code_size == 0,
  77          "native methods should not contain byte codes");
  78   ConstMethod* cm = ConstMethod::allocate(loader_data,
  79                                           byte_code_size,
  80                                           sizes,


< prev index next >