]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'monotonic' of git://factorcode.org/git/factor into monotonic
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 15 Nov 2009 05:29:04 +0000 (23:29 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 15 Nov 2009 05:29:04 +0000 (23:29 -0600)
12 files changed:
basis/windows/kernel32/kernel32.factor
extra/monotonic-clock/authors.txt [new file with mode: 0644]
extra/monotonic-clock/monotonic-clock.factor [new file with mode: 0755]
extra/monotonic-clock/unix/linux/authors.txt [new file with mode: 0644]
extra/monotonic-clock/unix/linux/linux.factor [new file with mode: 0755]
extra/monotonic-clock/unix/linux/tags.txt [new file with mode: 0644]
extra/monotonic-clock/unix/macosx/authors.txt [new file with mode: 0644]
extra/monotonic-clock/unix/macosx/macosx.factor [new file with mode: 0755]
extra/monotonic-clock/unix/macosx/tags.txt [new file with mode: 0644]
extra/monotonic-clock/windows/authors.txt [new file with mode: 0644]
extra/monotonic-clock/windows/tags.txt [new file with mode: 0644]
extra/monotonic-clock/windows/windows.factor [new file with mode: 0755]

index 54d3fe6f4d2dda6f1cfd5c6ed0a6a1ce30b94628..80f50ef2b08f50c9ace1346c3e5386354d2a53f6 100755 (executable)
@@ -1622,8 +1622,8 @@ FUNCTION: HANDLE OpenProcess ( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD
 ! FUNCTION: QueryDosDeviceW
 ! FUNCTION: QueryInformationJobObject
 ! FUNCTION: QueryMemoryResourceNotification
-! FUNCTION: QueryPerformanceCounter
-! FUNCTION: QueryPerformanceFrequency
+FUNCTION: BOOL QueryPerformanceCounter ( LARGE_INTEGER* lpPerformanceCount ) ;
+FUNCTION: BOOL QueryPerformanceFrequency ( LARGE_INTEGER* lpFrequency ) ;
 ! FUNCTION: QueryWin31IniFilesMappedToRegistry
 ! FUNCTION: QueueUserAPC
 ! FUNCTION: QueueUserWorkItem
diff --git a/extra/monotonic-clock/authors.txt b/extra/monotonic-clock/authors.txt
new file mode 100644 (file)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/extra/monotonic-clock/monotonic-clock.factor b/extra/monotonic-clock/monotonic-clock.factor
new file mode 100755 (executable)
index 0000000..1dead95
--- /dev/null
@@ -0,0 +1,7 @@
+! Copyright (C) 2009 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: system ;
+IN: monotonic-clock
+
+HOOK: monotonic-count os ( -- n )
+
diff --git a/extra/monotonic-clock/unix/linux/authors.txt b/extra/monotonic-clock/unix/linux/authors.txt
new file mode 100644 (file)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/extra/monotonic-clock/unix/linux/linux.factor b/extra/monotonic-clock/unix/linux/linux.factor
new file mode 100755 (executable)
index 0000000..2ceb0c3
--- /dev/null
@@ -0,0 +1,4 @@
+! Copyright (C) 2009 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: ;
+IN: monotonic-clock.unix.linux
diff --git a/extra/monotonic-clock/unix/linux/tags.txt b/extra/monotonic-clock/unix/linux/tags.txt
new file mode 100644 (file)
index 0000000..6bf6830
--- /dev/null
@@ -0,0 +1 @@
+unportable
diff --git a/extra/monotonic-clock/unix/macosx/authors.txt b/extra/monotonic-clock/unix/macosx/authors.txt
new file mode 100644 (file)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/extra/monotonic-clock/unix/macosx/macosx.factor b/extra/monotonic-clock/unix/macosx/macosx.factor
new file mode 100755 (executable)
index 0000000..b16061d
--- /dev/null
@@ -0,0 +1,4 @@
+! Copyright (C) 2009 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: ;
+IN: monotonic-clock.unix.macosx
diff --git a/extra/monotonic-clock/unix/macosx/tags.txt b/extra/monotonic-clock/unix/macosx/tags.txt
new file mode 100644 (file)
index 0000000..6bf6830
--- /dev/null
@@ -0,0 +1 @@
+unportable
diff --git a/extra/monotonic-clock/windows/authors.txt b/extra/monotonic-clock/windows/authors.txt
new file mode 100644 (file)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/extra/monotonic-clock/windows/tags.txt b/extra/monotonic-clock/windows/tags.txt
new file mode 100644 (file)
index 0000000..6bf6830
--- /dev/null
@@ -0,0 +1 @@
+unportable
diff --git a/extra/monotonic-clock/windows/windows.factor b/extra/monotonic-clock/windows/windows.factor
new file mode 100755 (executable)
index 0000000..85732e3
--- /dev/null
@@ -0,0 +1,19 @@
+! Copyright (C) 2009 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: alien.c-types alien.data fry kernel monotonic-clock
+system windows.errors windows.kernel32 ;
+IN: monotonic-clock.windows
+
+<PRIVATE
+
+: execute-performance-query ( word -- n )
+    [ "LARGE_INTEGER*" <c-object> ] dip
+    '[ _ execute win32-error=0/f ] keep *ulonglong ; inline
+
+PRIVATE>
+
+M: windows monotonic-count  ( -- n )
+    \ QueryPerformanceCounter execute-performance-query ;
+
+: cpu-frequency ( -- n )
+    \ QueryPerformanceFrequency execute-performance-query ;