annotate src/share/vm/ci/ciCallSite.hpp @ 3700:f13867c41f73

7199742: A lot of C2 OSR compilations of the same method's bci Summary: Don't clone head of OSR loop. Reviewed-by: jrose, twisti
author kvn
date Tue, 02 Oct 2012 14:49:21 -0700
parents 8033953d67ff
children
rev   line source
twisti@1138 1 /*
jrose@2204 2 * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
twisti@1138 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
twisti@1138 4 *
twisti@1138 5 * This code is free software; you can redistribute it and/or modify it
twisti@1138 6 * under the terms of the GNU General Public License version 2 only, as
twisti@1138 7 * published by the Free Software Foundation.
twisti@1138 8 *
twisti@1138 9 * This code is distributed in the hope that it will be useful, but WITHOUT
twisti@1138 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
twisti@1138 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
twisti@1138 12 * version 2 for more details (a copy is included in the LICENSE file that
twisti@1138 13 * accompanied this code).
twisti@1138 14 *
twisti@1138 15 * You should have received a copy of the GNU General Public License version
twisti@1138 16 * 2 along with this work; if not, write to the Free Software Foundation,
twisti@1138 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
twisti@1138 18 *
trims@1472 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1472 20 * or visit www.oracle.com if you need additional information or have any
trims@1472 21 * questions.
twisti@1138 22 *
twisti@1138 23 */
twisti@1138 24
stefank@1879 25 #ifndef SHARE_VM_CI_CICALLSITE_HPP
stefank@1879 26 #define SHARE_VM_CI_CICALLSITE_HPP
stefank@1879 27
stefank@1879 28 #include "ci/ciInstance.hpp"
stefank@1879 29
twisti@1138 30 // ciCallSite
twisti@1138 31 //
jrose@2204 32 // The class represents a java.lang.invoke.CallSite object.
twisti@1138 33 class ciCallSite : public ciInstance {
twisti@1138 34 public:
twisti@1138 35 ciCallSite(instanceHandle h_i) : ciInstance(h_i) {}
twisti@1138 36
twisti@1138 37 // What kind of ciObject is this?
twisti@1138 38 bool is_call_site() const { return true; }
twisti@1138 39
twisti@2615 40 bool is_constant_call_site();
twisti@2615 41 bool is_mutable_call_site();
twisti@2615 42 bool is_volatile_call_site();
twisti@2615 43
twisti@1138 44 // Return the target MethodHandle of this CallSite.
twisti@1138 45 ciMethodHandle* get_target() const;
twisti@1138 46
twisti@1138 47 void print();
twisti@1138 48 };
stefank@1879 49
stefank@1879 50 #endif // SHARE_VM_CI_CICALLSITE_HPP