Commit Graph

453 Commits (3a9922d1610503cacd9ed7f89a122cf1ebb63fdb)

Author SHA1 Message Date
Slava Pestov 466533d509 Fix overly-eager strength reduction for mod, and add a type function for >integer (reported by Joe Groff) 2009-05-07 12:32:06 -05:00
Slava Pestov 581d017b46 Working on inline caching for tail call sites 2009-05-06 19:22:22 -05:00
Slava Pestov c93d876075 Better separation of concerns: cpu.{x86,ppc}.assembler no longer depends on compiler.codegen.fixup and cpu.architecture. Rename rt-xt-direct to rt-xt-pic to better explain its purpose 2009-05-06 16:14:53 -05:00
Slava Pestov a961e17ef1 Add new RC_ABSOLUTE_PPC_2 relocation type 2009-05-05 20:56:23 -05:00
Slava Pestov 58d0e17936 Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu 2009-05-05 18:37:40 -05:00
Slava Pestov 428f443c9c compiler.constants: update compiled-header-size 2009-05-05 15:06:05 -05:00
Slava Pestov 029d93a838 Make walker work better with call( and breakpoints which are nested inside combinators 2009-05-05 09:12:32 -05:00
Slava Pestov fb5b48c71a Fix some test failures 2009-05-04 09:44:26 -05:00
Slava Pestov a63ad6a7a5 Remove cruddy string encoding/decoding code from VM 2009-05-02 13:45:38 -05:00
Slava Pestov f2ec59d658 Fix infinite loop when compiling a word containing a tuple literal with circular structure in it. This was triggered by call( inline caching in core-foundation.fsevents on Mac OS X 2009-05-01 09:36:53 -05:00
Slava Pestov 21ac396128 Fix typo in redefine14 test 2009-05-01 08:29:04 -05:00
Slava Pestov 92781739c8 Some new compiler tests 2009-05-01 06:48:33 -05:00
Slava Pestov e9e095f240 Rename enable/disable-compiler to enable/disable-optimizer, and add with-optimizer and without-optimizer combinators 2009-05-01 05:52:05 -05:00
Slava Pestov a70a2c0e31 Fix some test failures and add an unportable tag 2009-04-30 22:56:15 -05:00
Slava Pestov e5cdb7ac2d call( fast-path now supports curry and compose 2009-04-30 21:08:29 -05:00
Slava Pestov a79e3eb687 Passing an invalid parameter to 'declare' doesn't break the compiler anymore 2009-04-30 20:40:47 -05:00
Slava Pestov 5fb5c19d61 Machine code is now stored in a byte array instead of an array for add_code_block() 2009-04-30 04:34:35 -05:00
Slava Pestov 515c619202 Non-optimizing compiler now open-codes megamorphic dispatch fast path 2009-04-30 03:37:07 -05:00
Slava Pestov 964fbd0a24 Fix test failures from ratio/complex built-in removal 2009-04-30 00:38:55 -05:00
Slava Pestov 663db67b23 compiler.tree.debugger: wasn't counting intrinsics properly when computing report 2009-04-30 00:27:51 -05:00
Slava Pestov fc4894fbdf Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags 2009-04-30 00:27:35 -05:00
Slava Pestov 3bbfc57de3 bootstrap.image: remove some duplication from emit-object callers 2009-04-29 23:35:02 -05:00
Slava Pestov bd186b6320 Eliminate 3 instructions from PIC fast path 2009-04-29 21:32:05 -05:00
Slava Pestov deaea55d85 compiler: don't wrap non-inference errors in compile errors, since they indicate compiler bugs; just rethrow them. Add unit test for a PIC regression 2009-04-29 19:39:04 -05:00
Slava Pestov 7f766ab355 Update compiler tests for tag number changes 2009-04-28 21:43:30 -05:00
Slava Pestov c15a4c1c5a Add new relocation type for call sites which may be replaced by ICs 2009-04-28 17:53:14 -05:00
Slava Pestov 5f6c074edd Split up types.c/h into smaller files, remove optimized slot from F_WORD struct 2009-04-28 17:26:11 -05:00
Slava Pestov 5ff2c2e2bf Don't compile predicate engines since there's no gain 2009-04-27 14:10:12 -05:00
Slava Pestov bf0e8606a8 Merge branch 'master' into inline_caching 2009-04-26 21:26:39 -05:00
Slava Pestov dac5203e81 compiler.tree.builder: Fix scoping of a variable by hints vocab 2009-04-26 16:04:44 -05:00
Slava Pestov f94a44f3fd Merge branch 'master' into inline_caching 2009-04-26 09:22:27 -05:00
Slava Pestov 7e84daf0f1 Move (execute) to kernel.private 2009-04-26 02:42:37 -05:00
Doug Coleman 28cacc8d61 fix some compiler tests 2009-04-26 02:23:33 -05:00
erg acd312ab19 fix IN: for compiler tests 2009-04-26 00:51:47 -05:00
Slava Pestov 8ea3db9eef Get rid of a 'rot' 2009-04-25 22:35:30 -05:00
Slava Pestov 7aa65b5b5f Fixing new method dispatch implementation 2009-04-25 19:41:27 -05:00
Slava Pestov d03b1eef01 Compile methods of generic words since the generic word itself doesn't get compiled 2009-04-24 20:54:30 -05:00
Slava Pestov 3dc9fdf9db Fleshed out new dispatch code 2009-04-24 20:43:01 -05:00
Slava Pestov 5649cc7a0a Compiler warnings are no more 2009-04-23 22:17:25 -05:00
Slava Pestov c2fe2a4fea Improve stack checker documentation 2009-04-23 03:48:32 -05:00
Slava Pestov 1dd3ed519f Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression 2009-04-22 21:03:53 -05:00
Doug Coleman 7f983f12d4 fix help lint failures, fix example in words 2009-04-22 12:26:28 -05:00
Slava Pestov dea3987ca5 Silly workaround for performance regression 2009-04-22 00:44:06 -05:00
Slava Pestov 057f75e9a1 Refactor compiler.tree.builder to fix various regressions 2009-04-21 23:02:00 -05:00
Slava Pestov 24a22e233c Clean up compiler vocab 2009-04-21 22:33:04 -05:00
Slava Pestov 469c9ee21d Debugging stack checking 2009-04-21 16:09:53 -05:00
Slava Pestov a9b4a724a4 Remove "compiled-status" word prop and simplify associated machinery 2009-04-21 03:23:11 -05:00
Slava Pestov f38d2f91f6 Words which didn't compile cannot be run at all 2009-04-20 22:05:41 -05:00
Slava Pestov 05f3f9dcb9 Fixing unit tests for stack effect inference changes 2009-04-20 21:15:19 -05:00
Slava Pestov 8414693142 stack-checker: trust word declarations instead of recursively checking them 2009-04-20 18:44:45 -05:00
Slava Pestov 5165d811d5 Changing the stack effect of a generic word could break the compiler 2009-04-20 04:21:00 -05:00
Slava Pestov ec49307c88 Never inline default methods, and fix inlining of methods with hints 2009-04-20 03:27:18 -05:00
Slava Pestov e811dd6192 Reverse compiler.errors => tools.errrs dependency to reduce deploy image size 2009-04-18 03:21:31 -05:00
Slava Pestov e9e15ffb27 Merge branch 'master' of git://factorcode.org/git/factor 2009-04-17 16:17:36 -05:00
Doug Coleman 332bde4173 use iota in a few places 2009-04-17 16:17:11 -05:00
Slava Pestov f80c89f128 Add fatal? flag to error types; non-fatal errors are hidden by default in error list, not shown in summary 2009-04-17 16:16:12 -05:00
Slava Pestov 99a120a146 Merge branch 'smarter_error_list' 2009-04-17 15:50:36 -05:00
Slava Pestov ce76331fd6 Fixing more unit tests 2009-04-17 15:50:03 -05:00
Doug Coleman 7a1841f59b (( -- )) eval -> eval( -- ) 2009-04-17 15:49:21 -05:00
Doug Coleman dba4c0d589 fixing compiler errors in basis 2009-04-17 12:46:04 -05:00
Slava Pestov 0a5b076c11 Make the walker infer 2009-04-16 23:14:11 -05:00
Slava Pestov a69d404f74 Start documenting compiler internals 2009-04-16 16:24:14 -05:00
Slava Pestov c0874e64cc Documentation updates 2009-04-15 18:19:35 -05:00
Slava Pestov 83b7ac3f3a Forgetting a definition removes compile error
Notify definition observers with nested compilation units
2009-04-15 00:27:02 -05:00
Slava Pestov 65b27354ad Merge branch 'master' into smarter_error_list 2009-04-14 15:07:22 -05:00
sheeple a4e62dfdba Fix for math.parser syntax change 2009-04-13 14:47:39 -05:00
Slava Pestov a2cff89591 Call notify-error-observers 2009-04-13 14:40:03 -05:00
Slava Pestov e52be965f0 Finish moving compiler.errors to basis 2009-04-13 02:50:23 -05:00
Slava Pestov d227fcd33f Move compiler.errors to basis 2009-04-13 02:18:41 -05:00
Slava Pestov c4be8bd65a Refactor error code so that error types are registered; listener prints a summary of errors 2009-04-12 16:08:46 -05:00
Slava Pestov deae1d7bbb Fix bootstrap 2009-04-10 04:41:26 -05:00
Slava Pestov 0a7485190b compile-error-type => source-error-type; make test failures global 2009-04-10 03:52:12 -05:00
Slava Pestov 37e278ed02 Use [ ] [ ] map-reduce instead of unclip [ ] reduce 2009-04-06 17:50:54 -05:00
Slava Pestov 268abfcf2a Remove method-specs in favor of M\ 2009-04-06 02:59:59 -05:00
Slava Pestov 932d44cab8 Small speedup for code using H{ } clone and with-scope 2009-03-31 08:16:04 -05:00
Slava Pestov 39b53817b9 Small size reduction for deployed images 2009-03-31 08:15:27 -05:00
Doug Coleman 5460a5375e change makefile to use .so instead of .a on unix 2009-03-28 14:41:48 -05:00
U-SLAVA-DFB8FF805\Slava 40631ec2a9 Fix alien tests on Windows; LoadLibraryEx does not like UNC paths 2009-03-28 02:37:07 -05:00
Doug Coleman 6f743b280d hopefully last fix for alien.factor 2009-03-27 17:58:31 -05:00
sheeple 1cf5c519cc fix ffi tests on 32bit 2009-03-27 14:39:45 -05:00
sheeple e04efe5f5a use .a instead of .so on unix 2009-03-27 10:41:24 -05:00
Doug Coleman 73b8bf1193 fix using list 2009-03-26 19:58:23 -05:00
Doug Coleman 63e06589bd don't normalize-path in add-library 2009-03-26 18:56:10 -05:00
Doug Coleman b771758ff7 fix load errors, help lint 2009-03-26 10:45:52 -05:00
Doug Coleman 6ca02e9b37 Merge branch 'master' of http://factorcode.org/git/factor into db 2009-03-25 23:01:05 -05:00
Doug Coleman 8b7fcce399 update code for usages of add-library 2009-03-25 23:00:19 -05:00
Slava Pestov ff07c8f352 Fix compiler.tree.debugger tests 2009-03-25 22:53:03 -05:00
Doug Coleman 4b275c2861 make add-library normalize-path, use libfactor-ffi-tests for testing ffi 2009-03-25 13:05:34 -05:00
Slava Pestov 9b8dd01c0b Fix bitrot in compiler.tree.debugger 2009-03-25 10:11:58 -05:00
Slava Pestov 9ebd9c8d01 Add unit test for regression 2009-03-22 21:42:15 -05:00
Slava Pestov 6080c6e734 Fix stack effect redefinition 2009-03-22 20:16:31 -05:00
Slava Pestov 2f4e2735ea Fix compile errors in compiler tests so that they actually test the compiler instead of being useless 2009-03-22 17:50:53 -05:00
Slava Pestov ea60f8ae93 Changing : foo ; parsing to SYNTAX: foo ; 2009-03-21 01:27:50 -05:00
Slava Pestov 7f4c967ace More compact relocation layout 2009-03-19 20:02:43 -05:00
Slava Pestov 9d44b7620f Fixing the build 2009-03-18 17:01:26 -05:00
Slava Pestov be4fb1e7d9 Move call( and execute( to core 2009-03-16 20:11:36 -05:00
Slava Pestov 0c77a3b3be compiler: use call( instead of assert-depth 2009-03-16 06:27:01 -05:00
Slava Pestov 38c6be94d4 Fixing some stack comments 2009-03-16 06:17:18 -05:00
Slava Pestov bf41b187b0 Re-organize code so that with-compilation-unit can infer
Fix with-compilation-unit to work in deployed code
2009-03-13 19:39:32 -05:00
Slava Pestov 2f85a1a9eb Don't report inference warnings for inline words 2009-03-12 17:30:41 -05:00