⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nofrag_ops.tab

📁 OTP是开放电信平台的简称
💻 TAB
字号:
# ``The contents of this file are subject to the Erlang Public License,# Version 1.1, (the "License"); you may not use this file except in# compliance with the License. You should have received a copy of the# Erlang Public License along with this software. If not, it can be# retrieved via the world wide web at http://www.erlang.org/.# # Software distributed under the License is distributed on an "AS IS"# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See# the License for the specific language governing rights and limitations# under the License.# # The Initial Developer of the Original Code is Ericsson Utvecklings AB.# Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings# AB. All Rights Reserved.''# #     $Id$### This file contains the instructions specific for the 'nofrag' emulator.# The nofrag emulator disallows any instruction that implicitly# build heap fragments.## ================================================================# Old bit syntax instructions.## No longer allowed.# ================================================================bs_start_match F R => too_old_compilerbs_save I => too_old_compilerbs_restore I => too_old_compilerbs_get_integer Fail Sz Unit Flags Dst => too_old_compilerbs_get_binary Fail Sz Unit Flags Dst => too_old_compilerbs_get_float Fail Sz Unit Flags Dst => too_old_compilerbs_skip_bits Fail Sz Unit Flags => too_old_compilerbs_test_tail Fail Bits => too_old_compilerbs_init Size Flags => too_old_compilerbs_need_buf Bits => too_old_compilerbs_final Fail Dst => too_old_compilerbs_put_string Len String => too_old_compiler## Old floating point instructions.#fmove FR=l Dst=d => too_old_compiler## New GCing arithmetic instructions.#gc_bif2 Fail I u$bif:erlang:splus/2 S1 S2 Dst=d => i_fetch S1 S2 | i_plus Fail I Dstgc_bif2 Fail I u$bif:erlang:sminus/2 S1 S2 Dst=d => i_fetch S1 S2 | i_minus Fail I Dstgc_bif2 Fail I u$bif:erlang:stimes/2 S1 S2 Dst=d => i_fetch S1 S2 | i_times Fail I Dstgc_bif2 Fail I u$bif:erlang:div/2 S1 S2 Dst=d => i_fetch S1 S2 | i_m_div Fail I Dstgc_bif2 Fail I u$bif:erlang:intdiv/2 S1 S2 Dst=d => i_fetch S1 S2 | i_int_div Fail I Dstgc_bif2 Fail I u$bif:erlang:rem/2 S1 S2 Dst=d => i_fetch S1 S2 | i_rem Fail I Dstgc_bif2 Fail I u$bif:erlang:bsl/2 S1 S2 Dst=d => i_fetch S1 S2 | i_bsl Fail I Dstgc_bif2 Fail I u$bif:erlang:bsr/2 S1 S2 Dst=d => i_fetch S1 S2 | i_bsr Fail I Dstgc_bif2 Fail I u$bif:erlang:band/2 S1 S2 Dst=d => i_fetch S1 S2 | i_band Fail I Dstgc_bif2 Fail I u$bif:erlang:bor/2 S1 S2 Dst=d => i_fetch S1 S2 | i_bor Fail I Dstgc_bif2 Fail I u$bif:erlang:bxor/2 S1 S2 Dst=d => i_fetch S1 S2 | i_bxor Fail I Dstgc_bif1 Fail I u$bif:erlang:bnot/1 Src Dst=d => i_int_bnot Fail Src I Dstgc_bif1 Fail I u$bif:erlang:sminus/1 Src Dst=d => i_fetch i Src | i_minus Fail I Dstgc_bif1 Fail I u$bif:erlang:splus/1 Src Dst=d => i_fetch i Src | i_plus Fail I Dsti_plus j I di_minus j I di_times j I di_m_div j I di_int_div j I di_rem j I di_bsl j I di_bsr j I di_band j I di_bor j I di_bxor j I di_int_bnot j s I d## Old arithmetic instructions are no longer allowed.#m_plus   Lbl S1 S2 D => too_old_compilerm_minus  Lbl S1 S2 D => too_old_compilerm_times  Lbl S1 S2 D => too_old_compilerm_div    Lbl S1 S2 D => too_old_compilerint_div  Lbl S1 S2 D => too_old_compilerint_rem  Lbl S1 S2 D => too_old_compilerint_bsl  Lbl S1 S2 D => too_old_compilerint_bsr  Lbl S1 S2 D => too_old_compilerint_band  Lbl S1 S2 D => too_old_compilerint_bor  Lbl S1 S2 D => too_old_compilerint_bxor  Lbl S1 S2 D => too_old_compilerint_bnot Fail Src Dst => too_old_compiler## Old guard BIFs that creates heap fragments are no longer allowed.#bif1 Fail u$bif:erlang:length/1 s d => too_old_compilerbif1 Fail u$bif:erlang:size/1 s d => too_old_compilerbif1 Fail u$bif:erlang:abs/1 s d => too_old_compilerbif1 Fail u$bif:erlang:float/1 s d => too_old_compilerbif1 Fail u$bif:erlang:round/1 s d => too_old_compilerbif1 Fail u$bif:erlang:trunc/1 s d => too_old_compiler## Guard BIFs.#gc_bif1 Fail I Bif=u$bif:erlang:length/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)gc_bif1 Fail I Bif=u$bif:erlang:size/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)gc_bif1 Fail I Bif=u$bif:erlang:bitsize/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)gc_bif1 Fail I Bif=u$bif:erlang:abs/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)gc_bif1 Fail I Bif=u$bif:erlang:float/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)gc_bif1 Fail I Bif=u$bif:erlang:round/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)gc_bif1 Fail I Bif=u$bif:erlang:trunc/1 Src Dst=d => \	gen_guard_bif(Fail, I, Bif, Src, Dst)i_gc_bif1 Fail Bif V=o Live D => i_put_float V x | i_gc_bif1 Fail Bif x Live Di_gc_bif1 Fail Bif V=w Live D => i_put_big V x | i_gc_bif1 Fail Bif x Live Di_gc_bif1 j I s I dmake_fun f u u => too_old_compiler

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -