comparison src/share/vm/prims/methodHandles.hpp @ 10345:b7fa10a3a69a

8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes Summary: The fix of perf regression is to use method_idnum() for direct indexing into NMT Reviewed-by: twisti, kvn, coleenp, dholmes Contributed-by: serguei.spitsyn@oracle.com
author sspitsyn
date Thu, 23 May 2013 23:04:33 -0700
parents 6337ca4dcad8
children b2e698d2276c
comparison
equal deleted inserted replaced
10344:699d9df07e59 10345:b7fa10a3a69a
1 /* 1 /*
2 * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. 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. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 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 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
217 // during runtime. 217 // during runtime.
218 } 218 }
219 } 219 }
220 }; 220 };
221 221
222
223 //------------------------------------------------------------------------------ 222 //------------------------------------------------------------------------------
224 // MethodHandlesAdapterGenerator 223 // MethodHandlesAdapterGenerator
225 // 224 //
226 class MethodHandlesAdapterGenerator : public StubCodeGenerator { 225 class MethodHandlesAdapterGenerator : public StubCodeGenerator {
227 public: 226 public:
231 }; 230 };
232 231
233 //------------------------------------------------------------------------------ 232 //------------------------------------------------------------------------------
234 // MemberNameTable 233 // MemberNameTable
235 // 234 //
235
236 class MemberNameTable : public GrowableArray<jweak> { 236 class MemberNameTable : public GrowableArray<jweak> {
237 public: 237 public:
238 MemberNameTable(); 238 MemberNameTable(int methods_cnt);
239 ~MemberNameTable(); 239 ~MemberNameTable();
240 void add_member_name(jweak mem_name_ref); 240 void add_member_name(int index, jweak mem_name_ref);
241 private: 241 oop get_member_name(int index);
242 int find_member_name(oop mem_name);
243 242
244 #if INCLUDE_JVMTI 243 #if INCLUDE_JVMTI
245 public: 244 public:
246 // RedefineClasses() API support: 245 // RedefineClasses() API support:
247 // If a MemberName refers to old_method then update it 246 // If a MemberName refers to old_method then update it