Commit Graph

21 Commits (cda0092fecd9bf4aef8bd0c5730e02af239274ee)

Author SHA1 Message Date
Joe Groff 799053661e vm: better organize atomics and sample counter 2011-11-02 13:23:15 -07:00
Joe Groff baebb317e4 whitespace 2011-11-02 13:23:13 -07:00
Joe Groff abaa051768 vm: fix build on windows 2011-11-02 13:23:12 -07:00
Joe Groff f5cdfaeb2a vm: count samples from foreign threads
On OS X it appears the mach exception thread and libdispatch queue threads occasionally get the SIGALRM from the itimer. Count those as foreign_thread_samples instead of letting the signal kill the process.
2011-11-02 13:23:10 -07:00
Joe Groff 80fb7788d9 vm: groundwork for sampling profiler
Set up the state necessary to collect samples. We still need to add GC support for walking the sample set, and the compiler needs to register GC roots before safepoints as well. We also need primitives to expose the data to Factor for reporting.
2011-11-02 13:23:06 -07:00
Erik Charlebois 64252dbdbc 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Slava Pestov a9ccfa8f05 strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04:00
Slava Pestov f5cc9ef66d vm: add VM_C_API declaration for factor_memcpy function 2010-01-07 01:40:20 -05:00
Slava Pestov b2ba465bcd Merge optimizations from master branch 2009-10-31 03:02:19 -05:00
Slava Pestov d33d7728a0 vm: fix compile error on non-Mac OS X platforms 2009-10-31 02:36:46 -05:00
Slava Pestov 793d0606f6 vm: various minor optimizations speeding up gc0 and dispatch1 benchmarks, as well as bootstrap
- make allot_object() inline, move slow case to allot_large_object()
- reduce number of conditional branches in megamorphic cache miss handler
- make unbox_array_size() inline, move slow case to unbox_array_size_slow()
- new memset_cell() function uses memset_pattern4/8() on Mac OS X
2009-10-31 02:30:48 -05:00
Slava Pestov 40351d40be vm: use iostreams instead of printf for debug messages, clean up a few things 2009-10-21 20:12:57 -05:00
Slava Pestov f846afd661 vm: remove safe_malloc now that everything uses constructors instead 2009-09-25 21:22:05 -05:00
Phil Dawes 784b8d16ae moved utility functions and fatal_error out of vm struct since doesn't need state 2009-09-16 08:20:10 +01:00
Phil Dawes 2f3cd4d23d removed some vm-> pointers 2009-09-16 08:17:26 +01:00
Phil Dawes 390712b00a removed some global functions from utilities.cpp 2009-09-16 08:16:29 +01:00
Philipp Brüschweiler 230061783a misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644 2009-08-10 21:33:07 +02:00
Slava Pestov 53db9d737a Change (void) to () 2009-05-05 11:33:35 -05:00
Slava Pestov 8872c40b1e The great type renaming 2009-05-04 04:50:24 -05:00
Slava Pestov edecac508e Use C++ namespaces 2009-05-04 01:46:13 -05:00
Slava Pestov b923d548cf Move vmpp to vm 2009-05-02 20:37:18 -05:00