'Tis quite silly to check for a cached version of the entire executable. That

amounts to checking for a completely-native version. We'll cache on a
function-by-function basis instead (in the JIT's CodeEmitter).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9894 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2003-11-11 18:38:56 +00:00
parent ee8adb1955
commit aab9ca73fd

View File

@ -5,7 +5,6 @@
//
//===----------------------------------------------------------------------===//
#include "OSInterface.h"
#include "SysUtils.h"
#include "Config/errno.h"
#include "Config/stdlib.h"
@ -52,21 +51,6 @@ int execve(const char *filename, char *const argv[], char *const envp[])
close(file);
if (bytesRead != (ssize_t)headerSize) return EIO;
if (!memcmp(llvmHeader, header, headerSize)) {
/*
* Check if we have a cached translation on disk
*/
struct stat buf;
llvmStat(realFilename, &buf);
if (isExecutable(&buf)) {
size_t size;
void *fileAddr = llvmReadFile(realFilename, &size);
fprintf(stderr, "Found in cache: '%s'\n", realFilename);
if (fileAddr) {
free(fileAddr);
}
llvmExecve(realFilename, argv, envp);
}
/*
* This is a bytecode file, so execute the JIT with the program and
* parameters.