< prev index next >

src/share/vm/interpreter/abstractInterpreter.hpp

Print this page
rev 13183 : 8183232: Avoid resolving method_kind in AbstractInterpreter::can_be_compiled
Reviewed-by: coleenp, mdoerr, neliasso

*** 1,7 **** /* ! * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 148,158 **** // used for bootstrapping method handles: static void set_entry_for_kind(MethodKind k, address e); static void print_method_kind(MethodKind kind) PRODUCT_RETURN; ! static bool can_be_compiled(methodHandle m); // Runtime support // length = invoke bytecode length (to advance to next bytecode) static address deopt_entry(TosState state, int length) { ShouldNotReachHere(); return NULL; } --- 148,177 ---- // used for bootstrapping method handles: static void set_entry_for_kind(MethodKind k, address e); static void print_method_kind(MethodKind kind) PRODUCT_RETURN; ! // These should never be compiled since the interpreter will prefer ! // the compiled version to the intrinsic version. ! static bool can_be_compiled(const methodHandle& m) { ! switch (m->intrinsic_id()) { ! case vmIntrinsics::_dsin : // fall thru ! case vmIntrinsics::_dcos : // fall thru ! case vmIntrinsics::_dtan : // fall thru ! case vmIntrinsics::_dabs : // fall thru ! case vmIntrinsics::_dsqrt : // fall thru ! case vmIntrinsics::_dlog : // fall thru ! case vmIntrinsics::_dlog10: // fall thru ! case vmIntrinsics::_dpow : // fall thru ! case vmIntrinsics::_dexp : // fall thru ! case vmIntrinsics::_fmaD : // fall thru ! case vmIntrinsics::_fmaF : // fall thru ! return false; ! default: ! return true; ! } ! } // Runtime support // length = invoke bytecode length (to advance to next bytecode) static address deopt_entry(TosState state, int length) { ShouldNotReachHere(); return NULL; }
< prev index next >