aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Be friendly to gcc 3.4... good compiler. Nice compiler.Chris Lattner2003-11-053-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9726 91177308-0d34-0410-b5e6-96231b3b80d8
* Abort when the user program calls abort, instead of printing a funny message ↵Brian Gaeke2003-11-051-4/+2
| | | | | | and calling exit(1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9716 91177308-0d34-0410-b5e6-96231b3b80d8
* Use regular old malloc to emulate malloc/alloca instructions.Brian Gaeke2003-11-051-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9713 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a comment which no longer applies.Brian Gaeke2003-11-051-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9712 91177308-0d34-0410-b5e6-96231b3b80d8
* In VM::create(), comment out almost the whole function if NO_JITS_ENABLED,Brian Gaeke2003-10-291-3/+4
| | | | | | | because the Arch variable will likely be undefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9576 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak the buildChris Lattner2003-10-251-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9502 91177308-0d34-0410-b5e6-96231b3b80d8
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-18/+4
| | | | | | | | | | | CurFrame, TraceMode, and the CachedWriter are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. printValue() and print() are history. executeInstruction() is now part of run(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9493 91177308-0d34-0410-b5e6-96231b3b80d8
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-13/+7
| | | | | | | CurFrame, TraceMode, and the CachedWriter are history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9492 91177308-0d34-0410-b5e6-96231b3b80d8
* The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history.Brian Gaeke2003-10-241-71/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9490 91177308-0d34-0410-b5e6-96231b3b80d8
* Reduce the number of #includes.Brian Gaeke2003-10-241-186/+22
| | | | | | | | | | | | | | CurFrame, TraceMode, and the CachedWriter are history. ArrayChecksEnabled and non-QuietMode are history. The ExecutionAnnotations (SlotNumber, InstNumber, and FunctionInfo) are history. ExecutionContext now keeps Values for each stack frame in a std::map. Stop pre-initializing Values on the stack to 42. Remove some dead variables, excess whitespace and commented-out code. executeInstruction() is now part of run(). printValue() and print() are history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9489 91177308-0d34-0410-b5e6-96231b3b80d8
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9488 91177308-0d34-0410-b5e6-96231b3b80d8
* Destroy MachineFunction for any Function that we are about toBrian Gaeke2003-10-241-0/+2
| | | | | | | | recompile and relink. This keeps it from failing an assertion when it goes and tries to construct a new MachineFunction for that Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9459 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header.John Criswell2003-10-214-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9321 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright notice to Makefiles.John Criswell2003-10-203-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9312 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-208-0/+56
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Hrm, a relic from the past. How cute :)Chris Lattner2003-10-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9283 91177308-0d34-0410-b5e6-96231b3b80d8
* Interpret the new varargs intrinsics correctlyChris Lattner2003-10-183-28/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9222 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't release the Module, as that invalidates the Module* within theMisha Brukman2003-10-171-2/+2
| | | | | | | | ModuleProvider, which has bad consequences in lli::callAsMain() which tries to access that same Module*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9205 91177308-0d34-0410-b5e6-96231b3b80d8
* Tidy up doxygen comment for getPointerToFunction().Brian Gaeke2003-10-172-0/+20
| | | | | | | Add prototypes for recompileAndRelinkFunction() and runJITOnFunction(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9200 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor running the JIT passes on a single function into the new method,Brian Gaeke2003-10-171-7/+35
| | | | | | | | | | runJITOnFunction(). Add new method for recompiling and patching in new versions of functions, recompileAndRelinkFunction(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9199 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment, and zap a blank line.Brian Gaeke2003-10-161-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9184 91177308-0d34-0410-b5e6-96231b3b80d8
* JIT.cpp:Misha Brukman2003-10-162-5/+7
| | | | | | | | | | | | | * #include "llvm/ModuleProvider" * alphabetize #includes * omit extraneous parens in pointer expressions VM.cpp: * #include "llvm/ModuleProvider" * alphabetize #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9182 91177308-0d34-0410-b5e6-96231b3b80d8
* * Reorder includes as per the style guideMisha Brukman2003-10-161-6/+22
| | | | | | | | | * Move the constructors from .h file here * Document ExecutionEngine::create() * Catch exception possibly thrown by ModuleProvider::releaseModule() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9181 91177308-0d34-0410-b5e6-96231b3b80d8
* Order #includes as per the style guide.Misha Brukman2003-10-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9128 91177308-0d34-0410-b5e6-96231b3b80d8
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-144-9/+17
| | | | | | | * The VM is now constructed with a ModuleProvider git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9125 91177308-0d34-0410-b5e6-96231b3b80d8
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-141-4/+5
| | | | | | | * ExecutionEngine and VM can be constructed using a ModuleProvider. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9124 91177308-0d34-0410-b5e6-96231b3b80d8
* Make mmap's fd for anonymous memory acquisition default to -1, except onBrian Gaeke2003-10-111-2/+7
| | | | | | | | Linux. This is consistent with what FreeBSD and Solaris both want. This makes the JIT work on FreeBSD 5.1-RELEASE. Whee. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9045 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't include Config/stdio.h or <stdio.h>.Brian Gaeke2003-10-102-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9031 91177308-0d34-0410-b5e6-96231b3b80d8
* * Tabs to spacesMisha Brukman2003-10-101-8/+16
| | | | | | | | * Doxygenified function comments * Added FIXMEs to solicit documentation for other functions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9022 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling.Misha Brukman2003-10-102-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9021 91177308-0d34-0410-b5e6-96231b3b80d8
* Never set any signal handlers.Brian Gaeke2003-10-101-37/+2
| | | | | | | Never call setjmp(), longjmp() or strsignal(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9014 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite head-of-file comment.Brian Gaeke2003-10-101-14/+16
| | | | | | | | | | In lookupFunction(): Change to use "F" for Function argument instead of ancient "M". Remove commented-out code. Change to use GetAddressOfSymbol instead of dlsym. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9013 91177308-0d34-0410-b5e6-96231b3b80d8
* Change to use GetAddressOfSymbol instead of dlsym.Brian Gaeke2003-10-102-18/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9012 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not read past the end of the contained type listChris Lattner2003-10-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8986 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually _PASS IN_ NO_RESERVE if we have it.Chris Lattner2003-10-061-1/+1
| | | | | | | Thanks to Brian for fixing this obvious oops git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8899 91177308-0d34-0410-b5e6-96231b3b80d8
* Squelch warningChris Lattner2003-09-221-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8659 91177308-0d34-0410-b5e6-96231b3b80d8
* Change FunctionInfo from being an annotation put on Functions to beChris Lattner2003-09-173-22/+9
| | | | | | | something which is mapped from functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8580 91177308-0d34-0410-b5e6-96231b3b80d8
* * Move include files from middle of file to the top where they belong, movingMisha Brukman2003-09-101-7/+5
| | | | | | | | | the #define up there too * Since we're including system headers, use the ones in include/llvm/Config * While we're here, use the canonical LLVM header ordering algorithm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8463 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warning when _POSIX_MAPPED_FILES is already defined in unistd.hMisha Brukman2003-09-101-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8436 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a bunch of unneeded stuphChris Lattner2003-09-081-45/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8400 91177308-0d34-0410-b5e6-96231b3b80d8
* Reorder #includes to follow LLVM conventionsChris Lattner2003-09-052-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8375 91177308-0d34-0410-b5e6-96231b3b80d8
* ExecutionEngine.h, GenericValue.h --> include/llvm/ExecutionEngine/Brian Gaeke2003-09-056-10/+10
| | | | | | | Build ExecutionEngine as library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8370 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getOperandValue and executeCastOperation methods of Interpreter.Brian Gaeke2003-09-052-3/+6
| | | | | | | This lets us protect a few more ExecutionEngine methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8367 91177308-0d34-0410-b5e6-96231b3b80d8
* Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke2003-09-058-193/+88
| | | | | | | | | | | | | | | | Switch Interpreter and JIT's "run" methods to take a Function and a vector of GenericValues. Move (almost all of) the stuff that constructs a canonical call to main() into lli (new methods "callAsMain", "makeStringVector"). Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(), isStopped(), and many dead decls from interpreter. Add linux strdup() support to interpreter. Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look more alike, in preparation for refactoring. atexit() is spelled "atexit", not "at_exit". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove printOperandInfo(), and simplify run().Brian Gaeke2003-09-051-30/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8362 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for printing values from a module by name, only usedBrian Gaeke2003-09-053-109/+0
| | | | | | | | w/ interactive keyboard entry of names. With that, Support.cpp is history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8360 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for interactive (step finish next) instructions.Brian Gaeke2003-09-054-186/+44
| | | | | | | | | | Remove printCurrentInstruction, printStackFrame and infoValue (only used interactively) and other unused methods of Interpreter. Fold UserInput.cpp containing only callMainFunction() into Interpreter.cpp. Remove unused Profile flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8359 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove support for breakpoints (not used).Brian Gaeke2003-09-043-47/+8
| | | | | | | Remove some dead code and whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8346 91177308-0d34-0410-b5e6-96231b3b80d8
* Move EE dtor where it belongsBrian Gaeke2003-09-041-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8345 91177308-0d34-0410-b5e6-96231b3b80d8
* Interpreter cleanups:Brian Gaeke2003-09-045-320/+33
| | | | | | | | | | | | | Get rid of support for DebugMode (make it always off). Mung some comments. Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff which have been disabled forever. Get rid of -abort-on-exception (make it always on). Get rid of user interaction stuff (debug mode innards). Simplify Interpreter's callMainFunction(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8344 91177308-0d34-0410-b5e6-96231b3b80d8