Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/oops/methodOop.hpp
          +++ new/src/share/vm/oops/methodOop.hpp
   1    1  /*
   2      - * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
        2 + * Copyright 1997-2010 Sun Microsystems, Inc.  All Rights Reserved.
   3    3   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4   *
   5    5   * This code is free software; you can redistribute it and/or modify it
   6    6   * under the terms of the GNU General Public License version 2 only, as
   7    7   * published by the Free Software Foundation.
   8    8   *
   9    9   * This code is distributed in the hope that it will be useful, but WITHOUT
  10   10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11   11   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12   12   * version 2 for more details (a copy is included in the LICENSE file that
↓ open down ↓ 505 lines elided ↑ open up ↑
 518  518  
 519  519    // Returns the line number for a bci if debugging information for the method is prowided,
 520  520    // -1 is returned otherwise.
 521  521    int line_number_from_bci(int bci) const;
 522  522  
 523  523    // Reflection support
 524  524    bool is_overridden_in(klassOop k) const;
 525  525  
 526  526    // JSR 292 support
 527  527    bool is_method_handle_invoke() const              { return access_flags().is_method_handle_invoke(); }
      528 +  // Tests if this method is an internal adapter frame from the
      529 +  // MethodHandleCompiler.
      530 +  bool is_method_handle_adapter() const;
 528  531    static methodHandle make_invoke_method(KlassHandle holder,
 529  532                                           symbolHandle signature,
 530  533                                           Handle method_type,
 531  534                                           TRAPS);
 532  535    // these operate only on invoke methods:
 533  536    oop method_handle_type() const;
 534  537    static jint* method_type_offsets_chain();  // series of pointer-offsets, terminated by -1
 535  538    // presize interpreter frames for extra interpreter stack entries, if needed
 536  539    // method handles want to be able to push a few extra values (e.g., a bound receiver), and
 537  540    // invokedynamic sometimes needs to push a bootstrap method, call site, and arglist,
 538  541    // all without checking for a stack overflow
 539  542    static int extra_stack_entries() { return (EnableMethodHandles ? (int)MethodHandlePushLimit : 0) + (EnableInvokeDynamic ? 3 : 0); }
 540  543    static int extra_stack_words();  // = extra_stack_entries() * Interpreter::stackElementSize()
      544 +
 541  545    // RedefineClasses() support:
 542  546    bool is_old() const                               { return access_flags().is_old(); }
 543  547    void set_is_old()                                 { _access_flags.set_is_old(); }
 544  548    bool is_obsolete() const                          { return access_flags().is_obsolete(); }
 545  549    void set_is_obsolete()                            { _access_flags.set_is_obsolete(); }
 546  550    // see the definition in methodOop.cpp for the gory details
 547  551    bool should_not_be_cached() const;
 548  552  
 549  553    // JVMTI Native method prefixing support:
 550  554    bool is_prefixed_native() const                   { return access_flags().is_prefixed_native(); }
↓ open down ↓ 201 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX