Slava Pestov
713c7467dc
vm: don't need to save/restore FPU state when doing GC anymore, since we don't call nano_count() unless GC events are being recorded. If you want to record GC events with FP traps on, you're out of luck
2010-09-04 16:16:22 -05:00
Slava Pestov
09c74bda0b
vm: don't call nano_count() from the GC at all, unless GC event recording is on
2010-09-04 13:21:45 -07:00
Slava Pestov
3834436740
vm: increase default code heap size
2010-09-04 12:05:23 -07:00
Slava Pestov
0797875ef5
vm: fix crash when doing GC with profiling enabled
2010-09-03 21:54:40 -05:00
Slava Pestov
087b451dc1
Change how SIGPIPE is ignored, and add a unit test to io.launcher.unix to ensure that this ignoredness is not inherited by child processes
2010-09-02 22:11:45 -07:00
Slava Pestov
55ac874eb2
vm: Remove signal_callstack_top nonsense
2010-09-02 22:57:17 -05:00
Slava Pestov
6617eca683
Fix three problems discovered by running math.floats.env tests in a loop:
...
- Crash if allocating error triggers a GC from a signal/SEH handler
- Crash if GC runs with floating point traps enabled on Windows
- Floating point traps didn't prettyprint properly
2010-09-02 22:57:14 -05:00
Slava Pestov
d65d073144
vm: C I/O streams became unusable after a single EOF (reported by John Benediktsson)
2010-08-22 20:56:29 -07:00
Slava Pestov
f3dfae04ba
compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths
2010-08-13 23:59:19 -07:00
Slava Pestov
88102c3ed5
vm: hard tabs, indent width 8
2010-08-02 20:50:34 -04:00
Slava Pestov
05ba77262a
Fix start-context-and-delete sub-primitive (reported by Sascha Matzke)
2010-08-02 20:28:23 -04:00
Joe Groff
92fd0bd8e3
vm/os-windows.cpp: fix compiler warnings/errors
2010-08-01 17:50:35 -07:00
Joe Groff
56702b868c
vm: remove some mixed use of stdio/iostream. when monotonic timer decreases, log old and new values
2010-08-01 16:14:20 -07:00
Slava Pestov
22100915a2
vm: fix compile error on Linux if inotify is not available (reported by Alec Barryman)
2010-07-31 18:33:53 -04:00
Slava Pestov
7323720441
vm: clean up main-windows-nt.cpp
2010-07-27 13:03:11 -04:00
Slava Pestov
7dad77b147
vm: fix alien-signed-1/2/4 primitives
2010-07-19 16:03:27 -04:00
Slava Pestov
0abdfbfc1b
compiler.cfg: open-code parameter boxing and unboxing for certain C types
2010-07-19 10:25:13 -04:00
Slava Pestov
333b9a34cc
compiler.cfg: nuke ##allot-byte-array instruction
2010-07-16 19:57:45 -04:00
Slava Pestov
bbcffab3fa
compiler.cfg: ##unbox-long-long can have multiple outputs now, clean up long long parameter passing code using this
2010-07-15 19:49:29 -04:00
Slava Pestov
69d0a3ce9b
Remove Cocoa exception handling support since it no longer works
2010-07-06 17:48:37 -04:00
Joe Groff
25595b7ddd
vm/safeseh.asm: make exception_handler proto declaration explicitly "proto c" so linking works properly with VS 2010 (reported by Doug Coleman)
2010-06-24 13:19:02 -07:00
Doug Coleman
78a67420a3
Merge branch 'master' of github.com:erg/factor
2010-06-17 11:12:25 -05:00
Slava Pestov
a8e2017020
vm: fix another compile warning on 32-bit Windows
2010-06-17 01:04:03 -05:00
Slava Pestov
59db2efac8
vm: fix compile warnings on Windows and add /WX to Nmakefile to report warnings as errors so that mason can catch these in the future
2010-06-17 01:48:39 -04:00
Doug Coleman
97c3450427
Remove system_micros from vm, implement gmt hook on windows
2010-06-16 23:39:16 -05:00
Doug Coleman
9d235bb6c7
Use nano_count instead of system_micros
2010-06-16 23:20:00 -05:00
Slava Pestov
c81610f7f3
vm: improved fingering technique
2010-06-16 19:08:58 -04:00
Slava Pestov
fb4de47abf
Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction
2010-06-14 19:39:46 -04:00
Slava Pestov
5e39764ccd
vm: have to be extra careful when messing with return addresses
2010-06-13 18:12:57 -04:00
Slava Pestov
d91524b98d
vm: context switching needs to scrub the return address
2010-06-12 19:54:31 -04:00
Slava Pestov
7e2d888767
vm: fix RT_HERE fixup on image load
2010-06-11 21:54:47 -04:00
Slava Pestov
9d0dbdebab
vm: fix typo
2010-06-11 20:08:52 -04:00
Slava Pestov
a08295d9b7
GC maps for more compact inline GC checks
2010-06-11 20:06:00 -04:00
Slava Pestov
bcf7a5e15e
Use ##local-allot to simplify longlong unboxing
2010-05-19 01:07:22 -04:00
Slava Pestov
35bd2bca06
FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing
2010-05-16 03:43:23 -04:00
Slava Pestov
fc166bce0a
vm: fix longlong accessors
2010-05-11 23:24:48 -04:00
Slava Pestov
b40cd01828
vm: fix compile error
2010-05-11 19:29:50 -04:00
Slava Pestov
5054bb4b25
FFI rewrite part 4: parameter and return value unboxing redesign
2010-05-11 19:11:44 -04:00
Slava Pestov
5d7287b71d
compiler: simplify ##unbox-small/large-struct by emitting an ##unbox-any-c-ptr first
2010-05-10 01:38:34 -04:00
Joe Groff
a4b913c790
silence more msvc warnings
2010-05-05 22:32:45 -07:00
Joe Groff
6c881acbbd
quiet some data conversions warnings raised by msvc
2010-05-05 22:22:13 -07:00
Slava Pestov
7e8add87fe
More FFI cleanups
2010-05-05 01:13:45 -04:00
Slava Pestov
46864a2c92
vm: tweak inline_gc() for PowerPC
2010-05-04 06:52:30 -04:00
Slava Pestov
7f0469efef
compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed
2010-05-03 17:34:35 -04:00
Slava Pestov
90b945eaa0
compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32
2010-05-03 17:34:28 -04:00
Slava Pestov
be95003594
cpu.x86: use available type info to generate more efficient %box-displaced-alien where possible
2010-05-03 17:34:27 -04:00
Slava Pestov
03bd160f08
Code cleanups
2010-05-03 17:34:17 -04:00
Slava Pestov
fc7a1ad8b3
New GC checks work in progress
2010-05-03 17:34:16 -04:00
Slava Pestov
fd84bb98bc
strings: move string-nth primitive out of the VM and into the library
2010-05-03 17:34:12 -04:00
Doug Coleman
c78628fbe9
Add callstack-bounds primitive to vm/ for use with javascriptcore library
2010-04-19 20:08:15 -05:00