1.1 --- a/src/share/vm/prims/methodHandles.cpp Tue Dec 21 22:57:17 2010 -0800 1.2 +++ b/src/share/vm/prims/methodHandles.cpp Wed Dec 22 02:02:53 2010 -0800 1.3 @@ -111,7 +111,7 @@ 1.4 //------------------------------------------------------------------------------ 1.5 // MethodHandles::generate_adapters 1.6 // 1.7 -void MethodHandles::generate_adapters() { 1.8 +void MethodHandles::generate_adapters(TRAPS) { 1.9 if (!EnableMethodHandles || SystemDictionary::MethodHandle_klass() == NULL) return; 1.10 1.11 assert(_adapter_code == NULL, "generate only once"); 1.12 @@ -123,20 +123,20 @@ 1.13 vm_exit_out_of_memory(_adapter_code_size, "CodeCache: no room for MethodHandles adapters"); 1.14 CodeBuffer code(_adapter_code); 1.15 MethodHandlesAdapterGenerator g(&code); 1.16 - g.generate(); 1.17 + g.generate(CHECK); 1.18 } 1.19 1.20 1.21 //------------------------------------------------------------------------------ 1.22 // MethodHandlesAdapterGenerator::generate 1.23 // 1.24 -void MethodHandlesAdapterGenerator::generate() { 1.25 +void MethodHandlesAdapterGenerator::generate(TRAPS) { 1.26 // Generate generic method handle adapters. 1.27 for (MethodHandles::EntryKind ek = MethodHandles::_EK_FIRST; 1.28 ek < MethodHandles::_EK_LIMIT; 1.29 ek = MethodHandles::EntryKind(1 + (int)ek)) { 1.30 StubCodeMark mark(this, "MethodHandle", MethodHandles::entry_name(ek)); 1.31 - MethodHandles::generate_method_handle_stub(_masm, ek); 1.32 + MethodHandles::generate_method_handle_stub(_masm, ek, CHECK); 1.33 } 1.34 } 1.35 1.36 @@ -2645,5 +2645,10 @@ 1.37 MethodHandles::set_enabled(true); 1.38 } 1.39 } 1.40 + 1.41 + // Generate method handles adapters if enabled. 1.42 + if (MethodHandles::enabled()) { 1.43 + MethodHandles::generate_adapters(CHECK); 1.44 + } 1.45 } 1.46 JVM_END