Commit [4b7208] Maximize Restore History

Speed up manipulation of special variables on threaded x86-64.

This replaces branching instructions with conditional moves.
Additionally, tests for unbound/no-tls-value markers use :dword
operands, which should be invisible to user code. Putting random data
in the high 32 bits of those markers expecting them to be immediate
objects distinct from markers is just wrong.

Gabriel's STAK test runs at least 5% faster.

Note: %compare-and-swap-symbol-value isn't materially changed,
it just looks like it because of the new macros. It could get the
same treatment as the SET vop possibly.

Douglas Katzman Douglas Katzman 2014-04-04

changed src/compiler/generic/objdef.lisp
changed src/compiler/x86-64/cell.lisp
src/compiler/generic/objdef.lisp Diff Switch to side-by-side view
Loading...
src/compiler/x86-64/cell.lisp Diff Switch to side-by-side view
Loading...