-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Closed
Labels
Milestone
Description
We are missing unboxing stubs on wasm as these are currently emitted as native code on other platforms.
This can be reached through
TestCallingConvention0(1, 2.0f, 3, 4.0, 5, 6.0);
static void TestCallingConvention0(int a, float b, int c, double d, int e, double f)
{
Console.WriteLine("TestCallingConvention0: a = {0}, b = {1}, c = {2}, d = {3}, e = {4}, f = {5}", a, b, c, d, e, f);
}
and results in
ASSERT FAILED
Expression: false && "The EmitComputedInstantiatingMethodStub is not implemented on wasm"
Location: line 81 in /Users/rodo/git/runtime-main/src/coreclr/vm/wasm/cgencpu.h
Function: EmitComputedInstantiatingMethodStub
Process: 42
Frame (InterpreterFrame): 0x4fee58
0) System.Text.ValueStringBuilder::AppendFormatHelper, IR_051c
1) System.IO.StreamWriter::WriteFormatHelper, IR_007c
2) System.IO.StreamWriter::WriteLine, IR_0034
3) System.Console::WriteLine, IR_0013
4) Program::<<Main>$>g__TestCallingConvention0|0_0, IR_00b4
5) Program::<Main>$, IR_001c
the native part
StubLinkerCPU::EmitComputedInstantiatingMethodStub(MethodDesc*, ShuffleEntry*, void*) (src/coreclr/vm/wasm/cgencpu.h:81)
MakeUnboxingStubWorker(MethodDesc*) (src/coreclr/vm/prestub.cpp:1723)
MethodDesc::DoPrestub(MethodTable*, CallerGCMode) (src/coreclr/vm/prestub.cpp:2263)
CallPreStub(MethodDesc*)::$_1::operator()(CallPreStub(MethodDesc*)::Param*) const (src/coreclr/vm/interpexec.cpp:641)
CallPreStub(MethodDesc*) (src/coreclr/vm/interpexec.cpp:643)
InterpExecMethod(InterpreterFrame*, InterpMethodContextFrame*, InterpThreadContext*, ExceptionClauseArgs*) (src/coreclr/vm/interpexec.cpp:2453)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status