From 69db84023afe469da6101ca112f913e2587e3745 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 26 Sep 2009 02:26:07 -0500 Subject: [PATCH 1/5] db.tuples: add 'inline' declaration to example in docs --- basis/db/tuples/tuples-docs.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basis/db/tuples/tuples-docs.factor b/basis/db/tuples/tuples-docs.factor index 4d435e6a89..36ae6f07aa 100644 --- a/basis/db/tuples/tuples-docs.factor +++ b/basis/db/tuples/tuples-docs.factor @@ -232,7 +232,7 @@ T{ book "Now we've created a book. Let's save it to the database." { $code """USING: db db.sqlite fry io.files ; : with-book-tutorial ( quot -- ) - '[ "book-tutorial.db" temp-file _ with-db ] call ; + '[ "book-tutorial.db" temp-file _ with-db ] call ; inline [ book recreate-table From be214f914264ba33803bb866372777e9ae31bddb Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 26 Sep 2009 02:26:31 -0500 Subject: [PATCH 2/5] math.vectors: remove special handling for negative shifts, now we just say the behavior of vlshift and vrshift with negative shifts is undefined --- basis/math/vectors/vectors-docs.factor | 6 ++++-- basis/math/vectors/vectors-tests.factor | 8 -------- basis/math/vectors/vectors.factor | 4 ++-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/basis/math/vectors/vectors-docs.factor b/basis/math/vectors/vectors-docs.factor index 252cc4216e..2d9a70ad58 100644 --- a/basis/math/vectors/vectors-docs.factor +++ b/basis/math/vectors/vectors-docs.factor @@ -209,11 +209,13 @@ HELP: vbitxor HELP: vlshift { $values { "u" "a sequence of integers" } { "n" "a non-negative integer" } { "w" "a sequence of integers" } } -{ $description "Shifts each element of " { $snippet "u" } " to the left by " { $snippet "n" } " bits." } ; +{ $description "Shifts each element of " { $snippet "u" } " to the left by " { $snippet "n" } " bits." } +{ $notes "Undefined behavior will result if " { $snippet "n" } " is negative." } ; HELP: vrshift { $values { "u" "a sequence of integers" } { "n" "a non-negative integer" } { "w" "a sequence of integers" } } -{ $description "Shifts each element of " { $snippet "u" } " to the right by " { $snippet "n" } " bits." } ; +{ $description "Shifts each element of " { $snippet "u" } " to the right by " { $snippet "n" } " bits." } +{ $notes "Undefined behavior will result if " { $snippet "n" } " is negative." } ; HELP: norm-sq { $values { "v" "a sequence of numbers" } { "x" "a non-negative real number" } } diff --git a/basis/math/vectors/vectors-tests.factor b/basis/math/vectors/vectors-tests.factor index 712c5e4c60..91c5c0326f 100644 --- a/basis/math/vectors/vectors-tests.factor +++ b/basis/math/vectors/vectors-tests.factor @@ -24,11 +24,3 @@ SPECIALIZED-ARRAY: int [ { 0 3 2 5 4 } ] [ { 1 2 3 4 5 } { 1 1 1 1 1 } v+- ] unit-test [ 1 ] [ { C{ 0 1 } } dup v. ] unit-test - -! Make sure vector shifts behave the same as hardware SIMD vector shifts -[ int-array{ 0 0 0 0 } ] [ int-array{ 10 20 30 40 } -1 vlshift ] unit-test - -[ int-array{ 0 0 0 0 } ] [ - int-array{ 10 20 30 40 } - [ { int-array } declare -1 vlshift ] compile-call -] unit-test \ No newline at end of file diff --git a/basis/math/vectors/vectors.factor b/basis/math/vectors/vectors.factor index e3e4f51e28..a40506f980 100644 --- a/basis/math/vectors/vectors.factor +++ b/basis/math/vectors/vectors.factor @@ -61,8 +61,8 @@ PRIVATE> : vbitor ( u v -- w ) over '[ _ [ bitor ] fp-bitwise-op ] 2map ; : vbitxor ( u v -- w ) over '[ _ [ bitxor ] fp-bitwise-op ] 2map ; -: vlshift ( u n -- w ) HEX: ffffffff bitand '[ _ shift ] map ; -: vrshift ( u n -- w ) HEX: ffffffff bitand neg '[ _ shift ] map ; +: vlshift ( u n -- w ) '[ _ shift ] map ; +: vrshift ( u n -- w ) neg '[ _ shift ] map ; : vfloor ( u -- v ) [ floor ] map ; : vceiling ( u -- v ) [ ceiling ] map ; From 3c38656fd2571ad4ffe86ed868afed2875e8c477 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Sat, 26 Sep 2009 02:41:01 -0500 Subject: [PATCH 3/5] vm: fix windows compilation (untested) --- vm/os-windows.cpp | 12 ++++++------ vm/os-windows.hpp | 1 + vm/vm.hpp | 1 - 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/vm/os-windows.cpp b/vm/os-windows.cpp index 077bc48aa1..564b001e63 100644 --- a/vm/os-windows.cpp +++ b/vm/os-windows.cpp @@ -129,7 +129,12 @@ segment::~segment() myvm->fatal_error("Segment deallocation failed",0); } -long factor_vm::getpagesize() +void factor_vm::sleep_micros(u64 usec) +{ + Sleep((DWORD)(usec / 1000)); +} + +long getpagesize() { static long g_pagesize = 0; if (! g_pagesize) @@ -141,9 +146,4 @@ long factor_vm::getpagesize() return g_pagesize; } -void factor_vm::sleep_micros(u64 usec) -{ - Sleep((DWORD)(usec / 1000)); -} - } diff --git a/vm/os-windows.hpp b/vm/os-windows.hpp index ea5e543d14..d1db3c26ac 100644 --- a/vm/os-windows.hpp +++ b/vm/os-windows.hpp @@ -45,5 +45,6 @@ inline static void init_signals() {} inline static void early_init() {} s64 current_micros(); +long getpagesize(); } diff --git a/vm/vm.hpp b/vm/vm.hpp index d75c3e0eaf..937c043343 100644 --- a/vm/vm.hpp +++ b/vm/vm.hpp @@ -559,7 +559,6 @@ struct factor_vm : factor_vm_data { // os-windows #if defined(WINDOWS) void sleep_micros(u64 usec); - long getpagesize(); const vm_char *vm_executable_path(); const vm_char *default_image_path(); void windows_image_path(vm_char *full_path, vm_char *temp_path, unsigned int length); From b844f692b3e3eec48bf558a35def24a7042892a5 Mon Sep 17 00:00:00 2001 From: Vesa Kaihlavirta Date: Sat, 26 Sep 2009 10:49:57 +0300 Subject: [PATCH 4/5] temp-file is in io.files.temp nowadays --- basis/db/tuples/tuples-docs.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basis/db/tuples/tuples-docs.factor b/basis/db/tuples/tuples-docs.factor index 36ae6f07aa..116dfd5c00 100644 --- a/basis/db/tuples/tuples-docs.factor +++ b/basis/db/tuples/tuples-docs.factor @@ -230,7 +230,7 @@ T{ book } book set """ } "Now we've created a book. Let's save it to the database." -{ $code """USING: db db.sqlite fry io.files ; +{ $code """USING: db db.sqlite fry io.files.temp ; : with-book-tutorial ( quot -- ) '[ "book-tutorial.db" temp-file _ with-db ] call ; inline From 5a50ec204b43a5545037d4a0e38ace307d0bb73a Mon Sep 17 00:00:00 2001 From: "U-SLAVA-DFB8FF805\\Slava" Date: Sat, 26 Sep 2009 02:56:55 -0500 Subject: [PATCH 5/5] vm: fix compilation on Windows --- vm/os-windows.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 vm/os-windows.cpp diff --git a/vm/os-windows.cpp b/vm/os-windows.cpp old mode 100644 new mode 100755 index 564b001e63..c4b011417d --- a/vm/os-windows.cpp +++ b/vm/os-windows.cpp @@ -126,7 +126,7 @@ segment::~segment() SYSTEM_INFO si; GetSystemInfo(&si); if(!VirtualFree((void*)(start - si.dwPageSize), 0, MEM_RELEASE)) - myvm->fatal_error("Segment deallocation failed",0); + fatal_error("Segment deallocation failed",0); } void factor_vm::sleep_micros(u64 usec)