mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
Remove explicit support for tracing code. It should be linked into the
executable just like everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2674 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0fe380c683
commit
1ee34a5a5b
@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
#include "Interpreter.h"
|
#include "Interpreter.h"
|
||||||
#include "llvm/DerivedTypes.h"
|
#include "llvm/DerivedTypes.h"
|
||||||
#include "../test/Libraries/libinstr/tracelib.h"
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
@ -205,6 +204,15 @@ GenericValue lle_X_exit(FunctionType *M, const vector<GenericValue> &Args) {
|
|||||||
return GenericValue();
|
return GenericValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// void "abort"(void)
|
||||||
|
GenericValue lle_X_abort(FunctionType *M, const vector<GenericValue> &Args) {
|
||||||
|
std::cerr << "***PROGRAM ABORTED***!\n";
|
||||||
|
GenericValue GV;
|
||||||
|
GV.IntVal = 1;
|
||||||
|
TheInterpreter->exitCalled(GV);
|
||||||
|
return GenericValue();
|
||||||
|
}
|
||||||
|
|
||||||
// void *malloc(uint)
|
// void *malloc(uint)
|
||||||
GenericValue lle_X_malloc(FunctionType *M, const vector<GenericValue> &Args) {
|
GenericValue lle_X_malloc(FunctionType *M, const vector<GenericValue> &Args) {
|
||||||
assert(Args.size() == 1 && "Malloc expects one argument!");
|
assert(Args.size() == 1 && "Malloc expects one argument!");
|
||||||
@ -459,43 +467,6 @@ GenericValue lle_X_fflush(FunctionType *M, const vector<GenericValue> &Args) {
|
|||||||
return GV;
|
return GV;
|
||||||
}
|
}
|
||||||
|
|
||||||
// unsigned int HashPointerToSeqNum(char* ptr)
|
|
||||||
GenericValue lle_X_HashPointerToSeqNum(FunctionType *M, const vector<GenericValue> &Args) {
|
|
||||||
assert(Args.size() == 1);
|
|
||||||
GenericValue GV;
|
|
||||||
|
|
||||||
GV.UIntVal = HashPointerToSeqNum((char*) Args[0].PointerVal);
|
|
||||||
return GV;
|
|
||||||
}
|
|
||||||
|
|
||||||
// void ReleasePointerSeqNum(char* ptr);
|
|
||||||
GenericValue lle_X_ReleasePointerSeqNum(FunctionType *M, const vector<GenericValue> &Args) {
|
|
||||||
assert(Args.size() == 1);
|
|
||||||
ReleasePointerSeqNum((char*) Args[0].PointerVal);
|
|
||||||
return GenericValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
// void RecordPointer(char* ptr);
|
|
||||||
GenericValue lle_X_RecordPointer(FunctionType *M, const vector<GenericValue> &Args) {
|
|
||||||
assert(Args.size() == 1);
|
|
||||||
RecordPointer((char*) Args[0].PointerVal);
|
|
||||||
return GenericValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
// void PushPointerSet();
|
|
||||||
GenericValue lle_X_PushPointerSet(FunctionType *M, const vector<GenericValue> &Args) {
|
|
||||||
assert(Args.size() == 0);
|
|
||||||
PushPointerSet();
|
|
||||||
return GenericValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
// void ReleaseRecordedPointers();
|
|
||||||
GenericValue lle_X_ReleasePointersPopSet(FunctionType *M, const vector<GenericValue> &Args) {
|
|
||||||
assert(Args.size() == 0);
|
|
||||||
ReleasePointersPopSet();
|
|
||||||
return GenericValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // End extern "C"
|
} // End extern "C"
|
||||||
|
|
||||||
|
|
||||||
@ -520,6 +491,7 @@ void Interpreter::initializeExternalMethods() {
|
|||||||
FuncNames["lle_VB_putchar"] = lle_VB_putchar;
|
FuncNames["lle_VB_putchar"] = lle_VB_putchar;
|
||||||
FuncNames["lle_V___main"] = lle_V___main;
|
FuncNames["lle_V___main"] = lle_V___main;
|
||||||
FuncNames["lle_X_exit"] = lle_X_exit;
|
FuncNames["lle_X_exit"] = lle_X_exit;
|
||||||
|
FuncNames["lle_X_abort"] = lle_X_abort;
|
||||||
FuncNames["lle_X_malloc"] = lle_X_malloc;
|
FuncNames["lle_X_malloc"] = lle_X_malloc;
|
||||||
FuncNames["lle_X_free"] = lle_X_free;
|
FuncNames["lle_X_free"] = lle_X_free;
|
||||||
FuncNames["lle_X_atoi"] = lle_X_atoi;
|
FuncNames["lle_X_atoi"] = lle_X_atoi;
|
||||||
@ -542,9 +514,4 @@ void Interpreter::initializeExternalMethods() {
|
|||||||
FuncNames["lle_X_fwrite"] = lle_X_fwrite;
|
FuncNames["lle_X_fwrite"] = lle_X_fwrite;
|
||||||
FuncNames["lle_X_fgets"] = lle_X_fgets;
|
FuncNames["lle_X_fgets"] = lle_X_fgets;
|
||||||
FuncNames["lle_X_fflush"] = lle_X_fflush;
|
FuncNames["lle_X_fflush"] = lle_X_fflush;
|
||||||
FuncNames["lle_X_HashPointerToSeqNum"] = lle_X_HashPointerToSeqNum;
|
|
||||||
FuncNames["lle_X_ReleasePointerSeqNum"] = lle_X_ReleasePointerSeqNum;
|
|
||||||
FuncNames["lle_X_RecordPointer"] = lle_X_RecordPointer;
|
|
||||||
FuncNames["lle_X_PushPointerSet"] = lle_X_PushPointerSet;
|
|
||||||
FuncNames["lle_X_ReleasePointersPopSet"] = lle_X_ReleasePointersPopSet;
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user