1.1 --- a/src/cpu/x86/vm/methodHandles_x86.cpp Fri Jan 07 11:53:24 2011 -0800 1.2 +++ b/src/cpu/x86/vm/methodHandles_x86.cpp Mon Jan 10 00:56:39 2011 -0800 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -390,7 +390,7 @@ 1.11 // 1.12 // Generate an "entry" field for a method handle. 1.13 // This determines how the method handle will respond to calls. 1.14 -void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHandles::EntryKind ek, TRAPS) { 1.15 +void MethodHandles::generate_method_handle_stub(MacroAssembler* _masm, MethodHandles::EntryKind ek) { 1.16 // Here is the register state during an interpreted call, 1.17 // as set up by generate_method_handle_interpreter_entry(): 1.18 // - rbx: garbage temp (was MethodHandle.invoke methodOop, unused) 1.19 @@ -451,8 +451,9 @@ 1.20 // exception. Since we use a C2I adapter to set up the 1.21 // interpreter state, arguments are expected in compiler 1.22 // argument registers. 1.23 - methodHandle mh(raise_exception_method()); 1.24 - address c2i_entry = methodOopDesc::make_adapters(mh, CHECK); 1.25 + assert(raise_exception_method(), "must be set"); 1.26 + address c2i_entry = raise_exception_method()->get_c2i_entry(); 1.27 + assert(c2i_entry, "method must be linked"); 1.28 1.29 const Register rdi_pc = rax; 1.30 __ pop(rdi_pc); // caller PC