Mercurial > hg > truffle
comparison src/share/vm/shark/sharkContext.cpp @ 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 | f95d63e2154a |
children | 2cd5e15048e6 |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * Copyright 2009, 2010 Red Hat, Inc. | 3 * Copyright 2009, 2010 Red Hat, Inc. |
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 * | 5 * |
6 * This code is free software; you can redistribute it and/or modify it | 6 * This code is free software; you can redistribute it and/or modify it |
7 * under the terms of the GNU General Public License version 2 only, as | 7 * under the terms of the GNU General Public License version 2 only, as |
59 ArrayType::get(jbyte_type(), sizeof(JNIEnv))); | 59 ArrayType::get(jbyte_type(), sizeof(JNIEnv))); |
60 | 60 |
61 _jniHandleBlock_type = PointerType::getUnqual( | 61 _jniHandleBlock_type = PointerType::getUnqual( |
62 ArrayType::get(jbyte_type(), sizeof(JNIHandleBlock))); | 62 ArrayType::get(jbyte_type(), sizeof(JNIHandleBlock))); |
63 | 63 |
64 _methodOop_type = PointerType::getUnqual( | 64 _Method*_type = PointerType::getUnqual( |
65 ArrayType::get(jbyte_type(), sizeof(methodOopDesc))); | 65 ArrayType::get(jbyte_type(), sizeof(Method))); |
66 | 66 |
67 _monitor_type = ArrayType::get( | 67 _monitor_type = ArrayType::get( |
68 jbyte_type(), frame::interpreter_frame_monitor_size() * wordSize); | 68 jbyte_type(), frame::interpreter_frame_monitor_size() * wordSize); |
69 | 69 |
70 _oop_type = PointerType::getUnqual( | 70 _oop_type = PointerType::getUnqual( |
75 | 75 |
76 _zeroStack_type = PointerType::getUnqual( | 76 _zeroStack_type = PointerType::getUnqual( |
77 ArrayType::get(jbyte_type(), sizeof(ZeroStack))); | 77 ArrayType::get(jbyte_type(), sizeof(ZeroStack))); |
78 | 78 |
79 std::vector<const Type*> params; | 79 std::vector<const Type*> params; |
80 params.push_back(methodOop_type()); | 80 params.push_back(Method*_type()); |
81 params.push_back(intptr_type()); | 81 params.push_back(intptr_type()); |
82 params.push_back(thread_type()); | 82 params.push_back(thread_type()); |
83 _entry_point_type = FunctionType::get(jint_type(), params, false); | 83 _entry_point_type = FunctionType::get(jint_type(), params, false); |
84 | 84 |
85 params.clear(); | 85 params.clear(); |
86 params.push_back(methodOop_type()); | 86 params.push_back(Method*_type()); |
87 params.push_back(PointerType::getUnqual(jbyte_type())); | 87 params.push_back(PointerType::getUnqual(jbyte_type())); |
88 params.push_back(intptr_type()); | 88 params.push_back(intptr_type()); |
89 params.push_back(thread_type()); | 89 params.push_back(thread_type()); |
90 _osr_entry_point_type = FunctionType::get(jint_type(), params, false); | 90 _osr_entry_point_type = FunctionType::get(jint_type(), params, false); |
91 | 91 |