Commit Graph

426 Commits

Author SHA1 Message Date
Stevie Strickland
6d966c80af Syncing
svn: r12982
2009-01-03 03:09:06 +00:00
Matthew Flatt
b2d0a37f7b add propagated arguments to 'call-with-continuation-prompt'; streamline 'with-handlers' expansion; speed up slightly some JITted cross-module function calls
svn: r12979
2009-01-02 21:57:31 +00:00
Matthew Flatt
e92b588985 macro-expansion performance tweaks
svn: r12972
2009-01-02 16:50:32 +00:00
Robby Findler
fb821d9041 added argmin and argmax to scheme/list and to the teaching languages
svn: r12960
2009-01-01 00:03:31 +00:00
Matthew Flatt
8fac3dbc89 fix gui-available? to return #f for phases other than 0
svn: r12955
2008-12-30 21:20:55 +00:00
Matthew Flatt
1642a84e69 add equal?/recur; implement equal? for image-snip% via properties
svn: r12950
2008-12-29 22:36:53 +00:00
Matthew Flatt
0cd2537a82 add equal<%> ad interface*
svn: r12946
2008-12-28 15:05:02 +00:00
Stevie Strickland
d81776083f Sync
svn: r12899
2008-12-19 05:43:50 +00:00
Eli Barzilay
13e58dc786 * Fix call-with-custodian-shutdown and call-with-killing-threads
* Organize similarities into a utility `nested' function
* Make trusted configuration disable the evaluation handlers

svn: r12891
2008-12-18 20:25:03 +00:00
Eli Barzilay
11107f4e22 (Second part of the previous commit)
svn: r12886
2008-12-18 13:43:59 +00:00
Eli Barzilay
0c85f221be Added:
sandbox-eval-handlers
  set-eval-handler
  call-with-custodian-shutdown
  call-with-killing-threads
Added optional `unrestricted?' argument to `call-in-sandbox-context'

svn: r12885
2008-12-18 13:35:49 +00:00
Stevie Strickland
0b1829e250 Sync up
svn: r12877
2008-12-17 14:28:56 +00:00
Matthew Flatt
efd7446b09 current-exit-handler => exit-handler
svn: r12874
2008-12-17 00:04:20 +00:00
Eli Barzilay
f74dc2b8c7 Added `call-with-trusted-sandbox-configuration', and used in scribble
and in tests.

svn: r12871
2008-12-16 20:29:17 +00:00
Stevie Strickland
236370fd9f Syncing up this branch to get ready to clean it up for future possible
merging.

svn: r12870
2008-12-16 20:06:24 +00:00
Eli Barzilay
0cd1b5fea9 * reorganize termination code a bit better
* use it when the sandbox is being setup, so we catch an out of memory
  error at that time

svn: r12854
2008-12-15 17:13:44 +00:00
Matthew Flatt
45e4684e4f memory accounting: blame the parent instead of the child
svn: r12853
2008-12-15 17:09:33 +00:00
Eli Barzilay
ab115fb6e4 default global limit is 30mb
svn: r12852
2008-12-15 16:26:25 +00:00
Eli Barzilay
b882de2409 allow any number for memory limits
svn: r12851
2008-12-15 16:22:41 +00:00
Eli Barzilay
a2ef8a5aae allow 'exists access to addon directory
svn: r12847
2008-12-15 02:24:32 +00:00
Eli Barzilay
c62595772f Finally enabled using a sub code-inspector properly, with a new
'read-bytecode permission mode.  Added tests and (crappily)
documented.

svn: r12846
2008-12-15 01:07:00 +00:00
Eli Barzilay
340b193571 minor improvements
svn: r12842
2008-12-14 05:17:32 +00:00
Eli Barzilay
9295a1dc27 * Fix memory test
* Better organization of `user-eval'
* Deal with cases when the evaluator dies outside of our control

svn: r12841
2008-12-13 23:26:44 +00:00
Eli Barzilay
5ab0de415d formatting
svn: r12840
2008-12-13 22:45:35 +00:00
Eli Barzilay
39a69b30fd Don't set memory limits or test for them when there is no memory
accounting.

svn: r12839
2008-12-13 22:44:02 +00:00
Eli Barzilay
813eb20e35 termination message now indicates suicides too (both killing the
thread or shutting the custodian)

svn: r12838
2008-12-13 22:39:49 +00:00
Eli Barzilay
188489b34f * Added `exn:fail:sandbox-terminated' for all sandbox termination
kinds.
* The default exit handler kills the sandbox, with an appropriate
  termination message.
* Also, sending an eof to the sandbox shows 'eof as the reason
* Added some tests for these.
* Still need to deal with termination messages for evaluator suicide.

svn: r12837
2008-12-13 22:12:16 +00:00
Eli Barzilay
bd01cda595 typo in the last commit
svn: r12832
2008-12-13 17:18:40 +00:00
Eli Barzilay
46e16fc206 * The sandbox now uses a new code-inspector to avoid using protected
bindings
* Added `sandbox-make-code-inspector' to control this
* Changed the function form of `sandbox-security-guard' to be a thunk,
  to make it uniform with other sandbox settings.

svn: r12831
2008-12-13 17:17:12 +00:00
Eli Barzilay
55f1df58e1 Make sure that the module is also instantiated under the evaluation
limits too (the instantiation was happening outside of the limited
thunk)

svn: r12830
2008-12-13 16:41:07 +00:00
Eli Barzilay
e2221c800b * sandbox-security-guard can now be a function that translates a given
security guard to a new one
* this is now used for the default to avoid grabbing the global
  security guard

svn: r12828
2008-12-13 14:11:28 +00:00
Eli Barzilay
ac5d6d66c1 make call-in-nested-thread avoid potential break problem
svn: r12792
2008-12-12 17:25:03 +00:00
Eli Barzilay
90492a0606 avoid timer-killing problem; cust-box might not be set
svn: r12791
2008-12-12 17:22:24 +00:00
Eli Barzilay
3fcc58c05e minor improvements
svn: r12789
2008-12-12 13:43:05 +00:00
Eli Barzilay
c76a23ed29 termination message indicates whether the sandbox died because of memory limit
svn: r12788
2008-12-12 13:32:20 +00:00
Eli Barzilay
a1222d66ca * Implementer global sandbox memory limit and added
`sandbox-memory-limit' to set it
* Added `evaluator-alive?'
* Undo accidental commenting of most tests

svn: r12786
2008-12-12 12:45:08 +00:00
Eli Barzilay
a0d1baea00 When an expression evaluation dies out of memory, the sandbox stays alive
svn: r12785
2008-12-12 11:22:08 +00:00
Eli Barzilay
c979ffa85a small fix, other minor things
svn: r12784
2008-12-12 10:29:28 +00:00
Eli Barzilay
f7c16fc8bb * fix last commit
* when make-module-evaluator gets a path, allow reading that path
  automatically (since that's where the source is)

svn: r12778
2008-12-11 18:34:58 +00:00
Eli Barzilay
baffbeeeb2 close the input after reading
svn: r12775
2008-12-11 18:00:43 +00:00
Stevie Strickland
dd5afccd82 Catch up to now.
svn: r12742
2008-12-08 17:02:26 +00:00
Matthew Flatt
89d0801d7a change quote-syntax to include a certificate for the enclosing module, enable certificate checking of phase-1 bindings, and fix some other problems with certificates
svn: r12714
2008-12-05 22:45:04 +00:00
Matthew Flatt
66a0c27703 avoid shared mutation of break state across with-handlers procs
svn: r12706
2008-12-04 23:04:33 +00:00
Stevie Strickland
5eab2260cc S-S-S-S-S-S-Syncing
svn: r12695
2008-12-04 16:15:18 +00:00
Eli Barzilay
10c9b39bfe removed unused variable
svn: r12675
2008-12-02 14:39:36 +00:00
Eli Barzilay
eb54b1a5b2 * Added `call-in-nested-thread*', and used it to improve
`call-with-limits'; specifically, it can now distinguish killing the
  main thread or shutting down the custodian from an out-of-memory
  error.
* This also makes it possible to have threads created and stay alive
  between evaluations.
* Added tests for this.

svn: r12673
2008-12-02 12:23:35 +00:00
Eli Barzilay
e0917e1a5e * Added `call-in-sandbox-context'.
* Removed `get-namespace' since it's generalized in the above.
* Deal with killing the current thread (or the current custodian) in
  the sandbox code.  (Works only without per-expression limits --
  still need to find a solution for `call-with-limits'.)
* Added tests for this.

svn: r12670
2008-12-02 05:26:45 +00:00
Eli Barzilay
fc920b18bb set-eval-limits requires two arguments
svn: r12669
2008-12-02 00:15:58 +00:00
Eli Barzilay
ab817097b4 * Create string/bytes output port in the user's custodian (at least
try to do so...).
* Add tests for output collection under resources -- some are
  commented since they're not working right, either a bug in this code
  that I don't see, or some problem with memory accounting.
