Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
removed %ifnull in favor if %ifeq with nil
This simplifies the compiler a bit but makes it generate slightly worse code, like this: @@ -4605,10 +4626,13 @@ jnz argument_count_wrong # discarding useless value in %eax pop %eax - # %ifnull + # %ifeq push %eax movl 4(%ebp), %eax - cmpl $2 + 256<<2, %eax + push %eax + movl $2 + 256<<2, %eax + cmpl %eax, (%esp) + pop %eax pop %eax jnz _reverse_plus_4 push %eax I could imagine peephole optimizations that replace the pushconst, cmp, pop sequence with a single cmpconst, and that would benefit ordinary eq? tests too. It doesn't seem to make much of a performance difference. darcs-hash:20080224021843-c0035-38a715dd5d73b6e2a3dac2ae0dde3278c0c74dde
- Loading branch information