summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-assembler-arm64.cc
diff options
context:
space:
mode:
authorUjjwal Sharma <usharma1998@gmail.com>2019-03-15 18:35:06 +0530
committerRefael Ackermann <refack@gmail.com>2019-03-28 16:36:18 -0400
commitf579e1194046c50f2e6bb54348d48c8e7d1a53cf (patch)
tree9125787c758358365f74f9fd9673c14f57e67870 /deps/v8/test/cctest/test-assembler-arm64.cc
parent2c73868b0471fbd4038f500d076df056cbf697fe (diff)
downloadandroid-node-v8-f579e1194046c50f2e6bb54348d48c8e7d1a53cf.tar.gz
android-node-v8-f579e1194046c50f2e6bb54348d48c8e7d1a53cf.tar.bz2
android-node-v8-f579e1194046c50f2e6bb54348d48c8e7d1a53cf.zip
deps: update V8 to 7.4.288.13
PR-URL: https://github.com/nodejs/node/pull/26685 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
Diffstat (limited to 'deps/v8/test/cctest/test-assembler-arm64.cc')
-rw-r--r--deps/v8/test/cctest/test-assembler-arm64.cc82
1 files changed, 71 insertions, 11 deletions
diff --git a/deps/v8/test/cctest/test-assembler-arm64.cc b/deps/v8/test/cctest/test-assembler-arm64.cc
index a500c9cb51..44a54df80e 100644
--- a/deps/v8/test/cctest/test-assembler-arm64.cc
+++ b/deps/v8/test/cctest/test-assembler-arm64.cc
@@ -162,7 +162,10 @@ static void InitializeVM() {
core.Dump(&masm); \
__ PopCalleeSavedRegisters(); \
__ Ret(); \
- __ GetCode(masm.isolate(), nullptr);
+ { \
+ CodeDesc desc; \
+ __ GetCode(masm.isolate(), &desc); \
+ }
#else // ifdef USE_SIMULATOR.
// Run the test on real hardware or models.
@@ -198,11 +201,14 @@ static void InitializeVM() {
test_function(); \
}
-#define END() \
- core.Dump(&masm); \
- __ PopCalleeSavedRegisters(); \
- __ Ret(); \
- __ GetCode(masm.isolate(), nullptr);
+#define END() \
+ core.Dump(&masm); \
+ __ PopCalleeSavedRegisters(); \
+ __ Ret(); \
+ { \
+ CodeDesc desc; \
+ __ GetCode(masm.isolate(), &desc); \
+ }
#endif // ifdef USE_SIMULATOR.
@@ -405,6 +411,60 @@ TEST(mov) {
CHECK_EQUAL_64(0x000000000001FFE0UL, x27);
}
+TEST(move_pair) {
+ INIT_V8();
+ SETUP();
+
+ START();
+ __ Mov(x0, 0xabababab);
+ __ Mov(x1, 0xbabababa);
+ __ Mov(x2, 0x12341234);
+ __ Mov(x3, 0x43214321);
+
+ // No overlap:
+ // x4 <- x0
+ // x5 <- x1
+ __ MovePair(x4, x0, x5, x1);
+
+ // Overlap but we can swap moves:
+ // x2 <- x0
+ // x6 <- x2
+ __ MovePair(x2, x0, x6, x2);
+
+ // Overlap but can be done:
+ // x7 <- x3
+ // x3 <- x0
+ __ MovePair(x7, x3, x3, x0);
+
+ // Swap.
+ // x0 <- x1
+ // x1 <- x0
+ __ MovePair(x0, x1, x1, x0);
+
+ END();
+
+ RUN();
+
+ // x4 <- x0
+ // x5 <- x1
+ CHECK_EQUAL_64(0xabababab, x4);
+ CHECK_EQUAL_64(0xbabababa, x5);
+
+ // x2 <- x0
+ // x6 <- x2
+ CHECK_EQUAL_64(0xabababab, x2);
+ CHECK_EQUAL_64(0x12341234, x6);
+
+ // x7 <- x3
+ // x3 <- x0
+ CHECK_EQUAL_64(0x43214321, x7);
+ CHECK_EQUAL_64(0xabababab, x3);
+
+ // x0 and x1 should be swapped.
+ CHECK_EQUAL_64(0xbabababa, x0);
+ CHECK_EQUAL_64(0xabababab, x1);
+}
+
TEST(mov_imm_w) {
INIT_V8();
SETUP();
@@ -2160,7 +2220,7 @@ TEST(far_branch_veneer_broken_link_chain) {
START();
- Label skip, fail, done;
+ Label fail, done;
Label test_1, test_2, test_3;
Label far_target;
@@ -14525,7 +14585,7 @@ static void AbsHelperX(int64_t value) {
__ Mov(x1, value);
if (value != kXMinInt) {
- expected = labs(value);
+ expected = std::abs(value);
Label next;
// The result is representable.
@@ -14535,7 +14595,7 @@ static void AbsHelperX(int64_t value) {
__ Bind(&next);
__ Abs(x13, x1, nullptr, &done);
} else {
- // labs is undefined for kXMinInt but our implementation in the
+ // std::abs is undefined for kXMinInt but our implementation in the
// MacroAssembler will return kXMinInt in such a case.
expected = kXMinInt;
@@ -14715,7 +14775,7 @@ TEST(jump_tables_forward) {
Label base;
__ Adr(x10, &base);
- __ Ldr(x11, MemOperand(x10, index, LSL, kPointerSizeLog2));
+ __ Ldr(x11, MemOperand(x10, index, LSL, kSystemPointerSizeLog2));
__ Br(x11);
__ Bind(&base);
for (int i = 0; i < kNumCases; ++i) {
@@ -14783,7 +14843,7 @@ TEST(jump_tables_backward) {
Label base;
__ Adr(x10, &base);
- __ Ldr(x11, MemOperand(x10, index, LSL, kPointerSizeLog2));
+ __ Ldr(x11, MemOperand(x10, index, LSL, kSystemPointerSizeLog2));
__ Br(x11);
__ Bind(&base);
for (int i = 0; i < kNumCases; ++i) {