src/share/vm/prims/methodHandles.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/prims

src/share/vm/prims/methodHandles.hpp

Print this page


   1 /*
   2  * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 211           suffix = "/private";
 212       }
 213       jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
 214       trace_method_handle(_masm, qname);
 215       // Note:  Don't free the allocated char array because it's used
 216       // during runtime.
 217     }
 218   }
 219 };
 220 
 221 //------------------------------------------------------------------------------
 222 // MethodHandlesAdapterGenerator
 223 //
 224 class MethodHandlesAdapterGenerator : public StubCodeGenerator {
 225 public:
 226   MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code, PrintMethodHandleStubs) {}
 227 
 228   void generate();
 229 };
 230 
 231 //------------------------------------------------------------------------------
 232 // MemberNameTable
 233 //
 234 
 235 class MemberNameTable : public GrowableArray<jweak> {
 236  public:
 237   MemberNameTable(int methods_cnt);
 238   ~MemberNameTable();
 239   void add_member_name(int index, jweak mem_name_ref);
 240   oop  get_member_name(int index);
 241 
 242 #if INCLUDE_JVMTI
 243  public:
 244   // RedefineClasses() API support:
 245   // If a MemberName refers to old_method then update it
 246   // to refer to new_method.
 247   void adjust_method_entries(Method** old_methods, Method** new_methods,
 248                              int methods_length, bool *trace_name_printed);
 249  private:
 250   oop find_member_name_by_method(Method* old_method);
 251 #endif // INCLUDE_JVMTI
 252 };
 253 
 254 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP
   1 /*
   2  * Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 211           suffix = "/private";
 212       }
 213       jio_snprintf(qname, len, "MethodHandle::interpreter_entry::%s%s", name, suffix);
 214       trace_method_handle(_masm, qname);
 215       // Note:  Don't free the allocated char array because it's used
 216       // during runtime.
 217     }
 218   }
 219 };
 220 
 221 //------------------------------------------------------------------------------
 222 // MethodHandlesAdapterGenerator
 223 //
 224 class MethodHandlesAdapterGenerator : public StubCodeGenerator {
 225 public:
 226   MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code, PrintMethodHandleStubs) {}
 227 
 228   void generate();
 229 };
 230 























 231 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP
src/share/vm/prims/methodHandles.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File