File: djvm-heap.lisp

package info (click to toggle)
acl2 8.6%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: trixie
  • size: 1,111,420 kB
  • sloc: lisp: 17,818,294; java: 125,359; python: 28,122; javascript: 23,458; cpp: 18,851; ansic: 11,569; perl: 7,678; xml: 5,591; sh: 3,976; makefile: 3,833; ruby: 2,633; yacc: 1,126; ml: 763; awk: 295; csh: 233; lex: 197; php: 178; tcl: 49; asm: 23; haskell: 17
file content (31 lines) | stat: -rw-r--r-- 996 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(in-package "DJVM")
(acl2::set-verify-guards-eagerness 2)
;;(include-book "../M6-DJVM-shared/jvm-heap")
(include-book "../DJVM/djvm-type-value")
(include-book "../DJVM/djvm-obj")
(include-book "../DJVM/consistent-state")


;; (defun deref2 (ref hp)
;;   (declare (xargs :guard (and (wff-Heap hp)
;;                               (Valid-REFp ref hp))))
;;   ;; never deref2 a non pointer. 
;;   ;; ensure our owm implementation is right. 
              
;;   (binding (rREF ref) hp))
;;
;; appeared in djvm-type-value.lisp

;; (defun wff-heap-strong (hp)
;;   (and (wff-heap hp)
;;        (if (not (consp hp)) t  
;;          (and (wff-obj-strong (cdar hp))
;;               (wff-heap-strong (cdr hp))))))


(defun deref2-init (v hp-init)
  (declare (xargs :guard (and (wff-Refp v)
                              (wff-heap-init-map-strong hp-init)
                              (bound? (rREF v) hp-init))))
                                                            
  (binding (rREF v) hp-init))