* Clarify in the docs that output collection is still under resource
  limits.

svn: r12667
2008-12-01 22:19:58 +00:00
Eli Barzilay
12467b4ecd better organization for running resource limited code
svn: r12666
2008-12-01 21:28:28 +00:00
Eli Barzilay
0c2410739a cust -> user-cust
svn: r12665
2008-12-01 21:22:53 +00:00
Stevie Strickland
e94cadd86d Syncing -- nothing to see here.
svn: r12660
2008-12-01 15:11:00 +00:00
Matthew Flatt
6e9ccd3f43 better checking of case where a local name is used before it is defined (in an int-def context)
svn: r12659
2008-12-01 12:54:16 +00:00
Eli Barzilay
8905cc86e5 Added `sandbox-exit-handler' to control the exit handler
svn: r12654
2008-11-30 21:44:47 +00:00
Stevie Strickland
581800ad8c Splicing syntax parameterize, here I come!
svn: r12601
2008-11-26 22:42:32 +00:00
Matthew Flatt
2c48c2c817 splicing-syntax-parameterize and docs for scheme/splicing
svn: r12600
2008-11-26 21:31:58 +00:00
Stevie Strickland
6f83ed1a80 Sync that beautiful trunk footage
svn: r12593
2008-11-25 21:18:04 +00:00
Matthew Flatt
7a66101d30 remove broken define*-struct
svn: r12590
2008-11-25 18:14:57 +00:00
Matthew Flatt
ed536c002e scheme/package (and more int-def repairs)
svn: r12589
2008-11-25 17:58:21 +00:00
Matthew Flatt
b7addbab82 provide open*-package
svn: r12586
2008-11-25 03:13:06 +00:00
Matthew Flatt
5f3b7e5c6f another int-def binding simplification repair
svn: r12585
2008-11-25 03:08:08 +00:00
Matthew Flatt
a0f91d905e revised internal-definitions context and a basic 'define-package' form
svn: r12579
2008-11-24 19:52:41 +00:00
Stevie Strickland
702c1b7af2 Syncerating the countryside
Syncerating the peasants
Syncerating all the peoples
in the thatched-roof COTTAGES!
THATCHED-ROOF COTTAGES!

svn: r12578
2008-11-24 17:52:56 +00:00
Eli Barzilay
5b9f0aa322 Implemented a `no-empty-edge-matches' function using the new
`make-regexp-tweaker', which produces a regexp that cannot match an
empty string at the beginning or the end of the input.  This:
* simplies a whole bunch of messy and fragile code
* makes `regexp-split' and friends usable with a pattern like #px"\\b"
  (which previously would match in every position, making it explode
  the string to 1-character strings)
* makes it even closer to what perl does, the only way that we produce
  a different result from perl now is that we don't blindly drop empty
  matches at the end like perl (it *does* keep empty matches in the
  beginning though)
The two tests that demonstrated the difference are now changed, and a
bunch of other tests added.

svn: r12575
2008-11-23 05:40:54 +00:00
Eli Barzilay
ecb39eedee added make-regexp-tweaker (not used yet), and some code reorganization
svn: r12573
2008-11-23 00:17:39 +00:00
Stevie Strickland
537d98ac20 Mergerating.
svn: r12510
2008-11-19 20:34:37 +00:00
Sam Tobin-Hochstadt
4c0c3c0ff8 Fix dynamic context of use of match failure continuations.
svn: r12497
2008-11-18 21:17:36 +00:00
Sam Tobin-Hochstadt
d1fca9c04a Fix PR 9918.
svn: r12480
2008-11-17 23:58:05 +00:00
Stevie Strickland
3212d11712 Add all changes from branches/with-contract (which this branch will replace
eventually), plus a couple of fixes in contract-test.ss.

