Merge branch 'master' into semantic-db

db4
Alex Chapman 2008-02-19 12:12:54 +11:00
commit 3358672e49
3 changed files with 82 additions and 14 deletions

View File

@ -174,7 +174,7 @@ M: hook-generic synopsis*
dup definer. dup definer.
dup seeing-word dup seeing-word
dup pprint-word dup pprint-word
dup "combination" word-prop hook-combination-var pprint-word dup "combination" word-prop hook-combination-var pprint*
stack-effect. ; stack-effect. ;
M: method-spec synopsis* M: method-spec synopsis*

View File

@ -61,6 +61,17 @@ VAR: stamp
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: copy-image ( -- )
"../../factor/" my-boot-image-name append
"../" my-boot-image-name append
copy-file
"../../factor/" my-boot-image-name append
my-boot-image-name
copy-file ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: factor-binary ( -- name ) : factor-binary ( -- name )
os os
{ { "macosx" [ "./Factor.app/Contents/MacOS/factor" ] } { { "macosx" [ "./Factor.app/Contents/MacOS/factor" ] }
@ -69,8 +80,7 @@ VAR: stamp
case ; case ;
: bootstrap-cmd ( -- cmd ) : bootstrap-cmd ( -- cmd )
{ factor-binary [ "-i=" my-boot-image-name append ] "-no-user-init" } { factor-binary { "-i=" my-boot-image-name } "-no-user-init" } to-strings ;
to-strings ;
: bootstrap ( -- desc ) : bootstrap ( -- desc )
<process*> <process*>
@ -81,7 +91,48 @@ VAR: stamp
20 minutes>ms >>timeout 20 minutes>ms >>timeout
>desc ; >desc ;
: builder-test ( -- desc ) { factor-binary "-run=builder.test" } to-strings ; : builder-test-cmd ( -- cmd )
{ factor-binary "-run=builder.test" } to-strings ;
: builder-test ( -- desc )
<process*>
builder-test-cmd >>arguments
+closed+ >>stdin
"../test-log" >>stdout
+stdout+ >>stderr
45 minutes>ms >>timeout
>desc ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
USING: arrays assocs math ;
: passing-benchmarks ( table -- table )
[ second first2 number? swap number? and ] subset ;
: simplify-table ( table -- table ) [ first2 second 2array ] map ;
: benchmark-difference ( old-table benchmark-result -- result-diff )
first2 >r
tuck swap at
r>
swap -
2array ;
: compare-tables ( old new -- table )
[ passing-benchmarks simplify-table ] 2apply
[ benchmark-difference ] with map ;
: show-benchmark-deltas ( -- )
"Benchmark deltas: " print
[
"../../benchmarks" eval-file
"../benchmarks" eval-file
compare-tables .
]
[ drop "Error generating benchmark deltas" . ]
recover ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -112,13 +163,13 @@ SYMBOL: build-status
make-vm [ "vm compile error" print "../compile-log" cat ] run-or-bail make-vm [ "vm compile error" print "../compile-log" cat ] run-or-bail
[ retrieve-image ] [ "Image download error" print throw ] recover ! [ retrieve-image ] [ "Image download error" print throw ] recover
copy-image
bootstrap [ "Bootstrap error" print "../boot-log" cat ] run-or-bail bootstrap [ "Bootstrap error" print "../boot-log" cat ] run-or-bail
[ builder-test try-process ] builder-test [ "Test error" print "../test-log" cat ] run-or-bail
[ "Builder test error" print throw ]
recover
"Boot time: " write "../boot-time" eval-file milli-seconds>time print "Boot time: " write "../boot-time" eval-file milli-seconds>time print
"Load time: " write "../load-time" eval-file milli-seconds>time print "Load time: " write "../load-time" eval-file milli-seconds>time print
@ -130,6 +181,12 @@ SYMBOL: build-status
"Benchmarks: " print "Benchmarks: " print
"../benchmarks" [ stdio get contents eval ] with-file-reader benchmarks. "../benchmarks" [ stdio get contents eval ] with-file-reader benchmarks.
nl
show-benchmark-deltas
"../benchmarks" "../../benchmarks" copy-file
] with-file-writer ] with-file-writer
build-status on ; build-status on ;
@ -152,12 +209,17 @@ SYMBOL: builder-recipients
"../report" file>string >>body "../report" file>string >>body
send ; send ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: build ( -- ) : build ( -- )
[ (build) ] [ drop ] recover [ (build) ] [ drop ] recover
[ send-builder-email ] [ drop "not sending mail" . ] recover ; [ send-builder-email ] [ drop "not sending mail" . ] recover
".." cd { "rm" "-rf" "factor" } run-process drop ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
USE: bootstrap.image.download
: git-pull ( -- desc ) : git-pull ( -- desc )
{ {
"git" "git"
@ -173,11 +235,17 @@ SYMBOL: builder-recipients
git-id git-id
= not ; = not ;
: new-image-available? ( -- ? )
my-boot-image-name need-new-image?
[ download-my-image t ]
[ f ]
if ;
: build-loop ( -- ) : build-loop ( -- )
builds-check builds-check
[ [
builds "/factor" append cd builds "/factor" append cd
updates-available? updates-available? new-image-available? or
[ build ] [ build ]
when when
] ]

View File

@ -110,8 +110,8 @@
(require 'comint) (require 'comint)
(defvar factor-binary "/scratch/repos/Factor/factor") (defvar factor-binary "~/factor/factor")
(defvar factor-image "/scratch/repos/Factor/factor.image") (defvar factor-image "~/factor/factor.image")
(defun factor-telnet-to-port (port) (defun factor-telnet-to-port (port)
(interactive "nPort: ") (interactive "nPort: ")
@ -202,8 +202,8 @@
(defun run-factor () (defun run-factor ()
(interactive) (interactive)
(switch-to-buffer (switch-to-buffer
(make-comint-in-buffer "factor" nil factor-binary nil (make-comint-in-buffer "factor" nil (expand-file-name factor-binary) nil
(concat "-i=" factor-image) (concat "-i=" (expand-file-name factor-image))
"-run=listener")) "-run=listener"))
(factor-listener-mode)) (factor-listener-mode))