From a7911addf71fdfbf5008afd938b49116d462d908 Mon Sep 17 00:00:00 2001 From: Araq <rumpf_a@web.de> Date: Wed, 16 Jul 2014 00:41:03 +0200 Subject: parseBiggestFloat is now builtin --- compiler/vmgen.nim | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'compiler/vmgen.nim') diff --git a/compiler/vmgen.nim b/compiler/vmgen.nim index c1ec637dd..fd0c3fc69 100644 --- a/compiler/vmgen.nim +++ b/compiler/vmgen.nim @@ -852,6 +852,24 @@ proc genMagic(c: PCtx; n: PNode; dest: var TDest) = c.freeTemp(tmp1) c.freeTemp(tmp2) c.freeTemp(tmp3) + of mParseBiggestFloat: + if dest < 0: dest = c.getTemp(n.typ) + var d2: TRegister + # skip 'nkHiddenAddr': + let d2AsNode = n.sons[2].sons[0] + if needsAsgnPatch(d2AsNode): + d2 = c.getTemp(getSysType(tyFloat)) + else: + d2 = c.genx(d2AsNode) + var + tmp1 = c.genx(n.sons[1]) + tmp3 = c.genx(n.sons[3]) + c.gABC(n, opcParseFloat, dest, tmp1, d2) + c.gABC(n, opcParseFloat, tmp3) + c.freeTemp(tmp1) + c.freeTemp(tmp3) + c.genAsgnPatch(d2AsNode, d2) + c.freeTemp(d2) of mReset: unused(n, dest) var d = c.genx(n.sons[1]) -- cgit 1.4.1-2-gfad0