Jim Grosbach
932a32d251
Update the stub and callback code to handle lazy compilation. The stub
...
is re-written by the callback to branch directly to the compiled code
in future invocations.
Added back in range-based memory permission functions for the updating of
the stub on Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57846 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-20 21:39:23 +00:00
Jim Grosbach
cce6c297c5
On Darwin ARM, memory needs special handling to do JIT. This patch expands
...
this handling to work properly for modifying stub functions, relocations
back to entry points after JIT compilation, etc..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57013 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-03 16:17:20 +00:00
Daniel Dunbar
bb14672097
Add llvm::sys::{osName,osVersion} for retrieving operating system name
...
& version as strings.
- Win32 code is untested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56942 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 01:17:28 +00:00
Evan Cheng
bc4707a255
Preliminary support for systems which require changing JIT memory regions privilege from read / write to read / executable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56303 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18 07:54:21 +00:00
Chris Lattner
0eab5e2efa
add a helper method to sys::Path for clang, patch by
...
Kovarththanan Rajaratnam!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54655 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-11 23:39:47 +00:00
Chris Lattner
93bb4aa0ce
Add a new InvalidateInstructionCache method to sys::Memory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52731 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-25 17:14:10 +00:00
Chris Lattner
58a4c5e8e3
Add support for building on solaris, working around namespace
...
polution problems from system headers. Patch by Nathan Keynes!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52682 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-24 17:44:42 +00:00
Matthijs Kooijman
069f42a058
Add comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-16 12:20:05 +00:00
Dan Gohman
1baa88e3de
Prune and tidy #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51697 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 19:52:31 +00:00
Bill Wendling
40db5d4539
Follow-up to the reverting of r51218. This puts the checks out-of-line. Because
...
they aren't in the header file, systems with a <string> header file that isn't
64-bit clean shouldn't warn if #including Path.h and specifying
-Wshorten-64-to-32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51393 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-21 21:20:07 +00:00
Bill Wendling
55384a853c
Reverting r51218 because of breakage on PPC32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 23:54:27 +00:00
Chris Lattner
68d2d2f823
add missing #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51227 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-18 14:24:58 +00:00
Bill Wendling
fbaa37937f
On Darwin, the string header file isn't 64-bit clean. The use of
...
"-Wshorten-64-to-32 -Werror" will cause a failure when compiling this complex
program:
#include <string>
class Path {
mutable std::string path;
public:
bool operator == (const Path &that) {
return path == that.path;
}
};
Using strcmp gets us past this annoying error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51218 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-17 09:10:40 +00:00
Nick Lewycky
fff116fd58
Make constructors target-specific. This fixes problems where the path would
...
include backslashes on Windows. This should fix llvm-ld problems on win32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50960 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-11 17:37:40 +00:00
Dan Gohman
84b7df43fb
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06 01:32:53 +00:00
Evan Cheng
34cd4a484e
Fix more -Wshorten-64-to-32 warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05 18:30:58 +00:00
Bill Wendling
a5261923b4
Add "empty()" method to sys::Path and remove unnecessary whitespace.
...
Patch by Mikhail Glushenkov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49803 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-16 18:27:02 +00:00
Ted Kremenek
9b01cc0ede
Make getDirnameSep a static method (not part of Path's interface).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49354 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 22:01:32 +00:00
Ted Kremenek
cf55c8e221
Added method Path::getDirname().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49352 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-07 21:53:57 +00:00
Chris Lattner
98b7e612b2
MappedFile is dead, remove it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49035 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 06:20:44 +00:00
Chris Lattner
799ed1053b
Stub out some sys::Path::MapInFilePages/UnMapFilePages methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49030 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 06:00:12 +00:00
Chris Lattner
23ffec8258
Make MappedFile::map return a const correct pointer, don't leak address space on Unix platforms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49026 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 03:49:38 +00:00
Chris Lattner
37db5d67f9
Remove the MappedFile::charBase member, rename base -> getBase() and
...
make getBase() return a const-correct pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49025 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 03:40:53 +00:00
Chris Lattner
cc56e64a59
add an accessor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49023 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 03:20:31 +00:00
Chris Lattner
bdbd2d710c
Remove MappedFile support for mapping files for write and exec
...
and shared. This complicates the design, is not used, and probably
doesn't even work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49022 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 03:10:22 +00:00
Chris Lattner
540630f637
cleanup the MappedFile API and comments. This removes and updates
...
tons of out of date comments (really nothing throws here!) and fixes
some other fairly glaring issues: "size" used to return the size of
the file *and* change it, depending on how you called it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49009 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 00:53:25 +00:00
Chris Lattner
328c84aa99
remove DEFINING_FILE_FOR for MappedFile.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49008 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-01 00:35:55 +00:00
Owen Anderson
19cfd733e2
Revert r48676. I had plans for using it, but now it's just dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 21:29:58 +00:00
Owen Anderson
191dfcf5c8
Add a comment, and fix a bug where AllocateRW recurred to AllocateRWX instead of itself.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48677 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-22 02:59:54 +00:00
Owen Anderson
a4bf5c046d
Add an AllocateRW to match AllocateRWX.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48676 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-22 02:33:53 +00:00
Dan Gohman
fbee880cfb
Specialize FORCE_DEFINING_FILE_TO_BE_LINKED using a GCC trick
...
to avoid using constructor calls for static objects. This reduces
the number of objects requiring static constructors in a typical
LLVM build by around 20%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48665 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-21 23:38:23 +00:00
Chris Lattner
9453295a29
Restore this member, which is used on win32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48372 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14 21:17:54 +00:00
Devang Patel
a13341737d
Remove unused GetAddressOfSymbol()
...
Thanks Daniel Dunbar!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48340 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13 16:55:34 +00:00
Chris Lattner
1a091447f4
Stub out a Path::GetMainExecutable call to find the path to the
...
main executable of a program. This needs to be implemented on windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47835 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-03 02:55:43 +00:00
Chris Lattner
e1b332a304
Add path separator support, patch by Sam Bishop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 06:17:10 +00:00
Anton Korobeynikov
e18bc08fbc
Add convenient helper to get suffix of the file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 19:41:22 +00:00
Chris Lattner
7ed47a1335
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change. Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 19:59:42 +00:00
Ted Kremenek
79200788df
Added "GetCurrentDirectory()" to sys::Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45182 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 22:07:33 +00:00
Ted Kremenek
fd52711675
Added "isDirectory" method to llvm::sys::Path.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45168 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 19:46:22 +00:00
Chris Lattner
ef361a638a
remove obviously dead uses of IncludeFile.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-18 19:15:48 +00:00
Duncan Sands
67f1c493d1
Remove host endianness info from TargetData and
...
put it in a new header System/Host.h instead.
Instead of getting the endianness from configure,
calculate it directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44959 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-12 23:03:45 +00:00
Reid Spencer
181b6c9cb5
Fix minor doxygen nits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40854 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-05 20:06:04 +00:00
Gabor Greif
e75ca3d809
eliminate residual cruft related to recognizing bytecode
...
files.
bitcode files are the only LLVM format left.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37945 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 13:38:17 +00:00
Gabor Greif
a99be51bf5
Here is the bulk of the sanitizing.
...
Almost all occurrences of "bytecode" in the sources have been eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
Chris Lattner
609083b9e0
add support for identifying bitcode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36845 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 05:30:10 +00:00
Chris Lattner
18a4c74136
remove extraneous type qualifiers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36679 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:14:56 +00:00
Chris Lattner
7cf67dfb6a
remove extraneous top-level semi's
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36678 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-03 18:13:15 +00:00
Chris Lattner
ee181bc899
Jeff's fix was fine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36563 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 17:44:10 +00:00
Chris Lattner
9728905481
add missing ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36562 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 17:40:50 +00:00
Jeff Cohen
930c0fead9
Fix MemoryBuffer breakage correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 14:43:31 +00:00