bsnes-libretro/nall
Tim Allen 50420e3dd2 Update to v098r19 release.
byuu says:

Changelog:
- added nall/bit-field.hpp
- updated all CPU cores (sans LR35902 due to some complexities) to use
  BitFields instead of bools
- updated as many CPU cores as I could to use BitFields instead of union {
  struct { uint8_t ... }; }; pairs

The speed changes are mostly a wash for this. In some instances,
I noticed a ~2-3% speedup (eg SNES emulation), and in others a 2-3%
slowdown (eg Famicom emulation.) It's within the margin of error, so
it's safe to say it has no impact.

This does give us a lot of new useful things, however:

- no more manual reconstruction of flag values from lots of left shifts
  and ORs
- no more manual deconstruction of flag values from lots of ANDs
- ability to get completely free aliases to flag groups (eg GSU can
  provide alt2, alt1 and also alt (which is alt2,alt1 combined)
- removes the need for the nasty order_lsbN macro hack (eventually will
  make higan 100% endian independent)
- saves us from insane compilers that try and do nasty things with
  alignment on union-structs
- saves us from insane compilers that try to store bit-field bits in
  reverse order
- will allow some really novel new use cases (I'm planning an
  instant-decode ARM opcode function, for instance.)
- reduces code size (we can serialize flag registers in one line instead
  of one for each flag)

However, I probably won't use it for super critical code that's constantly
reading out register values (eg PPU MMIO registers.) I think there we
would end up with a performance penalty.
2016-06-09 08:26:35 +10:00
..
beat Update to v098r10 release. 2016-05-16 19:51:12 +10:00
database Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
decode Update to v097r14 release. 2016-02-16 20:11:58 +11:00
dsp Update to v098r15 release. 2016-06-05 14:52:43 +10:00
emulation Update to v098r10 release. 2016-05-16 19:51:12 +10:00
encode Update to v098r10 release. 2016-05-16 19:51:12 +10:00
hash Update to v098r10 release. 2016-05-16 19:51:12 +10:00
http Update to v098r10 release. 2016-05-16 19:51:12 +10:00
image Update to v098r10 release. 2016-05-16 19:51:12 +10:00
memory Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
mosaic Update to v098r10 release. 2016-05-16 19:51:12 +10:00
posix Update to v098r10 release. 2016-05-16 19:51:12 +10:00
stream Update to v098r10 release. 2016-05-16 19:51:12 +10:00
string Update to v098r10 release. 2016-05-16 19:51:12 +10:00
vector Update to v098r10 release. 2016-05-16 19:51:12 +10:00
windows Update to v098r11 release. 2016-05-25 21:13:02 +10:00
xorg Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
algorithm.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
any.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
atoi.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
bit-field.hpp Update to v098r19 release. 2016-06-09 08:26:35 +10:00
bit-vector.hpp Update to v098r19 release. 2016-06-09 08:26:35 +10:00
bit.hpp Update to v098r18 release. 2016-06-07 21:55:03 +10:00
config.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
directory.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
dl.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
endian.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
file.hpp Update to v097r17 release. 2016-03-13 11:22:14 +11:00
filemap.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
function.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
GNUmakefile Update to v097r02 release. 2016-01-25 22:27:18 +11:00
hashset.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
hid.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
image.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
inode.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
interpolation.hpp Update to v098r14 release. 2016-06-01 21:23:22 +10:00
intrinsics.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
main.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
map.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
matrix.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
maybe.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
memory.hpp Update to v098r08 release. 2016-05-02 19:57:04 +10:00
mosaic.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
nall.hpp Update to v098r19 release. 2016-06-09 08:26:35 +10:00
path.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
platform.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
primitives.hpp Update to v098r19 release. 2016-06-09 08:26:35 +10:00
property.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
queue.hpp Update to v098r13 release. 2016-06-01 08:29:36 +10:00
random.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
range.hpp Update to v098r08 release. 2016-05-02 19:57:04 +10:00
run.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
serial.hpp Update to v098r08 release. 2016-05-02 19:57:04 +10:00
serializer.hpp Update to v097r14 release. 2016-02-16 20:11:58 +11:00
service.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
set.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
shared-memory.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
shared-pointer.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
smtp.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
sort.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
stdint.hpp Update to 20160215 release. 2016-02-16 20:27:55 +11:00
stream.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
string.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00
thread.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
traits.hpp Update to 20160106 OS X Preview for Developers release. 2016-01-07 19:17:15 +11:00
unique-pointer.hpp Update to v097r02 release. 2016-01-25 22:27:18 +11:00
utility.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
varint.hpp Update to v098r11 release. 2016-05-25 21:13:02 +10:00
vector.hpp Update to v098r10 release. 2016-05-16 19:51:12 +10:00