Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Drop toy GC runtime. | Gordon Henriksen | 2009-03-02 | 3 | -151/+0 |
| | | | | llvm-svn: 65801 | ||||
* | Fixing the stack walker. | Gordon Henriksen | 2008-01-24 | 1 | -4/+7 |
| | | | | llvm-svn: 46302 | ||||
* | With this patch, the LowerGC transformation becomes the | Gordon Henriksen | 2008-01-07 | 1 | -15/+17 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ShadowStackCollector, which additionally has reduced overhead with no sacrifice in portability. Considering a function @fun with 8 loop-local roots, ShadowStackCollector introduces the following overhead (x86): ; shadowstack prologue movl L_llvm_gc_root_chain$non_lazy_ptr, %eax movl (%eax), %ecx movl $___gc_fun, 20(%esp) movl $0, 24(%esp) movl $0, 28(%esp) movl $0, 32(%esp) movl $0, 36(%esp) movl $0, 40(%esp) movl $0, 44(%esp) movl $0, 48(%esp) movl $0, 52(%esp) movl %ecx, 16(%esp) leal 16(%esp), %ecx movl %ecx, (%eax) ; shadowstack loop overhead (none) ; shadowstack epilogue movl 48(%esp), %edx movl %edx, (%ecx) ; shadowstack metadata .align 3 ___gc_fun: # __gc_fun .long 8 .space 4 In comparison to LowerGC: ; lowergc prologue movl L_llvm_gc_root_chain$non_lazy_ptr, %eax movl (%eax), %ecx movl %ecx, 48(%esp) movl $8, 52(%esp) movl $0, 60(%esp) movl $0, 56(%esp) movl $0, 68(%esp) movl $0, 64(%esp) movl $0, 76(%esp) movl $0, 72(%esp) movl $0, 84(%esp) movl $0, 80(%esp) movl $0, 92(%esp) movl $0, 88(%esp) movl $0, 100(%esp) movl $0, 96(%esp) movl $0, 108(%esp) movl $0, 104(%esp) movl $0, 116(%esp) movl $0, 112(%esp) ; lowergc loop overhead leal 44(%esp), %eax movl %eax, 56(%esp) leal 40(%esp), %eax movl %eax, 64(%esp) leal 36(%esp), %eax movl %eax, 72(%esp) leal 32(%esp), %eax movl %eax, 80(%esp) leal 28(%esp), %eax movl %eax, 88(%esp) leal 24(%esp), %eax movl %eax, 96(%esp) leal 20(%esp), %eax movl %eax, 104(%esp) leal 16(%esp), %eax movl %eax, 112(%esp) ; lowergc epilogue movl 48(%esp), %edx movl %edx, (%ecx) ; lowergc metadata (none) llvm-svn: 45670 | ||||
* | remove attribution from a variety of miscellaneous files. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45425 | ||||
* | remove attributions from the rest of the llvm makefiles. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45416 | ||||
* | GarbageCollection.html is expanded to encompass the coming | Gordon Henriksen | 2007-09-27 | 1 | -0/+5 |
| | | | | | | | capabilities. This is a major rewrite and is easier to read en toto rather than patchwise. llvm-svn: 42414 | ||||
* | Undo removal of the runtime libraries. While this may have been a bit | Reid Spencer | 2006-11-17 | 2 | -0/+141 |
| | | | | | | | premature, these libraries will be going away for the 2.0 release. Other arrangements for profiling, gc, etc. should be made in the next few months. llvm-svn: 31807 | ||||
* | In LLVM 2.0 we won't use the runtime libraries as llvm-gcc3 support will | Reid Spencer | 2006-11-16 | 2 | -141/+0 |
| | | | | | | be dropped. This patch pertains to removing the runtime directory from LLVM. llvm-svn: 31793 | ||||
* | Use archive libraries instead of object files for VMCore, BCReader, | Reid Spencer | 2006-06-01 | 1 | -0/+2 |
| | | | | | | | BCWriter, and bzip2 libraries. Adjust the various makefiles to accommodate these changes. This was done to speed up link times. llvm-svn: 28610 | ||||
* | This never got updated to reflect the project makefile changes | Chris Lattner | 2005-10-18 | 1 | -1/+1 |
| | | | | llvm-svn: 23789 | ||||
* | For PR432: | Reid Spencer | 2004-12-22 | 1 | -1/+1 |
| | | | | | | * Variable name change: cferuntime_libdir -> CFERuntimeLibDir llvm-svn: 19096 | ||||
* | Use the new BYTECODE_DESTINATION to override the default bytecode install | Reid Spencer | 2004-12-13 | 1 | -1/+1 |
| | | | | | | | | | destination for this library so that it goes to $(cferuntime_libdir) rather than just $(libdir). Normal bytecode libraries should be installed in the $(libdir), but these ones are "special" because they're part of the the C/C++ front end. llvm-svn: 18882 | ||||
* | Standardize the makefiles with space around = to match the rest of LLVM. | Reid Spencer | 2004-12-02 | 1 | -2/+2 |
| | | | | llvm-svn: 18429 | ||||
* | We're not doing automake any more | Reid Spencer | 2004-10-22 | 1 | -658/+0 |
| | | | | llvm-svn: 17168 | ||||
* | Adjust to changes in Makefile.rules | Reid Spencer | 2004-10-22 | 1 | -3/+1 |
| | | | | llvm-svn: 17167 | ||||
* | We won't use automake | Reid Spencer | 2004-10-22 | 1 | -17/+0 |
| | | | | llvm-svn: 17155 | ||||
* | Initial automake generated Makefile template | Reid Spencer | 2004-10-18 | 1 | -0/+658 |
| | | | | llvm-svn: 17136 | ||||
* | Initial Makefile.am for building with automake | Reid Spencer | 2004-10-17 | 1 | -0/+17 |
| | | | | llvm-svn: 17073 | ||||
* | Update GC intrinsics to take a pointer to the object as well as a pointer | Chris Lattner | 2004-07-22 | 1 | -2/+2 |
| | | | | | | to the field being updated. Patch contributed by Tobias Nurmiranta llvm-svn: 15097 | ||||
* | Fix warning on 64-bit machines | Brian Gaeke | 2004-07-16 | 1 | -1/+1 |
| | | | | llvm-svn: 14902 | ||||
* | Continue the implementation | Chris Lattner | 2004-05-27 | 1 | -37/+61 |
| | | | | llvm-svn: 13818 | ||||
* | Eliminate warnings | Alkis Evlogimenos | 2004-05-23 | 1 | -1/+1 |
| | | | | llvm-svn: 13704 | ||||
* | Check in an EARLY START on a simple copying collector | Chris Lattner | 2004-05-23 | 2 | -0/+117 |
llvm-svn: 13698 |