OK, so, I'm a bit confused.
I have this template:
template initTopContextWith(pairs:seq[(int,Value)]) =
shallowCopy(Stack[^1],pairs)
which I'm calling/using from another proc.
When I use the template, the produced code is:
// shallowCopy(Stack[^1],pairs)
// shallowCopy(Stack[^1],pairs)
T22_ = (tySequence__27px9cXpFaJ4yUn1cSZAKaw**)0;
T22_ = X5BX5D___q5FAoaedQCwl53m2ytrbgQsystem(Stack__WH1ut3OkOocLDQJpFMZt3w->data, (Stack__WH1ut3OkOocLDQJpFMZt3w ? Stack__WH1ut3OkOocLDQJpFMZt3w->Sup.len : 0), ((NI) 1));
// initTopContextWith(args)
unsureAsgnRef((void**) (&(*T22_)), args);
But when I directly include this one line of code in the calling proc, this is what I'm getting:
// shallowCopy(Stack[^1],args)
X5BX5Deq___sGWc2llByIT4Ipi0sFgxegsystem(Stack__WH1ut3OkOocLDQJpFMZt3w->data, (Stack__WH1ut3OkOocLDQJpFMZt3w ? Stack__WH1ut3OkOocLDQJpFMZt3w->Sup.len : 0), ((NI) 1), args);
What is even move weird is that - in the second case - whatever this change in the code means, it slows down my program by an average 20%.
Could you please shed... some light into the matter?