<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>can anyone explain this?<br><br><br>PROCEDURE InitChild (j: Join; ch: VBT.T; p: DeleteProc)=<br> VAR<br> grandChild := NEW(GrandChild, proc := p);<br> child := StableVBT.New(grandChild);<br> BEGIN<br> EVAL grandChild.init(ch); (* line 41 *)<br> j.trueChild := ch;<br> EVAL j.init(child)<br> END InitChild;<br><br><br>There are only two obvious parameters.<br>The generated code passes 5.<br>I understand they could be default parameters, but I still don't see it.<br><br><br>My particular problem is that type 79A5AEBB and/or 23E73F69 isn't declared.<br>I'd like to know what they are.<br>If I don't know the full information for every struct passed by value at the point of the call,<br>I won't be able to use the C/C++ feature of passing structs by value.<br><br><br><br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* start_call_indirect */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* pop_param */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* pop_param */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load_indirect */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* pop_struct */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load_indirect */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* pop_struct */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load_address */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* pop_param */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* check_nil */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* store */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br>(*(ADDRESS*)(&L_69_L_70))=(ADDRESS)(((ADDRESS)(L_67_L_68)));<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* load */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br>/*check_nil*/if(!L_69_L_70)M_InstalledVBT_L_37_CRASH(1316);<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* call_indirect */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br> /* store */<br>//line 41 "../src/trestle/InstalledVBT.m3"<br>(*(ADDRESS*)(&L_65_L_66))=(ADDRESS)(((ADDRESS)(((ADDRESS (__cdecl*)(DOTDOTDOT))L_69_L_70)(<br> grandChild_L_45,<br> ch_L_48,<br> ((T79A5AEBB*)(*((ADDRESS*)(INT64_(232)+((ADDRESS)(*((ADDRESS*)(INT64_(984)+((ADDRESS)(&M_InstalledVBT_L_37)))))))))),<br> ((T23E73F69*)(*((ADDRESS*)(INT64_(120)+((ADDRESS)(*((ADDRESS*)(INT64_(1008)+((ADDRESS)(&M_InstalledVBT_L_37)))))))))),<br> INT64_(72)+((ADDRESS)(&L_35_L_36))))));<br><br> </div></body>
</html>