minqi@4267: /* minqi@4267: * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. minqi@4267: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. minqi@4267: * minqi@4267: * This code is free software; you can redistribute it and/or modify it minqi@4267: * under the terms of the GNU General Public License version 2 only, as minqi@4267: * published by the Free Software Foundation. minqi@4267: * minqi@4267: * This code is distributed in the hope that it will be useful, but WITHOUT minqi@4267: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or minqi@4267: * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License minqi@4267: * version 2 for more details (a copy is included in the LICENSE file that minqi@4267: * accompanied this code). minqi@4267: * minqi@4267: * You should have received a copy of the GNU General Public License version minqi@4267: * 2 along with this work; if not, write to the Free Software Foundation, minqi@4267: * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. minqi@4267: * minqi@4267: * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA minqi@4267: * or visit www.oracle.com if you need additional information or have any minqi@4267: * questions. minqi@4267: * minqi@4267: */ minqi@4267: minqi@4267: #ifndef SHARE_VM_CI_CIREPLAY_HPP minqi@4267: #define SHARE_VM_CI_CIREPLAY_HPP minqi@4267: minqi@4267: #include "ci/ciMethod.hpp" minqi@4267: minqi@4267: // ciReplay minqi@4267: minqi@4267: class ciReplay { minqi@4267: CI_PACKAGE_ACCESS minqi@4267: coleenp@4304: #ifndef PRODUCT minqi@4267: private: minqi@4267: static int replay_impl(TRAPS); minqi@4267: minqi@4267: public: minqi@4267: static void replay(TRAPS); minqi@4267: minqi@4267: // These are used by the CI to fill in the cached data from the minqi@4267: // replay file when replaying compiles. minqi@4267: static void initialize(ciMethodData* method); minqi@4267: static void initialize(ciMethod* method); minqi@4267: minqi@4267: static bool is_loaded(Method* method); minqi@4267: static bool is_loaded(Klass* klass); minqi@4267: minqi@4267: static bool should_not_inline(ciMethod* method); minqi@4267: minqi@4267: #endif minqi@4267: }; minqi@4267: minqi@4267: #endif // SHARE_VM_CI_CIREPLAY_HPP