comparison src/share/vm/prims/methodHandles.hpp @ 2116:d810e9a3fc33

7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL Reviewed-by: never
author twisti
date Mon, 10 Jan 2011 00:56:39 -0800
parents 8d0b933dda2d
children 3582bf76420e
comparison
equal deleted inserted replaced
2115:78e248949382 2116:d810e9a3fc33
1 /* 1 /*
2 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2008, 2011, 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.
292 int skip, objArrayOop results); 292 int skip, objArrayOop results);
293 // bit values for suppress argument to expand_MemberName: 293 // bit values for suppress argument to expand_MemberName:
294 enum { _suppress_defc = 1, _suppress_name = 2, _suppress_type = 4 }; 294 enum { _suppress_defc = 1, _suppress_name = 2, _suppress_type = 4 };
295 295
296 // Generate MethodHandles adapters. 296 // Generate MethodHandles adapters.
297 static void generate_adapters(TRAPS); 297 static void generate_adapters();
298 298
299 // Called from InterpreterGenerator and MethodHandlesAdapterGenerator. 299 // Called from InterpreterGenerator and MethodHandlesAdapterGenerator.
300 static address generate_method_handle_interpreter_entry(MacroAssembler* _masm); 300 static address generate_method_handle_interpreter_entry(MacroAssembler* _masm);
301 static void generate_method_handle_stub(MacroAssembler* _masm, EntryKind ek, TRAPS); 301 static void generate_method_handle_stub(MacroAssembler* _masm, EntryKind ek);
302 302
303 // argument list parsing 303 // argument list parsing
304 static int argument_slot(oop method_type, int arg); 304 static int argument_slot(oop method_type, int arg);
305 static int argument_slot_count(oop method_type) { return argument_slot(method_type, -1); } 305 static int argument_slot_count(oop method_type) { return argument_slot(method_type, -1); }
306 static int argument_slot_to_argnum(oop method_type, int argslot); 306 static int argument_slot_to_argnum(oop method_type, int argslot);
528 // 528 //
529 class MethodHandlesAdapterGenerator : public StubCodeGenerator { 529 class MethodHandlesAdapterGenerator : public StubCodeGenerator {
530 public: 530 public:
531 MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code) {} 531 MethodHandlesAdapterGenerator(CodeBuffer* code) : StubCodeGenerator(code) {}
532 532
533 void generate(TRAPS); 533 void generate();
534 }; 534 };
535 535
536 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP 536 #endif // SHARE_VM_PRIMS_METHODHANDLES_HPP