亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arith.lisp

?? 開源跨平臺Lisp編譯器
?? LISP
?? 第 1 頁 / 共 2 頁
字號:
;;;; stuff to handle simple cases for generic arithmetic;;;; This software is part of the SBCL system. See the README file for;;;; more information.;;;;;;;; This software is derived from the CMU CL system, which was;;;; written at Carnegie Mellon University and released into the;;;; public domain. The software is in the public domain and is;;;; provided with absolutely no warranty. See the COPYING and CREDITS;;;; files for more information.(in-package "SB!VM");;;; Addition and subtraction.;;; static-fun-offset returns the address of the raw_addr slot of;;; a static function's fdefn.;;; Note that there is only one use of static-fun-offset outside this;;; file (in genesis.lisp)(define-assembly-routine (generic-+                          (:cost 10)                          (:return-style :full-call)                          (:translate +)                          (:policy :safe)                          (:save-p t))                         ((:arg x (descriptor-reg any-reg) a0-offset)                          (:arg y (descriptor-reg any-reg) a1-offset)                          (:res res (descriptor-reg any-reg) a0-offset)                          (:temp temp non-descriptor-reg nl0-offset)                          (:temp temp1 non-descriptor-reg nl1-offset)                          (:temp temp2 non-descriptor-reg nl2-offset)                          (:temp pa-flag non-descriptor-reg nl4-offset)                          (:temp lra descriptor-reg lra-offset)                          (:temp lip interior-reg lip-offset)                          (:temp nargs any-reg nargs-offset)                          (:temp ocfp any-reg ocfp-offset))  (inst or temp x y)  (inst and temp fixnum-tag-mask)  (inst bne temp DO-STATIC-FUN)  (inst addu temp x y)  ;; check for overflow  (inst xor temp1 temp x)  (inst xor temp2 temp y)  (inst and temp1 temp2)  (inst bltz temp1 DO-OVERFLOW)  (inst sra temp1 x n-fixnum-tag-bits)  (inst move res temp)  (lisp-return lra lip :offset 2)  DO-OVERFLOW  ;; We did overflow, so do the bignum version  (inst sra temp2 y n-fixnum-tag-bits)  (inst addu temp temp1 temp2)  (with-fixed-allocation (res pa-flag temp2 bignum-widetag                          (1+ bignum-digits-offset) nil)    (storew temp res bignum-digits-offset other-pointer-lowtag))  (lisp-return lra lip :offset 2)  DO-STATIC-FUN  (inst lw lip null-tn (static-fun-offset 'two-arg-+))  (inst li nargs (fixnumize 2))  (move ocfp cfp-tn)  (inst j lip)  (move cfp-tn csp-tn t))(define-assembly-routine (generic--                          (:cost 10)                          (:return-style :full-call)                          (:translate -)                          (:policy :safe)                          (:save-p t))                         ((:arg x (descriptor-reg any-reg) a0-offset)                          (:arg y (descriptor-reg any-reg) a1-offset)                          (:res res (descriptor-reg any-reg) a0-offset)                          (:temp temp non-descriptor-reg nl0-offset)                          (:temp temp1 non-descriptor-reg nl1-offset)                          (:temp temp2 non-descriptor-reg nl2-offset)                          (:temp pa-flag non-descriptor-reg nl4-offset)                          (:temp lra descriptor-reg lra-offset)                          (:temp lip interior-reg lip-offset)                          (:temp nargs any-reg nargs-offset)                          (:temp ocfp any-reg ocfp-offset))  (inst or temp x y)  (inst and temp fixnum-tag-mask)  (inst bne temp DO-STATIC-FUN)  (inst subu temp x y)  ;; check for overflow  (inst xor temp1 x y)  (inst xor temp2 x temp)  (inst and temp1 temp2)  (inst bltz temp1 DO-OVERFLOW)  (inst sra temp1 x n-fixnum-tag-bits)  (inst move res temp)  (lisp-return lra lip :offset 2)  DO-OVERFLOW  ;; We did overflow, so do the bignum version  (inst sra temp2 y n-fixnum-tag-bits)  (inst subu temp temp1 temp2)  (with-fixed-allocation (res pa-flag temp2 bignum-widetag                          (1+ bignum-digits-offset) nil)    (storew temp res bignum-digits-offset other-pointer-lowtag))  (lisp-return lra lip :offset 2)  DO-STATIC-FUN  (inst lw lip null-tn (static-fun-offset 'two-arg--))  (inst li nargs (fixnumize 2))  (move ocfp cfp-tn)  (inst j lip)  (move cfp-tn csp-tn t));;;; Multiplication(define-assembly-routine (generic-*                          (:cost 25)                          (:return-style :full-call)                          (:translate *)                          (:policy :safe)                          (:save-p t))                         ((:arg x (descriptor-reg any-reg) a0-offset)                          (:arg y (descriptor-reg any-reg) a1-offset)                          (:res res (descriptor-reg any-reg) a0-offset)                          (:temp temp non-descriptor-reg nl0-offset)                          (:temp lo non-descriptor-reg nl1-offset)                          (:temp hi non-descriptor-reg nl2-offset)                          (:temp pa-flag non-descriptor-reg nl4-offset)                          (:temp lra descriptor-reg lra-offset)                          (:temp lip interior-reg lip-offset)                          (:temp nargs any-reg nargs-offset)                          (:temp ocfp any-reg ocfp-offset))  ;; If either arg is not a fixnum, call the static function.  (inst or temp x y)  (inst and temp fixnum-tag-mask)  (inst bne temp DO-STATIC-FUN)  ;; Remove the tag from one arg so that the result will have the correct  ;; fixnum tag.  (inst sra temp x n-fixnum-tag-bits)  (inst mult temp y)  (inst mflo res)  (inst mfhi hi)  ;; Check to see if the result will fit in a fixnum.  (I.e. the high word  ;; is just 32 copies of the sign bit of the low word).  (inst sra temp res 31)  (inst bne temp hi DO-BIGNUM)  (inst srl lo res n-fixnum-tag-bits)  (lisp-return lra lip :offset 2)  DO-BIGNUM  ;; Shift the double word hi:res down two bits into hi:low to get rid of the  ;; fixnum tag.  (inst sll temp hi (- n-word-bits n-fixnum-tag-bits))  (inst or lo temp)  (inst sra hi n-fixnum-tag-bits)  ;; Do we need one word or two?  Assume two.  (inst sra temp lo 31)  (inst bne temp hi TWO-WORDS)  ;; Assume a two word header.  (inst li temp (logior (ash 2 n-widetag-bits) bignum-widetag))  ;; Only need one word, fix the header.  (inst li temp (logior (ash 1 n-widetag-bits) bignum-widetag))  (pseudo-atomic (pa-flag :extra (pad-data-block (+ 1 bignum-digits-offset)))    (inst or res alloc-tn other-pointer-lowtag)    (storew temp res 0 other-pointer-lowtag))  (storew lo res bignum-digits-offset other-pointer-lowtag)  (lisp-return lra lip :offset 2)  TWO-WORDS  (pseudo-atomic (pa-flag :extra (pad-data-block (+ 2 bignum-digits-offset)))    (inst or res alloc-tn other-pointer-lowtag)    (storew temp res 0 other-pointer-lowtag))  (storew lo res bignum-digits-offset other-pointer-lowtag)  (storew hi res (1+ bignum-digits-offset) other-pointer-lowtag)  (lisp-return lra lip :offset 2)  DO-STATIC-FUN  (inst lw lip null-tn (static-fun-offset 'two-arg-*))  (inst li nargs (fixnumize 2))  (move ocfp cfp-tn)  (inst j lip)  (move cfp-tn csp-tn t))(macrolet    ((frob (name note cost type sc signed-p)       `(define-assembly-routine (,name                                  (:note ,note)                                  (:cost ,cost)                                  (:translate *)                                  (:policy :fast-safe)                                  (:arg-types ,type ,type)                                  (:result-types ,type))                                 ((:arg x ,sc nl0-offset)                                  (:arg y ,sc nl1-offset)                                  (:res res ,sc nl0-offset))          ,@(when (eq type 'tagged-num)              `((inst sra x 2)))          (inst ,(if signed-p 'mult 'multu) x y)          (inst mflo res))))  (frob unsigned-* "unsigned *" 40 unsigned-num unsigned-reg nil)  (frob signed-* "signed *" 41 signed-num signed-reg t)  (frob fixnum-* "fixnum *" 30 tagged-num any-reg t));;;; Division.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品亚洲日本在线桃色 | 欧美日韩国产综合久久| 韩国三级在线一区| 久久精品国产99国产精品| 日韩av中文字幕一区二区| 日av在线不卡| 奇米影视一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲天堂久久久久久久| 中文字幕亚洲成人| 亚洲毛片av在线| 洋洋成人永久网站入口| 午夜久久久影院| 日本最新不卡在线| 国产一区二区看久久| 岛国av在线一区| 色成年激情久久综合| 欧美精品在线观看一区二区| 日韩免费电影网站| 国产欧美日韩精品a在线观看| 国产精品三级av在线播放| 亚洲激情在线激情| 蜜桃视频一区二区三区| 春色校园综合激情亚洲| 欧美性感一区二区三区| 欧美大白屁股肥臀xxxxxx| 久久精品一级爱片| 亚洲精品免费在线| 日韩不卡在线观看日韩不卡视频| 狠狠网亚洲精品| 日本精品一级二级| 精品国产乱子伦一区| 国产精品高潮久久久久无| 亚洲曰韩产成在线| 国产精品 日产精品 欧美精品| 99精品视频在线免费观看| 欧美一卡2卡三卡4卡5免费| 久久久久久久久蜜桃| 亚洲成在人线在线播放| 成人深夜在线观看| 日韩三级视频在线观看| 《视频一区视频二区| 免费欧美高清视频| 欧美中文字幕一区二区三区| 精品处破学生在线二十三| 亚洲黄色av一区| 国产成人在线网站| 欧美一级二级三级乱码| 一二三区精品福利视频| 国产福利一区二区三区视频| 欧美一级欧美一级在线播放| 中文字幕在线一区免费| 激情综合色播激情啊| 色天使色偷偷av一区二区| 国产日韩欧美电影| 久久激情五月激情| 欧美日韩精品欧美日韩精品一综合| 夜夜夜精品看看| 狠狠狠色丁香婷婷综合久久五月| 色综合久久天天综合网| 国产精品污污网站在线观看| 毛片一区二区三区| 欧美乱妇23p| 亚洲国产日韩a在线播放| 97se亚洲国产综合在线| 亚洲国产精品av| 国产在线播放一区三区四| 日韩欧美在线网站| 日韩在线卡一卡二| 欧美日韩免费观看一区三区| 亚洲图片欧美综合| 色婷婷一区二区三区四区| 国产精品福利影院| 99国产麻豆精品| 亚洲色图欧美偷拍| 91豆麻精品91久久久久久| 亚洲精品ww久久久久久p站| 91丨porny丨首页| 亚洲激情校园春色| 欧亚洲嫩模精品一区三区| 一区二区三区不卡视频| 欧美日韩一级二级| 天涯成人国产亚洲精品一区av| 欧美艳星brazzers| 亚洲线精品一区二区三区八戒| 91久久精品日日躁夜夜躁欧美| 亚洲免费高清视频在线| 在线一区二区三区做爰视频网站| 一区二区三区欧美| 欧美图片一区二区三区| 午夜不卡av在线| 91精品国产乱| 国产一区二区三区四| 中文字幕高清一区| 一本一道波多野结衣一区二区| 亚洲第一搞黄网站| 久久欧美一区二区| heyzo一本久久综合| 亚洲精品国产a| 日韩一卡二卡三卡四卡| 国产不卡在线一区| 一区二区三区产品免费精品久久75| 欧美日韩一本到| 国产自产v一区二区三区c| 国产欧美视频一区二区三区| 一本到一区二区三区| 蜜桃精品视频在线| 亚洲啪啪综合av一区二区三区| 欧美调教femdomvk| 国产高清在线精品| 亚洲卡通动漫在线| 精品成人在线观看| 欧美午夜寂寞影院| 粉嫩一区二区三区性色av| 亚洲大片一区二区三区| 欧美国产乱子伦| 欧美色视频一区| 国产精品一区一区三区| 亚洲一区二区黄色| 欧美激情中文字幕| 欧美tickling网站挠脚心| 91丨porny丨户外露出| 九色porny丨国产精品| 一区二区三区四区av| 中文字幕欧美激情| 欧美一区二区三区免费大片| 99re热视频这里只精品| 精品一区精品二区高清| 亚洲v日本v欧美v久久精品| 国产清纯在线一区二区www| 91精品国产91久久久久久最新毛片| 不卡一区二区在线| 国产精品一区免费视频| 日韩电影在线一区| 亚洲最大成人综合| 亚洲免费资源在线播放| 国产精品网站一区| 久久综合av免费| 日韩欧美一级特黄在线播放| 欧美影院一区二区三区| 97国产精品videossex| 大胆欧美人体老妇| 国产91精品久久久久久久网曝门| 精品亚洲成av人在线观看| 香蕉久久一区二区不卡无毒影院 | 色哟哟国产精品| 成人av在线看| 丁香激情综合国产| 国产精品99久久久| 国产高清无密码一区二区三区| 极品少妇xxxx偷拍精品少妇| 捆绑调教一区二区三区| 精品一区二区三区日韩| 国产一区二区三区四| 国产一区 二区 三区一级| 久久99久久久久| 精品一二线国产| 国产成人免费av在线| 国产成a人亚洲| 91亚洲国产成人精品一区二区三| 成人丝袜高跟foot| 在线观看免费亚洲| 欧美日韩国产高清一区| 菠萝蜜视频在线观看一区| 亚洲精品欧美激情| 91精品国产综合久久婷婷香蕉| 欧美日韩视频一区二区| 3atv在线一区二区三区| 日韩一区二区电影| 欧美国产综合一区二区| 一区二区在线观看视频在线观看| 国产精品乱人伦中文| 欧美在线影院一区二区| 欧美绝品在线观看成人午夜影视| 国产午夜精品久久久久久免费视| 偷拍日韩校园综合在线| 91丨九色丨国产丨porny| 国产午夜精品福利| 久久91精品国产91久久小草| 欧美日韩三级一区| 亚洲美女在线一区| 成人不卡免费av| 久久久精品黄色| 久久福利视频一区二区| 欧美日韩一卡二卡三卡| 一区二区高清免费观看影视大全| 粉嫩aⅴ一区二区三区四区五区| 日韩久久久精品| 视频在线观看91| 欧美日韩在线免费视频| 亚洲另类一区二区| 99精品偷自拍| 亚洲日本在线观看| 91在线小视频| 亚洲欧洲韩国日本视频| 99久久久国产精品免费蜜臀| 亚洲国产精品高清| av毛片久久久久**hd| 国产精品成人免费| 91论坛在线播放|