v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <stdio.h>
#include <cstring>
#include "cctest.h"
#include "v8.h"
#include "macro-assembler.h"
#include "arm64/assembler-arm64.h"
#include "arm64/macro-assembler-arm64.h"
#include "arm64/decoder-arm64-inl.h"
#include "arm64/disasm-arm64.h"
#include "arm64/utils-arm64.h"
Go to the source code of this file.
Macros | |
#define | TEST_(name) TEST(DISASM_##name) |
#define | EXP_SIZE (256) |
#define | INSTR_SIZE (1024) |
#define | SET_UP_CLASS(ASMCLASS) |
#define | SET_UP() SET_UP_CLASS(Assembler) |
#define | COMPARE(ASM, EXP) |
#define | COMPARE_PREFIX(ASM, EXP) |
#define | CLEANUP() |
#define | RESULT_SIZE (256) |
#define | INST_OFF(x) ((x) >> kInstructionSizeLog2) |
Functions | |
TEST_ (bootstrap) | |
TEST_ (mov_mvn) | |
TEST_ (move_immediate) | |
TEST (move_immediate_2) | |
TEST_ (add_immediate) | |
TEST_ (sub_immediate) | |
TEST_ (add_shifted) | |
TEST_ (sub_shifted) | |
TEST_ (add_extended) | |
TEST_ (sub_extended) | |
TEST_ (adc_subc_ngc) | |
TEST_ (mul_and_div) | |
TEST (maddl_msubl) | |
TEST_ (dp_1_source) | |
TEST_ (bitfield) | |
TEST_ (extract) | |
TEST_ (logical_immediate) | |
TEST_ (logical_shifted) | |
TEST_ (dp_2_source) | |
TEST_ (adr) | |
TEST_ (branch) | |
TEST_ (load_store) | |
TEST_ (load_store_regoffset) | |
TEST_ (load_store_byte) | |
TEST_ (load_store_half) | |
TEST_ (load_store_fp) | |
TEST_ (load_store_unscaled) | |
TEST_ (load_store_pair) | |
TEST_ (load_store_pair_nontemp) | |
TEST_ (cond_select) | |
TEST (cond_select_macro) | |
TEST_ (cond_cmp) | |
TEST_ (cond_cmp_macro) | |
TEST_ (fmov_imm) | |
TEST_ (fmov_reg) | |
TEST_ (fp_dp1) | |
TEST_ (fp_dp2) | |
TEST (fp_dp3) | |
TEST_ (fp_compare) | |
TEST_ (fp_cond_compare) | |
TEST_ (fp_select) | |
TEST_ (fcvt_scvtf_ucvtf) | |
TEST_ (system_mrs) | |
TEST_ (system_msr) | |
TEST_ (system_nop) | |
TEST_ (debug) | |
TEST_ (hlt) | |
TEST_ (brk) | |
TEST_ (add_sub_negative) | |
TEST_ (logical_immediate_move) | |
TEST_ (barriers) | |
#define CLEANUP | ( | ) |
Definition at line 85 of file test-disasm-arm64.cc.
#define COMPARE | ( | ASM, | |
EXP | |||
) |
Definition at line 61 of file test-disasm-arm64.cc.
#define COMPARE_PREFIX | ( | ASM, | |
EXP | |||
) |
Definition at line 73 of file test-disasm-arm64.cc.
Referenced by TEST_().
#define EXP_SIZE (256) |
Definition at line 45 of file test-disasm-arm64.cc.
#define INST_OFF | ( | x | ) | ((x) >> kInstructionSizeLog2) |
Referenced by TEST_().
#define INSTR_SIZE (1024) |
Definition at line 46 of file test-disasm-arm64.cc.
#define RESULT_SIZE (256) |
Referenced by TEST_().
#define SET_UP | ( | ) | SET_UP_CLASS(Assembler) |
Definition at line 59 of file test-disasm-arm64.cc.
#define SET_UP_CLASS | ( | ASMCLASS | ) |
Definition at line 47 of file test-disasm-arm64.cc.
Definition at line 43 of file test-disasm-arm64.cc.
TEST | ( | move_immediate_2 | ) |
Definition at line 203 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, and SET_UP_CLASS.
TEST | ( | maddl_msubl | ) |
Definition at line 478 of file test-disasm-arm64.cc.
TEST | ( | cond_select_macro | ) |
Definition at line 1317 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::eq, v8::internal::hs, v8::internal::lo, v8::internal::mi, v8::internal::ne, v8::internal::pl, and SET_UP_CLASS.
TEST | ( | fp_dp3 | ) |
Definition at line 1445 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d10, v8::internal::d11, v8::internal::d12, v8::internal::s10, v8::internal::s7, v8::internal::s8, v8::internal::s9, and SET_UP.
TEST_ | ( | bootstrap | ) |
Definition at line 102 of file test-disasm-arm64.cc.
TEST_ | ( | mov_mvn | ) |
Definition at line 132 of file test-disasm-arm64.cc.
References v8::internal::ASR, CLEANUP, COMPARE, v8::internal::LSL, SET_UP_CLASS, v8::internal::SXTH, v8::internal::SXTW, and v8::internal::UXTB.
TEST_ | ( | move_immediate | ) |
Definition at line 166 of file test-disasm-arm64.cc.
TEST_ | ( | add_immediate | ) |
Definition at line 259 of file test-disasm-arm64.cc.
TEST_ | ( | sub_immediate | ) |
Definition at line 289 of file test-disasm-arm64.cc.
TEST_ | ( | add_shifted | ) |
Definition at line 317 of file test-disasm-arm64.cc.
References v8::internal::ASR, CLEANUP, COMPARE, v8::internal::cp, v8::internal::LSL, v8::internal::LSR, and SET_UP.
TEST_ | ( | sub_shifted | ) |
Definition at line 343 of file test-disasm-arm64.cc.
References v8::internal::ASR, CLEANUP, COMPARE, v8::internal::cp, v8::internal::lr, v8::internal::LSL, v8::internal::LSR, and SET_UP.
TEST_ | ( | add_extended | ) |
Definition at line 373 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::fp, v8::internal::LSL, SET_UP, v8::internal::SXTB, v8::internal::SXTH, v8::internal::SXTW, v8::internal::SXTX, v8::internal::UXTB, v8::internal::UXTH, v8::internal::UXTW, and v8::internal::UXTX.
TEST_ | ( | sub_extended | ) |
Definition at line 399 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::fp, v8::internal::LSL, SET_UP, v8::internal::SXTB, v8::internal::SXTH, v8::internal::SXTW, v8::internal::SXTX, v8::internal::UXTB, v8::internal::UXTH, v8::internal::UXTW, and v8::internal::UXTX.
TEST_ | ( | adc_subc_ngc | ) |
Definition at line 425 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::lr, and SET_UP.
TEST_ | ( | mul_and_div | ) |
Definition at line 445 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::lr, and SET_UP.
TEST_ | ( | dp_1_source | ) |
Definition at line 495 of file test-disasm-arm64.cc.
TEST_ | ( | bitfield | ) |
Definition at line 514 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::lr, and SET_UP.
TEST_ | ( | extract | ) |
Definition at line 556 of file test-disasm-arm64.cc.
TEST_ | ( | logical_immediate | ) |
Definition at line 570 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::fp, v8::internal::L, RESULT_SIZE, and SET_UP.
TEST_ | ( | logical_shifted | ) |
Definition at line 696 of file test-disasm-arm64.cc.
References v8::internal::ASR, CLEANUP, COMPARE, v8::internal::LSL, v8::internal::LSR, v8::internal::ROR, and SET_UP.
TEST_ | ( | dp_2_source | ) |
Definition at line 766 of file test-disasm-arm64.cc.
TEST_ | ( | adr | ) |
Definition at line 782 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE_PREFIX, and SET_UP.
TEST_ | ( | branch | ) |
Definition at line 798 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, COMPARE_PREFIX, v8::internal::eq, INST_OFF, v8::internal::lr, v8::internal::mi, and SET_UP.
TEST_ | ( | load_store | ) |
Definition at line 835 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::PostIndex, v8::internal::PreIndex, and SET_UP.
TEST_ | ( | load_store_regoffset | ) |
Definition at line 892 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::LSL, SET_UP, v8::internal::SXTW, v8::internal::SXTX, and v8::internal::UXTW.
TEST_ | ( | load_store_byte | ) |
Definition at line 977 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::fp, v8::internal::PostIndex, v8::internal::PreIndex, and SET_UP.
TEST_ | ( | load_store_half | ) |
Definition at line 1009 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::fp, v8::internal::PostIndex, v8::internal::PreIndex, and SET_UP.
TEST_ | ( | load_store_fp | ) |
Definition at line 1045 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d10, v8::internal::d18, v8::internal::d20, v8::internal::d22, v8::internal::d25, v8::internal::d27, v8::internal::d6, v8::internal::d8, v8::internal::PostIndex, v8::internal::PreIndex, v8::internal::s0, v8::internal::s12, v8::internal::s14, v8::internal::s16, v8::internal::s2, v8::internal::s24, v8::internal::s26, v8::internal::s4, and SET_UP.
TEST_ | ( | load_store_unscaled | ) |
Definition at line 1097 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::fp, v8::internal::lr, and SET_UP.
TEST_ | ( | load_store_pair | ) |
Definition at line 1130 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::cp, v8::internal::d0, v8::internal::d17, v8::internal::d18, v8::internal::d2, v8::internal::d20, v8::internal::d21, v8::internal::d23, v8::internal::d24, v8::internal::d26, v8::internal::d27, v8::internal::d29, v8::internal::d3, v8::internal::d30, v8::internal::d31, v8::internal::fp, v8::internal::PostIndex, v8::internal::PreIndex, v8::internal::s0, v8::internal::s17, v8::internal::s18, v8::internal::s2, v8::internal::s20, v8::internal::s21, v8::internal::s23, v8::internal::s24, v8::internal::s26, v8::internal::s27, v8::internal::s29, v8::internal::s3, v8::internal::s30, v8::internal::s31, and SET_UP.
TEST_ | ( | load_store_pair_nontemp | ) |
Definition at line 1250 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d1, v8::internal::d2, v8::internal::d27, v8::internal::d28, v8::internal::d30, v8::internal::d31, v8::internal::fp, v8::internal::s18, v8::internal::s19, v8::internal::s21, v8::internal::s22, v8::internal::s24, v8::internal::s25, and SET_UP.
TEST_ | ( | cond_select | ) |
Definition at line 1282 of file test-disasm-arm64.cc.
References v8::internal::al, CLEANUP, COMPARE, v8::internal::cp, v8::internal::eq, v8::internal::ge, v8::internal::gt, v8::internal::hi, v8::internal::hs, v8::internal::le, v8::internal::lo, v8::internal::lr, v8::internal::ls, v8::internal::lt, v8::internal::mi, v8::internal::ne, v8::internal::nv, v8::internal::pl, SET_UP, v8::internal::vc, and v8::internal::vs.
TEST_ | ( | cond_cmp | ) |
Definition at line 1331 of file test-disasm-arm64.cc.
References v8::internal::al, CLEANUP, COMPARE, v8::internal::eq, v8::internal::hs, v8::internal::lo, v8::internal::mi, v8::internal::NCFlag, v8::internal::ne, v8::internal::NFlag, v8::internal::NoFlag, v8::internal::nv, v8::internal::NVFlag, v8::internal::NZCFlag, v8::internal::NZCVFlag, v8::internal::NZFlag, v8::internal::NZVFlag, v8::internal::pl, SET_UP, v8::internal::vc, v8::internal::vs, and v8::internal::ZVFlag.
TEST_ | ( | cond_cmp_macro | ) |
Definition at line 1349 of file test-disasm-arm64.cc.
References v8::internal::CFlag, CLEANUP, COMPARE, v8::internal::CVFlag, v8::internal::ge, v8::internal::gt, v8::internal::hi, v8::internal::ls, SET_UP_CLASS, v8::internal::VFlag, and v8::internal::ZCVFlag.
TEST_ | ( | fmov_imm | ) |
Definition at line 1361 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d1, v8::internal::d29, v8::internal::s0, v8::internal::s31, and SET_UP.
TEST_ | ( | fmov_reg | ) |
Definition at line 1373 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d22, v8::internal::d23, v8::internal::d26, v8::internal::d31, v8::internal::s11, v8::internal::s12, v8::internal::s13, and SET_UP.
TEST_ | ( | fp_dp1 | ) |
Definition at line 1387 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d10, v8::internal::d11, v8::internal::d12, v8::internal::d13, v8::internal::d14, v8::internal::d2, v8::internal::d3, v8::internal::d30, v8::internal::d31, v8::internal::d6, v8::internal::d7, v8::internal::s0, v8::internal::s1, v8::internal::s10, v8::internal::s11, v8::internal::s15, v8::internal::s30, v8::internal::s31, v8::internal::s4, v8::internal::s5, v8::internal::s8, v8::internal::s9, and SET_UP.
TEST_ | ( | fp_dp2 | ) |
Definition at line 1421 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d10, v8::internal::d11, v8::internal::d12, v8::internal::d16, v8::internal::d17, v8::internal::d18, v8::internal::d2, v8::internal::d22, v8::internal::d23, v8::internal::d24, v8::internal::d28, v8::internal::d29, v8::internal::d3, v8::internal::d30, v8::internal::d31, v8::internal::d4, v8::internal::d5, v8::internal::d8, v8::internal::d9, v8::internal::s0, v8::internal::s1, v8::internal::s13, v8::internal::s14, v8::internal::s15, v8::internal::s19, v8::internal::s2, v8::internal::s20, v8::internal::s21, v8::internal::s25, v8::internal::s26, v8::internal::s27, v8::internal::s29, v8::internal::s30, v8::internal::s31, v8::internal::s5, v8::internal::s6, v8::internal::s7, v8::internal::s8, v8::internal::s9, and SET_UP.
TEST_ | ( | fp_compare | ) |
Definition at line 1462 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d0, v8::internal::d1, v8::internal::d12, v8::internal::d30, v8::internal::d31, v8::internal::s0, v8::internal::s1, v8::internal::s12, v8::internal::s30, v8::internal::s31, and SET_UP.
TEST_ | ( | fp_cond_compare | ) |
Definition at line 1476 of file test-disasm-arm64.cc.
References v8::internal::al, v8::internal::CFlag, CLEANUP, COMPARE, v8::internal::CVFlag, v8::internal::d0, v8::internal::d16, v8::internal::d17, v8::internal::d30, v8::internal::d31, v8::internal::d4, v8::internal::d5, v8::internal::d6, v8::internal::d7, v8::internal::eq, v8::internal::gt, v8::internal::hs, v8::internal::le, v8::internal::NCFlag, v8::internal::ne, v8::internal::NFlag, v8::internal::NoFlag, v8::internal::nv, v8::internal::NZCVFlag, v8::internal::NZFlag, v8::internal::pl, v8::internal::s0, v8::internal::s1, v8::internal::s14, v8::internal::s15, v8::internal::s16, v8::internal::s2, v8::internal::s3, v8::internal::s30, v8::internal::s31, SET_UP, v8::internal::vc, v8::internal::VFlag, v8::internal::vs, v8::internal::ZFlag, and v8::internal::ZVFlag.
TEST_ | ( | fp_select | ) |
Definition at line 1494 of file test-disasm-arm64.cc.
References v8::internal::al, CLEANUP, COMPARE, v8::internal::d0, v8::internal::d1, v8::internal::d17, v8::internal::d18, v8::internal::d19, v8::internal::d2, v8::internal::d30, v8::internal::d31, v8::internal::eq, v8::internal::mi, v8::internal::ne, v8::internal::nv, v8::internal::pl, v8::internal::s0, v8::internal::s1, v8::internal::s14, v8::internal::s15, v8::internal::s16, v8::internal::s2, v8::internal::s30, v8::internal::s31, and SET_UP.
TEST_ | ( | fcvt_scvtf_ucvtf | ) |
Definition at line 1508 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::d0, v8::internal::d1, v8::internal::d11, v8::internal::d13, v8::internal::d15, v8::internal::d17, v8::internal::d19, v8::internal::d21, v8::internal::d23, v8::internal::d24, v8::internal::d26, v8::internal::d28, v8::internal::d3, v8::internal::d5, v8::internal::d7, v8::internal::d9, v8::internal::s0, v8::internal::s1, v8::internal::s11, v8::internal::s17, v8::internal::s19, v8::internal::s21, v8::internal::s23, v8::internal::s24, v8::internal::s26, v8::internal::s28, v8::internal::s3, v8::internal::s5, v8::internal::s7, v8::internal::s9, and SET_UP.
TEST_ | ( | system_mrs | ) |
Definition at line 1570 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::FPCR, v8::internal::lr, v8::internal::NZCV, and SET_UP.
TEST_ | ( | system_msr | ) |
Definition at line 1581 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, v8::internal::FPCR, v8::internal::NZCV, and SET_UP.
TEST_ | ( | system_nop | ) |
Definition at line 1592 of file test-disasm-arm64.cc.
TEST_ | ( | debug | ) |
Definition at line 1601 of file test-disasm-arm64.cc.
References ASSERT, CLEANUP, COMPARE, v8::internal::kImmExceptionIsDebug, v8::internal::NO_PARAM, and SET_UP.
TEST_ | ( | hlt | ) |
Definition at line 1620 of file test-disasm-arm64.cc.
TEST_ | ( | brk | ) |
Definition at line 1631 of file test-disasm-arm64.cc.
TEST_ | ( | add_sub_negative | ) |
Definition at line 1642 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, and SET_UP_CLASS.
TEST_ | ( | logical_immediate_move | ) |
Definition at line 1673 of file test-disasm-arm64.cc.
References CLEANUP, COMPARE, and SET_UP_CLASS.
TEST_ | ( | barriers | ) |
Definition at line 1712 of file test-disasm-arm64.cc.
References v8::internal::BarrierAll, v8::internal::BarrierOther, v8::internal::BarrierReads, v8::internal::BarrierWrites, CLEANUP, COMPARE, v8::internal::FullSystem, v8::internal::InnerShareable, v8::internal::NonShareable, v8::internal::OuterShareable, and SET_UP_CLASS.