Commit Graph

318 Commits

Author SHA1 Message Date
Jay McCarthy
7d1a739df5 Adding comments and specs to parser.
Clarifying comments in marshaller. Supporting small numbers, small symbols, small marshalleds, small (proper) lists, small svectors, all-from-module long form

Improving inequality detector in tester: regexps and uninterned symbols

Correcting doc contract

svn: r18194
2010-02-19 19:47:15 +00:00
Ryan Culpepper
f4321256a5 compiler/zo-parse: fixed to work on Mac/PPC
zo writer seems to always write integers in little-endian order

svn: r18141
2010-02-17 23:36:58 +00:00
Jay McCarthy
2ffa8cb34f Forgot to add a file
svn: r18131
2010-02-17 21:38:06 +00:00
Jay McCarthy
a8d00cc3b3 Added new primitive: symbol-unreadable?
Updated Scheme implementation of zo parsing and marshaling
- Separated the structs into a different file and added contracts
- Implemented stxobj marshalling
- Fixed many small bugs in parser and marshaller
- Added new structs for new parser cases

Done by Blake Johnson (BYU)
Committed by Jay

svn: r18130
2010-02-17 21:33:00 +00:00
Matthew Flatt
746b85fa6b fix cm problem related to new race-condition avoidance
svn: r18127
2010-02-17 21:10:05 +00:00
Jay McCarthy
8e0addc8c7 Adding more race condition protection to the compiler for DrDr and parallel setup-plt
svn: r18103
2010-02-16 20:17:15 +00:00
Eli Barzilay
c88a5a6856 A bunch of additional typos
svn: r17976
2010-02-05 03:21:52 +00:00
Matthew Flatt
3812f8ca72 improve inling to support ((let (....) (lambda ....)) arg ...) patterns; allow nested 'let's for local flonum binding (which fixes a problem where unsafe flonum operations could end up much slower than safe ones)
svn: r17972
2010-02-05 00:16:06 +00:00
Matthew Flatt
ea87c95d95 adjust futures impl to use mzrt; fix MrEd build to work with futures
svn: r17879
2010-01-29 00:15:43 +00:00
Matthew Flatt
f7f6b972fd fix problem with flmin/flmax and cgc
svn: r17532
2010-01-07 16:33:26 +00:00
Matthew Flatt
41261c6047 fill out fl and fx operations; repair fixnum-overflow bug in quotient
svn: r17524
2010-01-07 03:30:33 +00:00
Matthew Flatt
3902824d88 adjust inlining algorithm again; better JIT compilation of nested branches; better JIT handling of literal floating-point numbers
svn: r17484
2010-01-05 15:13:03 +00:00
Matthew Flatt
38d7e8fea2 built-in fixnum ops; bug fix related to misuse of flonum ops; questionable attempt to improve inlining algorithm
svn: r17461
2010-01-02 16:33:28 +00:00
Eli Barzilay
d51cae1708 2009 -> 2010
svn: r17383
2009-12-22 05:52:15 +00:00
Matthew Flatt
0a1e4e6e83 fix an allocation in bytecode compiler; add flvector equality
svn: r17353
2009-12-18 21:53:02 +00:00
Matthew Flatt
fdd7122994 scheme/flonum (v4.2.3.8)
svn: r17348
2009-12-18 15:40:00 +00:00
Matthew Flatt
cab948d61f fix up validator, decompiler, and zo-marshaler for flonum-argument annotations
svn: r17341
2009-12-17 20:17:48 +00:00
Matthew Flatt
bc47db42e4 unboxed known-flonum loop accumulators
svn: r17338
2009-12-17 15:58:29 +00:00
Matthew Flatt
45e84ca087 unboxing of let-bound flonums (v4.2.3.6)
svn: r17328
2009-12-16 13:30:40 +00:00
Matthew Flatt
cd961f4a6b decompiler fix to indicate that unsafe-flvector-ref can be unboxed
svn: r17289
2009-12-13 20:13:20 +00:00
Matthew Flatt
5772fa0a9f bytecode-compiler changes to help enable flonum unboxing
svn: r17283
2009-12-13 04:39:46 +00:00
Matthew Flatt
61dd4ca0b9 add unsafe-f64vector-{ref,set!} and improve JIT to inline arithmetic ops with more than 2 arguments
svn: r17068
2009-11-26 15:07:16 +00:00
Matthew Flatt
78578a3eab convert START_XFORM_SKIP...END_XFORM_SKIP mostly to XFORM_SKIP_PROC
svn: r16972
2009-11-22 23:30:21 +00:00
Matthew Flatt
178d0f8e34 fix problems with the embedded command-line length (merge to 4.2.3)
svn: r16962
2009-11-22 15:31:18 +00:00
Matthew Flatt
79817a2087 slimy pthread_getspecifc()-inlining trick to practically eliminate the overhead of futures support under OS X
svn: r16952
2009-11-22 02:34:40 +00:00
Matthew Flatt
24a2a6ae8c another thread-local repair
svn: r16865
2009-11-18 15:23:00 +00:00
Matthew Flatt
5d79713481 C thread-local variables when the C compiler don't support thread-local variables
svn: r16860
2009-11-18 14:52:51 +00:00
Matthew Flatt
7529e8d4a9 update decompiler for changed type number
svn: r16227
2009-10-02 23:39:29 +00:00
Matthew Flatt
f6cdeb3433 fix parsing of planet paths in executables (merge to 4.2.2)
svn: r16057
2009-09-17 22:25:36 +00:00
Matthew Flatt
30c0dcf045 dynamic-require and 0 mode; repair to unsafe-fl ops; x86_64 for Mac OS X
svn: r15985
2009-09-11 23:05:50 +00:00
Robby Findler
83728f04fe automatic compilation in drscheme now avoids the installed planet files
svn: r15928
2009-09-09 02:35:09 +00:00
Matthew Flatt
8958f1893a make build work on Mac OS 10.6
svn: r15927
2009-09-09 01:06:30 +00:00
Matthew Flatt
3ebbd56865 fix cm problem tracking reader dependencies; add 'reader' reader language
svn: r15907
2009-09-08 00:07:11 +00:00
Matthew Flatt
8ae0ea9d14 unsafe ops (v4.2.1.8)
svn: r15899
2009-09-06 18:24:46 +00:00
Robby Findler
4c9dcdc36d moved some of the module language compiler setup code into the compiler/cm library so others can use it outside of DrScheme
svn: r15730
2009-08-13 21:09:15 +00:00
Matthew Flatt
f37c71c6ee setup-plt -D skips compilation of .scrbl files
svn: r15727
2009-08-13 16:24:33 +00:00
Robby Findler
2da5e8c633 skip files that don't exist and let the original compilation handler take care of them
svn: r15658
2009-08-01 17:54:43 +00:00
Robby Findler
1fc47a2a1f added logging for when CM compiles a file
svn: r15640
2009-07-30 15:51:16 +00:00
Matthew Flatt
53a011cf65 adjust planet client to handle nested planet invocations by re-building the doc index only once
svn: r15246
2009-06-23 22:02:07 +00:00
Matthew Flatt
cc32f3eea2 fix problems with get-info use by setup-plt
svn: r15242
2009-06-23 13:26:07 +00:00
Matthew Flatt
fc115693f4 change zo-compiler cm trace-output to stick to a port, which avoids confusing output when installing nested Planet packages
svn: r15194
2009-06-17 05:58:26 +00:00
Matthew Flatt
70859f0d0b identifier-prune-lexical-context (4.2.0.2)
svn: r14850
2009-05-17 12:31:51 +00:00
Eli Barzilay
5cb9e66cd2 fixed a probable bug in invoking format-time
svn: r14707
2009-05-04 06:37:27 +00:00
Eli Barzilay
ff73a5395e removed lots of "the the"s
svn: r14679
2009-05-01 21:02:51 +00:00
Matthew Flatt
b42f1b5d8b zo-marshal patch from Jay
svn: r14642
2009-04-28 16:37:16 +00:00
Matthew Flatt
39d405fe6e zo-marshal supports module forms
svn: r14637
2009-04-28 13:13:22 +00:00
Matthew Flatt
2439b4cb75 fix zo-parse problem with graphs in literal data
svn: r14596
2009-04-24 17:34:49 +00:00
Matthew Flatt
6df0ac6f51 fix accidental commit of debugging printf
svn: r14595
2009-04-24 15:49:24 +00:00
Matthew Flatt
cd09b30497 (v4.1.5.5) repair interaction of provides redirected by a rename-transformer, certification of access to unexported variables, and protected exports; also get rid of kernel-reprovide special case in export handling, because a more general export-sharing technique subsumed the special case long ago
svn: r14593
2009-04-24 14:59:09 +00:00
Eli Barzilay
c0a8a01222 Changed @itemize{...} to @itemize[...] (done after comparing the doc
tree and verifying that there are no changes).
(Also fixed a few bugs that were in the code)

