Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.20
 
1.21
 
MAIN:ragge:20120818201800
 
code.c
_>355355  * Generate the builtin code for FFS.
 356356  */
 357357 NODE *
<>358 -builtin_ffs(NODE *f, NODE *a, TWORD t)
  358+builtin_ffs(const struct bitable *bt, NODE *a)
359359 {
 360360         NODE *p, *q, *r;
 361361 
<>362 -        nfree(f);
 363 -        p = tempnode(0, t, 0, 0);
  362+        p = tempnode(0, bt->rt, 0, 0);
364363         r = block(XARG, ccopy(p), NIL, INT, 0, 0);
 365364         r->n_name = "=&r";
 366365         q = block(XARG, a, NIL, INT, 0, 0);
 367366         q->n_name = "g";
 368367         q = block(CM, r, q, INT, 0, 0);
 369368         q = block(XASM, q, block(ICON, 0, 0, STRTY, 0, 0), INT, 0, 0);
 370369         q->n_name = "ffs $0,$32,%1,%0;bneq 1f;mnegl $1,%0;1:;incl %0";
<>371 -        p = block(COMOP, q, p, t, 0, 0);
  370+        p = block(COMOP, q, p, bt->rt, 0, 0);
372371         return p;
 373372 }
 374373 
 375374 NODE
<>376 -builtin_ffsl(NODE *f, NODE *a, TWORD t)
  375+builtin_ffsl(const struct bitable *bt, NODE *a)
377376 {      
<>378 -        return builtin_ffs(f, a, t);
  377+        return builtin_ffs(bt, a);
379378 }
 380379 
 381380 NODE
<>382 -builtin_ffsll(NODE *f, NODE *a, TWORD t)
  381+builtin_ffsll(const struct bitable *bt, NODE *a)
383382 {
 384383         cerror("builtin_ffsll unimplemented");
 385384         return NIL;
 386385 }
 387386 
 388387 NODE *
<>389 -vax_builtin_return_address(NODE *f, NODE *a, TWORD t)
  388+vax_builtin_return_address(const struct bitable *bt, NODE *a)
390389 {
<> 390+        NODE *f;
391391 
 392392         if (a == NULL || a->n_op != ICON)
 393393                 goto bad;
 394394 
 395395         if (a->n_lval != 0)
 396396                 werror("unsupported argument");
 397397 
<>398 -        tfree(f);
399398         tfree(a);
 400399 
 401400         f = block(REG, NIL, NIL, INCREF(PTR+CHAR), 0, 0);
     
 !
412411 }
 413412 
 414413 NODE *
<>415 -vax_builtin_frame_address(NODE *f, NODE *a, TWORD t)
  414+vax_builtin_frame_address(const struct bitable *bt, NODE *a)
416415 {
 417416         int nframes;
<> 417+        NODE *f;
418418 
 419419         if (a == NULL || a->n_op != ICON)
 420420                 goto bad;
 421421 
 422422         nframes = a->n_lval;
 423423 
<>424 -        tfree(f);
<_425424         tfree(a);
 426425 
 427426         f = block(REG, NIL, NIL, PTR+CHAR, 0, 0);
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-11-01 07:17 +0100