v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <stdlib.h>
#include "v8.h"
#include "macro-assembler.h"
#include "factory.h"
#include "platform.h"
#include "serialize.h"
#include "cctest.h"
Go to the source code of this file.
Macros | |
#define | __ masm-> |
Typedefs | |
typedef int(* | F0 )() |
Functions | |
TEST (Smi) | |
TEST (SmiMove) | |
void | TestSmiCompare (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiCompare) | |
TEST (Integer32ToSmi) | |
void | TestI64PlusConstantToSmi (MacroAssembler *masm, Label *exit, int id, int64_t x, int y) |
TEST (Integer64PlusConstantToSmi) | |
TEST (SmiCheck) | |
void | TestSmiNeg (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (SmiNeg) | |
TEST (SmiAdd) | |
TEST (SmiSub) | |
void | TestSmiMul (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiMul) | |
void | TestSmiDiv (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiDiv) | |
void | TestSmiMod (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiMod) | |
void | TestSmiIndex (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (SmiIndex) | |
void | TestSelectNonSmi (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiSelectNonSmi) | |
void | TestSmiAnd (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiAnd) | |
void | TestSmiOr (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiOr) | |
void | TestSmiXor (MacroAssembler *masm, Label *exit, int id, int x, int y) |
TEST (SmiXor) | |
void | TestSmiNot (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (SmiNot) | |
void | TestSmiShiftLeft (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (SmiShiftLeft) | |
void | TestSmiShiftLogicalRight (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (SmiShiftLogicalRight) | |
void | TestSmiShiftArithmeticRight (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (SmiShiftArithmeticRight) | |
void | TestPositiveSmiPowerUp (MacroAssembler *masm, Label *exit, int id, int x) |
TEST (PositiveSmiTimesPowerOfTwoToInteger64) | |
TEST (OperandOffset) | |
TEST (LoadAndStoreWithRepresentation) | |
#define __ masm-> |
Definition at line 97 of file test-macro-assembler-x64.cc.
Referenced by TEST(), TestI64PlusConstantToSmi(), TestPositiveSmiPowerUp(), TestSelectNonSmi(), TestSmiAnd(), TestSmiCompare(), TestSmiDiv(), TestSmiIndex(), TestSmiMod(), TestSmiMul(), TestSmiNeg(), TestSmiNot(), TestSmiOr(), TestSmiShiftArithmeticRight(), TestSmiShiftLeft(), TestSmiShiftLogicalRight(), and TestSmiXor().
typedef int(* F0)() |
Definition at line 95 of file test-macro-assembler-x64.cc.
TEST | ( | Smi | ) |
Definition at line 120 of file test-macro-assembler-x64.cc.
References CHECK_EQ, Smi::FromInt(), Smi::FromIntptr(), Smi::IsValid(), Smi::kMaxValue, and Smi::kMinValue.
TEST | ( | SmiMove | ) |
Definition at line 156 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, Smi::FromInt(), CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, and v8::internal::rax.
TEST | ( | SmiCompare | ) |
Definition at line 243 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiCompare().
TEST | ( | Integer32ToSmi | ) |
Definition at line 294 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, Smi::FromInt(), CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, v8::internal::not_equal, NULL, v8::internal::r8, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
TEST | ( | Integer64PlusConstantToSmi | ) |
Definition at line 422 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestI64PlusConstantToSmi().
TEST | ( | SmiCheck | ) |
Definition at line 466 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, v8::internal::kSmiTagMask, v8::internal::NegateCondition(), NULL, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
TEST | ( | SmiNeg | ) |
Definition at line 713 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiNeg().
TEST | ( | SmiAdd | ) |
Definition at line 929 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, and v8::internal::rax.
TEST | ( | SmiSub | ) |
Definition at line 1150 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, and v8::internal::rax.
TEST | ( | SmiMul | ) |
Definition at line 1241 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiMul().
TEST | ( | SmiDiv | ) |
Definition at line 1346 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::r14, v8::internal::r15, v8::internal::rax, and TestSmiDiv().
TEST | ( | SmiMod | ) |
Definition at line 1456 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::r14, v8::internal::r15, v8::internal::rax, and TestSmiMod().
TEST | ( | SmiIndex | ) |
Definition at line 1553 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, NULL, v8::internal::rax, and TestSmiIndex().
TEST | ( | SmiSelectNonSmi | ) |
Definition at line 1622 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSelectNonSmi().
TEST | ( | SmiAnd | ) |
Definition at line 1701 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiAnd().
TEST | ( | SmiOr | ) |
Definition at line 1782 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiOr().
TEST | ( | SmiXor | ) |
Definition at line 1865 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiXor().
TEST | ( | SmiNot | ) |
Definition at line 1932 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiNot().
TEST | ( | SmiShiftLeft | ) |
Definition at line 2028 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiShiftLeft().
TEST | ( | SmiShiftLogicalRight | ) |
Definition at line 2134 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiShiftLogicalRight().
TEST | ( | SmiShiftArithmeticRight | ) |
Definition at line 2203 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, Smi::kMinValue, NULL, v8::internal::rax, and TestSmiShiftArithmeticRight().
TEST | ( | PositiveSmiTimesPowerOfTwoToInteger64 | ) |
Definition at line 2267 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), Smi::kMaxValue, AssemblerBase::kMinimalBufferSize, NULL, v8::internal::rax, and TestPositiveSmiPowerUp().
TEST | ( | OperandOffset | ) |
Definition at line 2307 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, CcTest::i_isolate(), V8::Initialize(), v8::internal::kIntSize, AssemblerBase::kMinimalBufferSize, v8::internal::kPointerSize, v8::internal::not_equal, NULL, v8::internal::r13, v8::internal::r14, v8::internal::r8, v8::internal::rax, v8::internal::rbp, v8::internal::rbx, v8::internal::rcx, v8::internal::rdx, v8::internal::rsp, and v8::internal::times_pointer_size.
TEST | ( | LoadAndStoreWithRepresentation | ) |
Definition at line 2663 of file test-macro-assembler-x64.cc.
References __, OS::Allocate(), CHECK, CHECK_EQ, Representation::External(), Representation::HeapObject(), CcTest::i_isolate(), V8::Initialize(), Representation::Integer16(), Representation::Integer32(), Representation::Integer8(), AssemblerBase::kMinimalBufferSize, v8::internal::kPointerSize, Load(), v8::internal::not_equal, NULL, v8::internal::rax, v8::internal::rcx, v8::internal::rdx, v8::internal::rsp, Representation::Smi(), Representation::Tagged(), Representation::UInteger16(), Representation::UInteger8(), and V8_2PART_UINT64_C.
void TestI64PlusConstantToSmi | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int64_t | x, | ||
int | y | ||
) |
Definition at line 396 of file test-macro-assembler-x64.cc.
References __, ASSERT, Smi::FromInt(), Smi::IsValid(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestPositiveSmiPowerUp | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 2241 of file test-macro-assembler-x64.cc.
References __, ASSERT, Smi::FromInt(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSelectNonSmi | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1589 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), v8::internal::kSmiTagMask, v8::internal::not_equal, v8::internal::r9, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSmiAnd | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1662 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSmiCompare | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 197 of file test-macro-assembler-x64.cc.
References __, ASSERT, ASSERT_EQ, Smi::FromInt(), v8::internal::greater_equal, v8::internal::less_equal, v8::internal::not_equal, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSmiDiv | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1285 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), Smi::kMinValue, v8::internal::not_equal, v8::internal::overflow, v8::internal::r11, v8::internal::r14, v8::internal::r15, v8::internal::r8, v8::internal::r9, and v8::internal::rcx.
Referenced by TEST().
void TestSmiIndex | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 1512 of file test-macro-assembler-x64.cc.
References __, ASSERT, Smi::FromInt(), v8::internal::not_equal, v8::internal::r8, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSmiMod | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1402 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), Smi::kMinValue, v8::internal::not_equal, v8::internal::r11, v8::internal::r14, v8::internal::r15, v8::internal::r8, v8::internal::r9, and v8::internal::rcx.
Referenced by TEST().
void TestSmiMul | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1199 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), Smi::FromIntptr(), Smi::IsValid(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSmiNeg | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 667 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), Smi::kMinValue, v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, and v8::internal::rcx.
Referenced by TEST().
void TestSmiNot | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 1909 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, and v8::internal::rcx.
Referenced by TEST().
void TestSmiOr | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1743 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().
void TestSmiShiftArithmeticRight | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 2172 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), v8::internal::kSmiValueSize, v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::rax, v8::internal::rcx, v8::internal::rdx, and shift.
Referenced by TEST().
void TestSmiShiftLeft | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 1971 of file test-macro-assembler-x64.cc.
References __, CHECK, Smi::FromInt(), Smi::IsValid(), v8::internal::kSmiValueSize, v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, v8::internal::rdx, and shift.
Referenced by TEST().
void TestSmiShiftLogicalRight | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x | ||
) |
Definition at line 2066 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), Smi::IsValid(), v8::internal::kSmiValueSize, v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, v8::internal::rdx, and shift.
Referenced by TEST().
void TestSmiXor | ( | MacroAssembler * | masm, |
Label * | exit, | ||
int | id, | ||
int | x, | ||
int | y | ||
) |
Definition at line 1826 of file test-macro-assembler-x64.cc.
References __, Smi::FromInt(), v8::internal::not_equal, v8::internal::r11, v8::internal::r8, v8::internal::r9, v8::internal::rax, v8::internal::rcx, and v8::internal::rdx.
Referenced by TEST().