svn: r14427
2009-04-05 17:46:20 +00:00
Matthew Flatt
6e80847b18 auto add main include dir in compiler/xform (PR 10155)
svn: r14253
2009-03-24 18:38:42 +00:00
Matthew Flatt
3b49038947 better eof handling in zo-parse
svn: r14252
2009-03-24 18:38:18 +00:00
Matthew Flatt
282a404ada all expression forms tested for zo-marshal
svn: r13998
2009-03-06 23:27:10 +00:00
Matthew Flatt
946a39221a some zo-marshal repairs
svn: r13984
2009-03-06 17:37:28 +00:00
Matthew Flatt
f1e646c8f9 zo-marshal bug fixes and start at test suite
svn: r13979
2009-03-06 15:22:33 +00:00
Matthew Flatt
1ecc6abaa0 remove bad write-bytecode file
svn: r13977
2009-03-06 02:24:00 +00:00
Matthew Flatt
5a8bd8b724 partially working compiler/zo-marshal
svn: r13976
2009-03-06 02:23:19 +00:00
Matthew Flatt
25e7978999 rename write-bytecode to zo-marshal
svn: r13974
2009-03-06 00:48:08 +00:00
Matthew Flatt
a1f0873143 initial version of write-bytecode
svn: r13973
2009-03-06 00:45:13 +00:00
Matthew Flatt
df99b2e1c4 remove obsolete text
svn: r13051
2009-01-09 21:01:09 +00:00
Eli Barzilay
8a2753efb8 2008 -> 2009
svn: r13001
2009-01-04 15:34:50 +00:00
Matthew Flatt
7aec6b8761 document compiler/zo-parse and compiler/decompile
svn: r12947
2008-12-28 18:57:13 +00:00
Matthew Flatt
064776348a fix ready-toplevel optimization
svn: r12905
2008-12-19 17:16:39 +00:00
Matthew Flatt
cf8b75939b trim some fat from module-variable references
svn: r12833
2008-12-13 17:38:14 +00:00
Matthew Flatt
3e7e63aecf write embedding sexecutables without setting current output port
svn: r12780
2008-12-11 20:14:53 +00:00
Matthew Flatt
149d3a24cb handle symbol module path as extra path
svn: r12757
2008-12-09 21:57:50 +00:00
Matthew Flatt
d8c28545ea fix decompiler for recent .zo change
svn: r12722
2008-12-07 19:07:47 +00:00
Matthew Flatt
1a4b3abba7 decompiler repairs
svn: r12537
2008-11-20 13:47:06 +00:00
Matthew Flatt
14f57a3f37 xform: keep system-header flag in line info
svn: r12435
2008-11-14 01:22:58 +00:00
Matthew Flatt
59f3f19f84 make the optimizer slightly smarter, so that it can see through more patterns of nested let and letrec procedure bindings
svn: r12434
2008-11-14 00:48:54 +00:00
Matthew Flatt
bac4053c37 improved JIT inlining of 'list'
svn: r12428
2008-11-13 16:42:15 +00:00
Matthew Flatt
422b1d1e09 make keep-lines? argument optional
svn: r12426
2008-11-13 16:03:26 +00:00
Matthew Flatt
54269c8bbd fix xform to not generate srcloc info in the middle of a macro call
svn: r12424
2008-11-13 13:26:25 +00:00
Matthew Flatt
ba7ad5d2e6 add support to xform to output source line numbers
svn: r12419
2008-11-13 00:26:04 +00:00
Robby Findler
256182ecbd adjusted the automatic compilation to make it more disableable
svn: r12397
2008-11-11 23:56:54 +00:00
Matthew Flatt
c4f994658c fix mzc --include-compiled (PR 9900)
svn: r12384
2008-11-11 15:36:33 +00:00
Robby Findler
1490cd1c4d added support for automatic compilation of source files to drscheme
svn: r12356
2008-11-08 18:34:39 +00:00
Matthew Flatt
c1a10edaff fix compile-zos for modules
svn: r12347
2008-11-07 23:21:02 +00:00
Matthew Flatt
f076494c48 change mzc verbosity
svn: r12333
2008-11-06 18:54:12 +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
Matthew Flatt
b8f6e1a91a handle attaches of embedded modules
svn: r12225
2008-11-03 14:37:55 +00:00
Matthew Flatt
487df2362e fix more bugs with lib paths in exe creation
svn: r12175
2008-10-30 10:55:07 +00:00
Matthew Flatt
ea659ba286 split scribble/manual module into smaller modules
svn: r12150
2008-10-28 01:40:51 +00:00
Matthew Flatt
00d2aabaf0 jit tweaks
svn: r12144
2008-10-27 19:00:13 +00:00
Matthew Flatt
e2d4bc0d2b finish decompiler on syntax objects
svn: r12077
2008-10-21 00:10:47 +00:00
Matthew Flatt
7a55275a26 unit bug fixes related to new scoping of signature elements; change scribble/manual to compute ids typeset as variables at compile time, in preparation for moving from a parameter to syntax bindings; fix docs typos; extend decompiler's support for unmarshaling syntax objects
svn: r12046
2008-10-15 22:23:56 +00:00
Matthew Flatt
89f2315374 fix bug in exe creation where 'lib runtime-paths could be mis-parsed as mzlib paths
svn: r11966
2008-10-07 16:00:36 +00:00
Matthew Flatt
a529b45e7c add __isnan and __isinf (PR 9802)
svn: r11911
2008-09-30 12:08:09 +00:00
Matthew Flatt
dd7db9ff7b add read-language, module-compiled-language-info, and module->language-info
svn: r11827
2008-09-21 16:00:42 +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
Matthew Flatt
6b22d93383 partly fix handling of planet paths in stand-alone executables
svn: r11388
2008-08-22 15:11:12 +00:00
Eli Barzilay
ebcee44f7f some improvements
svn: r11362
2008-08-21 07:01:55 +00:00
Matthew Flatt
de4352d8fc avoid depending on the message text for a cm-accomplice event
svn: r11355
2008-08-20 13:37:57 +00:00
Matthew Flatt
6516518ae5 fix cm-accomplice and avoid redundant reader-module dependencies
svn: r11354
2008-08-20 13:29:42 +00:00
Eli Barzilay
f0e342414b the result type of main-collects-relative->path is now a path
svn: r11337
2008-08-19 17:12:56 +00:00
Matthew Flatt
bf17f5a134 fix cm to work with relative-path dependencies
svn: r11331
2008-08-19 15:58:43 +00:00
Matthew Flatt
9720e0151e fix cm
svn: r11330
2008-08-19 15:32:47 +00:00
Matthew Flatt
ebab4270bf fix letrec compilation when call/cc is used on the RHS of something that otherwise looks like it could be let*; add #%in annotations to decompiler output
svn: r11329
2008-08-19 15:18:09 +00:00
Eli Barzilay
850af38cfe * Added `setup/private/omitted-paths' as a central point for getting
omitted paths -- including entries from parent directories
* This code automatically includes "compiled", ".*" and "doc" (unless
  in the main tree), which nicely unifies the pieces of code that
  duplicated this check (compiler/compiler-unit and setup/setup-unit).

svn: r11324
2008-08-19 10:28:22 +00:00
Matthew Flatt
76cf25fc12 document 'mzc --decompile'
svn: r11317
2008-08-19 00:50:52 +00:00