src/share/vm/ci/ciReplay.hpp

Wed, 23 Oct 2013 12:40:23 +0200

author
roland
date
Wed, 23 Oct 2013 12:40:23 +0200
changeset 5991
b2ee5dc63353
parent 4304
90273fc0a981
child 6217
849eb7bfceac
permissions
-rw-r--r--

8024070: C2 needs some form of type speculation
Summary: record unused type profile information with type system, propagate and use it.
Reviewed-by: kvn, twisti

minqi@4267 1 /*
minqi@4267 2 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
minqi@4267 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
minqi@4267 4 *
minqi@4267 5 * This code is free software; you can redistribute it and/or modify it
minqi@4267 6 * under the terms of the GNU General Public License version 2 only, as
minqi@4267 7 * published by the Free Software Foundation.
minqi@4267 8 *
minqi@4267 9 * This code is distributed in the hope that it will be useful, but WITHOUT
minqi@4267 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
minqi@4267 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
minqi@4267 12 * version 2 for more details (a copy is included in the LICENSE file that
minqi@4267 13 * accompanied this code).
minqi@4267 14 *
minqi@4267 15 * You should have received a copy of the GNU General Public License version
minqi@4267 16 * 2 along with this work; if not, write to the Free Software Foundation,
minqi@4267 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
minqi@4267 18 *
minqi@4267 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
minqi@4267 20 * or visit www.oracle.com if you need additional information or have any
minqi@4267 21 * questions.
minqi@4267 22 *
minqi@4267 23 */
minqi@4267 24
minqi@4267 25 #ifndef SHARE_VM_CI_CIREPLAY_HPP
minqi@4267 26 #define SHARE_VM_CI_CIREPLAY_HPP
minqi@4267 27
minqi@4267 28 #include "ci/ciMethod.hpp"
minqi@4267 29
minqi@4267 30 // ciReplay
minqi@4267 31
minqi@4267 32 class ciReplay {
minqi@4267 33 CI_PACKAGE_ACCESS
minqi@4267 34
coleenp@4304 35 #ifndef PRODUCT
minqi@4267 36 private:
minqi@4267 37 static int replay_impl(TRAPS);
minqi@4267 38
minqi@4267 39 public:
minqi@4267 40 static void replay(TRAPS);
minqi@4267 41
minqi@4267 42 // These are used by the CI to fill in the cached data from the
minqi@4267 43 // replay file when replaying compiles.
minqi@4267 44 static void initialize(ciMethodData* method);
minqi@4267 45 static void initialize(ciMethod* method);
minqi@4267 46
minqi@4267 47 static bool is_loaded(Method* method);
minqi@4267 48 static bool is_loaded(Klass* klass);
minqi@4267 49
minqi@4267 50 static bool should_not_inline(ciMethod* method);
minqi@4267 51
minqi@4267 52 #endif
minqi@4267 53 };
minqi@4267 54
minqi@4267 55 #endif // SHARE_VM_CI_CIREPLAY_HPP

mercurial