X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Ffop.lisp;h=ea97330b48add66999485eaee4e49f7e2da07a9c;hb=67dc5cf478dfe5e3f517001febb9a8f7b922eacf;hp=74b5984293f26282ed219931f1759054fe56da82;hpb=d57319a52914c481d89415c0860dc6b7ad90ddce;p=sbcl.git diff --git a/src/code/fop.lisp b/src/code/fop.lisp index 74b5984..ea97330 100644 --- a/src/code/fop.lisp +++ b/src/code/fop.lisp @@ -629,6 +629,12 @@ bug.~:@>") ;;;; assemblerish fops +(define-fop (fop-assembler-code 144) + (error "cannot load assembler code except at cold load")) + +(define-fop (fop-assembler-routine 145) + (error "cannot load assembler code except at cold load")) + (define-fop (fop-foreign-fixup 147) (let* ((kind (pop-stack)) (code-object (pop-stack)) @@ -641,12 +647,6 @@ bug.~:@>") kind) code-object)) -(define-fop (fop-assembler-code 144) - (error "cannot load assembler code except at cold load")) - -(define-fop (fop-assembler-routine 145) - (error "cannot load assembler code except at cold load")) - (define-fop (fop-assembler-fixup 148) (let ((routine (pop-stack)) (kind (pop-stack)) @@ -666,3 +666,16 @@ bug.~:@>") (sb!vm:fixup-code-object code-object (read-word-arg) (get-lisp-obj-address code-object) kind) code-object)) + +#!+linkage-table +(define-fop (fop-foreign-dataref-fixup 150) + (let* ((kind (pop-stack)) + (code-object (pop-stack)) + (len (read-byte-arg)) + (sym (make-string len))) + (read-n-bytes *fasl-input-stream* sym 0 len) + (sb!vm:fixup-code-object code-object + (read-word-arg) + (foreign-symbol-address-as-integer sym t) + kind) + code-object))