svn: r12451
2008-11-14 16:48:17 +00:00
Matthew Flatt
4dd202b960 ,
svn: r12430
2008-11-13 21:11:48 +00:00
Eli Barzilay
d9b4e619eb add quotes
svn: r12404
2008-11-12 05:37:52 +00:00
Eli Barzilay
b1aee15004 improve bad access error (PR9901)
svn: r12403
2008-11-12 05:36:52 +00:00
Matthew Flatt
4fe1da791c display-list[-to-file] to display-lines[-to-file]
svn: r12402
2008-11-12 03:25:24 +00:00
Matthew Flatt
02277342ac substitute Scheme-implemented map, for-each, andmap, and ormap in scheme/base and mzscheme, since the JIT generates faster code for the common 1- and 2-argument cases
svn: r12393
2008-11-11 22:25:24 +00:00
Matthew Flatt
a6d953b6f5 add port->string, file->string, etc.
svn: r12388
2008-11-11 17:55:14 +00:00
Matthew Flatt
ad75c8aa58 fix problems in lex-rename simplification; other tiny improvements and doc repairs
svn: r12380
2008-11-10 22:50:54 +00:00
Robby Findler
773aaca3ba made mutual recursion work for ->d
svn: r12366
2008-11-09 13:42:46 +00:00
Eli Barzilay
8009a73622 added get-namespace
svn: r12364
2008-11-09 07:35:49 +00:00
Eli Barzilay
f85ab5567c increment line counter only on real inputs (not evaluator messages)
svn: r12363
2008-11-09 07:25:36 +00:00
Robby Findler
2394848555 function contracts now preserve tail recursion
svn: r12360
2008-11-09 02:31:25 +00:00
Sam Tobin-Hochstadt
c4deb8e5e7 Fix handling of wrong size vectors.
Add tests.
Fixes PR9885.

svn: r12334
2008-11-06 20:23:40 +00:00
Matthew Flatt
fadf10cf10 fix problems with template expansion when a pattern variable is used at different depths under a common ellipsis
svn: r12327
2008-11-06 16:21:50 +00:00
Matthew Flatt
37aae202c5 speed up doc build a little; fix bugs related to getting continuation marks from a thread and using the errortrace profiler
svn: r12237
2008-11-04 23:32:44 +00:00
Matthew Flatt
95bedb17fb change contracts to reflect context via #%variable-reference instead of syntax objects; add id-less #%variable-reference form; drop link to unneeded CPort objects in delayed thunks; streamline some modules that tend to show up in deep phases
svn: r12231
2008-11-04 14:24:12 +00:00
Robby Findler
122f8d41dc PR 9852
svn: r12076
2008-10-20 20:08:05 +00:00
Robby Findler
eb7d9be3f0 fixed the contract? predicate so that it recognizes thigns that aren't yet turned into contract structs
svn: r12043
2008-10-15 12:54:37 +00:00
Robby Findler
2ef287f107 added empty as a coerceable value
svn: r12025
2008-10-13 21:09:18 +00:00
Matthew Flatt
ec68bafa9c add eqv hash tables; add hash-update
svn: r12018
2008-10-13 16:21:18 +00:00
Eli Barzilay
98975fc524 move the reader of make-module-evaluator inside the user context jail
svn: r11963
2008-10-07 14:20:18 +00:00
Eli Barzilay
bbceacae84 turn on read-accept-reader in the default-sandbox-reader
svn: r11962
2008-10-07 14:14:59 +00:00
Eli Barzilay
433819df52 Added a #:language argument to `make-module-evaluator' to enforce a
particular language module.

svn: r11954
2008-10-06 21:34:24 +00:00
Eli Barzilay
062152e711 fixed PR9806 and PR9807
svn: r11940
2008-10-05 04:42:48 +00:00
Matthew Flatt
086f3c3b44 fix int-def context binding problems, fix scheme/splicing, change rnrs/base-6 to use scheme/splicing
svn: r11917
2008-09-30 22:03:55 +00:00
Eli Barzilay
d892cb243e * Move the help functionality into the search collection, so it is not
packaged with the mzscheme distribution
* Make scheme/help throw a helpful message if the file is missing

svn: r11896
2008-09-28 20:43:13 +00:00
Eli Barzilay
4efab4f12f removed some unnecessary old autoloading, reformat some stuff
svn: r11886
2008-09-27 02:12:02 +00:00
Eli Barzilay
59b1eea0bc fixed help with #:search, made most of the help-related overhead loaded when help is used
svn: r11885
2008-09-27 02:07:59 +00:00
Eli Barzilay
fa86e9ee9f minor formatting
svn: r11877
2008-09-25 20:07:07 +00:00
Matthew Flatt
6f9b5ad586 correct error message for bad formal argument after keyword
svn: r11823
2008-09-20 11:24:53 +00:00
Robby Findler
d165c586af PR 9760
svn: r11766
2008-09-15 21:58:59 +00:00
Matthew Flatt
186bf67630 msvs9-friendly patches; preliminary splicing let-syntax library; export and doc GC_resolve and GC_fixup_self
svn: r11758
2008-09-15 19:08:50 +00:00