Mercurial > hg > index.cgi
comparison lwasm/pass1.c @ 343:98f3e016cfd8
Add pragma to turn off forward reference optimization
Much source code doesn't benefit much, if at all, from forward reference
optimization. Add "pragma forwardrefmax" to turn off such optimization in
the event that it is not required and long assembly times result.
author | William Astle <lost@l-w.ca> |
---|---|
date | Mon, 16 Mar 2015 09:27:20 -0600 |
parents | 30b2bad9b5eb |
children | c6d2a1f54e0c |
comparison
equal
deleted
inserted
replaced
342:12e2453f8417 | 343:98f3e016cfd8 |
---|---|
340 { | 340 { |
341 cl -> len = -1; | 341 cl -> len = -1; |
342 // call parse function | 342 // call parse function |
343 debug_message(as, 100, "len = %d, dlen = %d", cl -> len, cl -> dlen); | 343 debug_message(as, 100, "len = %d, dlen = %d", cl -> len, cl -> dlen); |
344 (instab[opnum].parse)(as, cl, &p1); | 344 (instab[opnum].parse)(as, cl, &p1); |
345 // if we're forcing address modes on pass 1, force a resolution | |
346 if (CURPRAGMA(cl, PRAGMA_FORWARDREFMAX) && instab[opnum].resolve) | |
347 { | |
348 (instab[opnum].resolve)(as, cl, 1); | |
349 } | |
345 if ((cl -> inmod == 0) && cl -> len >= 0 && cl -> dlen >= 0) | 350 if ((cl -> inmod == 0) && cl -> len >= 0 && cl -> dlen >= 0) |
346 { | 351 { |
347 if (cl -> len == 0) | 352 if (cl -> len == 0) |
348 cl -> len = cl -> dlen; | 353 cl -> len = cl -> dlen; |
349 else | 354 else |