Coverage report: /home/ellis/comp/core/ffi/rocksdb/prim.lisp
Kind | Covered | All | % |
expression | 0 | 33 | 0.0 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; rocksdb/prim.lisp --- RocksDB Primitive FFI Macros
12
optimize away %SAP-ALIEN
14
forced to do runtime allocation of alien-value structure
15
--> STD/ALIEN:DEFAR PROGN LOCALLY DEFINE-ALIEN-ROUTINE PROGN DEFUN
16
--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA FUNCTION
17
--> BLOCK WITH-ALIEN SYMBOL-MACROLET SYMBOL-MACROLET SYMBOL-MACROLET
23
doing SAP to pointer coercion (cost 20)
24
--> STD/ALIEN:DEFAR PROGN LOCALLY DEFINE-ALIEN-ROUTINE PROGN DEFUN
25
--> PROGN SB-IMPL::%DEFUN SB-IMPL::%DEFUN SB-INT:NAMED-LAMBDA FUNCTION
26
--> BLOCK WITH-ALIEN SYMBOL-MACROLET SYMBOL-MACROLET SYMBOL-MACROLET
31
(defmacro def-with-errptr (name result-type &rest args)
33
(defar ,name ,result-type ,@args (errptr rocksdb-errptr))
34
(export '(,name) :rocksdb)))
36
(defmacro define-opt (name)
37
(let ((c-fn (symbolicate name '-create))
38
(d-fn (symbolicate name '-destroy))
39
(typ (symbolicate name '-t)))
41
(define-alien-type ,name (struct ,typ))
42
(defar ,c-fn (* ,name))
45
(export '(,c-fn ,d-fn ,name) :rocksdb))))
47
(defmacro define-opt-accessor (opt name &optional val)
48
(let* ((g-fn (symbolicate opt '-get- name))
49
(s-fn (symbolicate opt '-set- name)))
57
(export '(,g-fn ,s-fn) :rocksdb))
64
(export '(,g-fn ,s-fn) :rocksdb)))))
66
(defmacro export-opt-accessors (opt &rest names)
69
collect `(export (list
70
',(symbolicate opt '-get- n)
71
',(symbolicate opt '-set- n))