InvokedynamicRewriting.scalaLambdaDeserializeResolution handles the scala.runtime.LambdaDeserialize.bootstrap bootstrap method. Currently, it only supports InvokeStaticMethodHandles, because the implementation of ClassFileFactory.DeserializeLambdaProxy can only process these.
More recent Scala compilers, however, also produce InvokeSpecialMethodHandles, which we should be able to process.
However, I can't find the bytecode that is referenced in the ClassFileFactory, making it hard to adapt it correctly.
InvokedynamicRewriting.scalaLambdaDeserializeResolutionhandles thescala.runtime.LambdaDeserialize.bootstrapbootstrap method. Currently, it only supportsInvokeStaticMethodHandles, because the implementation ofClassFileFactory.DeserializeLambdaProxycan only process these.More recent Scala compilers, however, also produce
InvokeSpecialMethodHandles, which we should be able to process.However, I can't find the bytecode that is referenced in the
ClassFileFactory, making it hard to adapt it correctly.