|
@@ -139,6 +139,7 @@ uses
|
|
will be removed by the load operation }
|
|
will be removed by the load operation }
|
|
procedure a_load_ref_stack(list : TAsmList;size: tdef;const ref: treference;extra_slots: longint);
|
|
procedure a_load_ref_stack(list : TAsmList;size: tdef;const ref: treference;extra_slots: longint);
|
|
procedure a_load_const_stack(list : TAsmList;size: tdef;a :tcgint; typ: TRegisterType);
|
|
procedure a_load_const_stack(list : TAsmList;size: tdef;a :tcgint; typ: TRegisterType);
|
|
|
|
+ procedure a_load_subsetref_stack(list : TAsmList;size: tdef; const sref: tsubsetreference);
|
|
procedure a_loadaddr_ref_stack(list : TAsmList;fromsize, tosize : tdef;const ref : treference);
|
|
procedure a_loadaddr_ref_stack(list : TAsmList;fromsize, tosize : tdef;const ref : treference);
|
|
|
|
|
|
procedure a_load_stack_loc(list : TAsmList;size: tdef;const loc: tlocation);
|
|
procedure a_load_stack_loc(list : TAsmList;size: tdef;const loc: tlocation);
|
|
@@ -462,6 +463,8 @@ implementation
|
|
end;
|
|
end;
|
|
LOC_CONSTANT:
|
|
LOC_CONSTANT:
|
|
a_load_const_stack(list,size,loc.value,def2regtyp(size));
|
|
a_load_const_stack(list,size,loc.value,def2regtyp(size));
|
|
|
|
+ LOC_SUBSETREF,LOC_CSUBSETREF:
|
|
|
|
+ a_load_subsetref_stack(list,size,loc.sref);
|
|
else
|
|
else
|
|
internalerror(2011010401);
|
|
internalerror(2011010401);
|
|
end;
|
|
end;
|
|
@@ -1863,6 +1866,12 @@ implementation
|
|
// gen_typecheck(list,a_checkcast,size);
|
|
// gen_typecheck(list,a_checkcast,size);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ procedure thlcgwasm.a_load_subsetref_stack(list : TAsmList;size: tdef; const sref: tsubsetreference);
|
|
|
|
+ begin
|
|
|
|
+ { todo: implement }
|
|
|
|
+ internalerror(2021080901);
|
|
|
|
+ end;
|
|
|
|
+
|
|
function thlcgwasm.loadstoreopcref(def: tdef; isload: boolean; const ref: treference; out finishandval: tcgint): tasmop;
|
|
function thlcgwasm.loadstoreopcref(def: tdef; isload: boolean; const ref: treference; out finishandval: tcgint): tasmop;
|
|
const
|
|
const
|
|
{iisload} {issigned}
|
|
{iisload} {issigned}
|