src/share/vm/prims/methodHandles.cpp

changeset 2411
8d0b933dda2d
parent 2343
f2da85a9b08e
child 2436
d810e9a3fc33
     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

mercurial