Update to v094r04 release.

byuu says:

Changelog:
- target-ethos/ is now target-higan/ (will unfortunately screw up diffs
  pretty badly at this point.)
- had a serious bug in nall::optional<T>::operator=, which is now fixed.
- added tracer (no masking just yet, I need to write a nall::bitvector
  class because I don't want to hard-code those anymore.)
- added usage logging (keep track of RWX/EP states for all bus
  addresses.)
- added read/write to poke at memory (hex also works for reading, but
  this one can poke at MMIO regs and is for one address only.)
- added both run.for (# of instructions) and run.to (program counter
  address.)
- added read/write/execute breakpoints with counters for a given
  address, and with an optional compare byte (for read/write modes.)

About the only major things left now for loki is support for trace
masking, memory export, and VRAM/OAM/CGRAM access.
For phoenix/Console, I really need to add a history to up+down arrows,
and I should support left/right insert-at.
This commit is contained in:
Tim Allen
2014-02-03 08:02:18 +11:00
parent 187ba0eec6
commit 10e2a6d497
101 changed files with 623 additions and 77 deletions

View File

@@ -38,18 +38,18 @@ endif
ifeq ($(compiler),)
ifeq ($(platform),windows)
compiler := g++
flags :=
flags := -fwrapv
link :=
else ifeq ($(platform),macosx)
compiler := clang++
flags := -w -stdlib=libc++
flags := -fwrapv -w -stdlib=libc++
link := -lc++ -lobjc
else ifeq ($(platform),bsd)
compiler := clang++
flags := -w -I/usr/local/include
flags := -fwrapv -w -I/usr/local/include
else
compiler := g++
flags :=
flags := -fwrapv
link :=
endif

View File

@@ -73,13 +73,13 @@ namespace Math {
//================
#if defined(__clang__) || defined(__GNUC__)
#define noinline __attribute__((noinline))
#define neverinline __attribute__((noinline))
#define alwaysinline inline __attribute__((always_inline))
#elif defined(_MSC_VER)
#define noinline __declspec(noinline)
#define neverinline __declspec(noinline)
#define alwaysinline inline __forceinline
#else
#define noinline
#define neverinline
#define alwaysinline inline
#endif

View File

@@ -102,8 +102,7 @@ template<typename TT> struct optional {
optional& operator=(const optional& source) {
reset();
valid = source.valid;
if(valid) operator=(source);
if(source) operator=(source());
return *this;
}