[M3devel] trestle grandChild.init 5 parameters?
Jay K
jay.krell at cornell.edu
Fri Apr 12 09:57:33 CEST 2013
can anyone explain this?
PROCEDURE InitChild (j: Join; ch: VBT.T; p: DeleteProc)=
VAR
grandChild := NEW(GrandChild, proc := p);
child := StableVBT.New(grandChild);
BEGIN
EVAL grandChild.init(ch); (* line 41 *)
j.trueChild := ch;
EVAL j.init(child)
END InitChild;
There are only two obvious parameters.
The generated code passes 5.
I understand they could be default parameters, but I still don't see it.
My particular problem is that type 79A5AEBB and/or 23E73F69 isn't declared.
I'd like to know what they are.
If I don't know the full information for every struct passed by value at the point of the call,
I won't be able to use the C/C++ feature of passing structs by value.
//line 41 "../src/trestle/InstalledVBT.m3"
/* start_call_indirect */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load */
//line 41 "../src/trestle/InstalledVBT.m3"
/* pop_param */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load */
//line 41 "../src/trestle/InstalledVBT.m3"
/* pop_param */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load_indirect */
//line 41 "../src/trestle/InstalledVBT.m3"
/* pop_struct */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load_indirect */
//line 41 "../src/trestle/InstalledVBT.m3"
/* pop_struct */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load_address */
//line 41 "../src/trestle/InstalledVBT.m3"
/* pop_param */
//line 41 "../src/trestle/InstalledVBT.m3"
/* load */
//line 41 "../src/trestle/InstalledVBT.m3"
/* check_nil */
//line 41 "../src/trestle/InstalledVBT.m3"
/* store */
//line 41 "../src/trestle/InstalledVBT.m3"
(*(ADDRESS*)(&L_69_L_70))=(ADDRESS)(((ADDRESS)(L_67_L_68)));
//line 41 "../src/trestle/InstalledVBT.m3"
/* load */
//line 41 "../src/trestle/InstalledVBT.m3"
/*check_nil*/if(!L_69_L_70)M_InstalledVBT_L_37_CRASH(1316);
//line 41 "../src/trestle/InstalledVBT.m3"
/* call_indirect */
//line 41 "../src/trestle/InstalledVBT.m3"
/* store */
//line 41 "../src/trestle/InstalledVBT.m3"
(*(ADDRESS*)(&L_65_L_66))=(ADDRESS)(((ADDRESS)(((ADDRESS (__cdecl*)(DOTDOTDOT))L_69_L_70)(
grandChild_L_45,
ch_L_48,
((T79A5AEBB*)(*((ADDRESS*)(INT64_(232)+((ADDRESS)(*((ADDRESS*)(INT64_(984)+((ADDRESS)(&M_InstalledVBT_L_37)))))))))),
((T23E73F69*)(*((ADDRESS*)(INT64_(120)+((ADDRESS)(*((ADDRESS*)(INT64_(1008)+((ADDRESS)(&M_InstalledVBT_L_37)))))))))),
INT64_(72)+((ADDRESS)(&L_35_L_36))))));
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130412/326d259d/attachment-0001.html>
More information about the M3devel
mailing list