Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Side by Side Diff: test/cctest/test-macro-assembler-x64.cc

Issue 1476763002: Make whether or not a Code object should be created by masm explicit (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: enum class FTW Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/cctest/test-macro-assembler-mips64.cc ('k') | test/cctest/test-macro-assembler-x87.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 147
148 // Test that we can move a Smi value literally into a register. 148 // Test that we can move a Smi value literally into a register.
149 TEST(SmiMove) { 149 TEST(SmiMove) {
150 // Allocate an executable page of memory. 150 // Allocate an executable page of memory.
151 size_t actual_size; 151 size_t actual_size;
152 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 152 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
153 Assembler::kMinimalBufferSize, &actual_size, true)); 153 Assembler::kMinimalBufferSize, &actual_size, true));
154 CHECK(buffer); 154 CHECK(buffer);
155 Isolate* isolate = CcTest::i_isolate(); 155 Isolate* isolate = CcTest::i_isolate();
156 HandleScope handles(isolate); 156 HandleScope handles(isolate);
157 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 157 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
158 v8::internal::CodeObjectRequired::kYes);
158 MacroAssembler* masm = &assembler; // Create a pointer for the __ macro. 159 MacroAssembler* masm = &assembler; // Create a pointer for the __ macro.
159 EntryCode(masm); 160 EntryCode(masm);
160 Label exit; 161 Label exit;
161 162
162 TestMoveSmi(masm, &exit, 1, Smi::FromInt(0)); 163 TestMoveSmi(masm, &exit, 1, Smi::FromInt(0));
163 TestMoveSmi(masm, &exit, 2, Smi::FromInt(127)); 164 TestMoveSmi(masm, &exit, 2, Smi::FromInt(127));
164 TestMoveSmi(masm, &exit, 3, Smi::FromInt(128)); 165 TestMoveSmi(masm, &exit, 3, Smi::FromInt(128));
165 TestMoveSmi(masm, &exit, 4, Smi::FromInt(255)); 166 TestMoveSmi(masm, &exit, 4, Smi::FromInt(255));
166 TestMoveSmi(masm, &exit, 5, Smi::FromInt(256)); 167 TestMoveSmi(masm, &exit, 5, Smi::FromInt(256));
167 TestMoveSmi(masm, &exit, 6, Smi::FromInt(Smi::kMaxValue)); 168 TestMoveSmi(masm, &exit, 6, Smi::FromInt(Smi::kMaxValue));
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 233
233 // Test that we can compare smis for equality (and more). 234 // Test that we can compare smis for equality (and more).
234 TEST(SmiCompare) { 235 TEST(SmiCompare) {
235 // Allocate an executable page of memory. 236 // Allocate an executable page of memory.
236 size_t actual_size; 237 size_t actual_size;
237 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 238 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
238 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 239 Assembler::kMinimalBufferSize * 2, &actual_size, true));
239 CHECK(buffer); 240 CHECK(buffer);
240 Isolate* isolate = CcTest::i_isolate(); 241 Isolate* isolate = CcTest::i_isolate();
241 HandleScope handles(isolate); 242 HandleScope handles(isolate);
242 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 243 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
244 v8::internal::CodeObjectRequired::kYes);
243 245
244 MacroAssembler* masm = &assembler; 246 MacroAssembler* masm = &assembler;
245 EntryCode(masm); 247 EntryCode(masm);
246 Label exit; 248 Label exit;
247 249
248 TestSmiCompare(masm, &exit, 0x10, 0, 0); 250 TestSmiCompare(masm, &exit, 0x10, 0, 0);
249 TestSmiCompare(masm, &exit, 0x20, 0, 1); 251 TestSmiCompare(masm, &exit, 0x20, 0, 1);
250 TestSmiCompare(masm, &exit, 0x30, 1, 0); 252 TestSmiCompare(masm, &exit, 0x30, 1, 0);
251 TestSmiCompare(masm, &exit, 0x40, 1, 1); 253 TestSmiCompare(masm, &exit, 0x40, 1, 1);
252 TestSmiCompare(masm, &exit, 0x50, 0, -1); 254 TestSmiCompare(masm, &exit, 0x50, 0, -1);
(...skipping 27 matching lines...) Expand all
280 282
281 283
282 TEST(Integer32ToSmi) { 284 TEST(Integer32ToSmi) {
283 // Allocate an executable page of memory. 285 // Allocate an executable page of memory.
284 size_t actual_size; 286 size_t actual_size;
285 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 287 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
286 Assembler::kMinimalBufferSize, &actual_size, true)); 288 Assembler::kMinimalBufferSize, &actual_size, true));
287 CHECK(buffer); 289 CHECK(buffer);
288 Isolate* isolate = CcTest::i_isolate(); 290 Isolate* isolate = CcTest::i_isolate();
289 HandleScope handles(isolate); 291 HandleScope handles(isolate);
290 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 292 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
293 v8::internal::CodeObjectRequired::kYes);
291 294
292 MacroAssembler* masm = &assembler; 295 MacroAssembler* masm = &assembler;
293 EntryCode(masm); 296 EntryCode(masm);
294 Label exit; 297 Label exit;
295 298
296 __ movq(rax, Immediate(1)); // Test number. 299 __ movq(rax, Immediate(1)); // Test number.
297 __ movl(rcx, Immediate(0)); 300 __ movl(rcx, Immediate(0));
298 __ Integer32ToSmi(rcx, rcx); 301 __ Integer32ToSmi(rcx, rcx);
299 __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(0))); 302 __ Set(rdx, reinterpret_cast<intptr_t>(Smi::FromInt(0)));
300 __ cmpq(rcx, rdx); 303 __ cmpq(rcx, rdx);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 409
407 410
408 TEST(Integer64PlusConstantToSmi) { 411 TEST(Integer64PlusConstantToSmi) {
409 // Allocate an executable page of memory. 412 // Allocate an executable page of memory.
410 size_t actual_size; 413 size_t actual_size;
411 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 414 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
412 Assembler::kMinimalBufferSize, &actual_size, true)); 415 Assembler::kMinimalBufferSize, &actual_size, true));
413 CHECK(buffer); 416 CHECK(buffer);
414 Isolate* isolate = CcTest::i_isolate(); 417 Isolate* isolate = CcTest::i_isolate();
415 HandleScope handles(isolate); 418 HandleScope handles(isolate);
416 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 419 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
420 v8::internal::CodeObjectRequired::kYes);
417 421
418 MacroAssembler* masm = &assembler; 422 MacroAssembler* masm = &assembler;
419 EntryCode(masm); 423 EntryCode(masm);
420 Label exit; 424 Label exit;
421 425
422 int64_t twice_max = static_cast<int64_t>(Smi::kMaxValue) * 2; 426 int64_t twice_max = static_cast<int64_t>(Smi::kMaxValue) * 2;
423 427
424 TestI64PlusConstantToSmi(masm, &exit, 0x10, 0, 0); 428 TestI64PlusConstantToSmi(masm, &exit, 0x10, 0, 0);
425 TestI64PlusConstantToSmi(masm, &exit, 0x20, 0, 1); 429 TestI64PlusConstantToSmi(masm, &exit, 0x20, 0, 1);
426 TestI64PlusConstantToSmi(masm, &exit, 0x30, 1, 0); 430 TestI64PlusConstantToSmi(masm, &exit, 0x30, 1, 0);
(...skipping 21 matching lines...) Expand all
448 452
449 453
450 TEST(SmiCheck) { 454 TEST(SmiCheck) {
451 // Allocate an executable page of memory. 455 // Allocate an executable page of memory.
452 size_t actual_size; 456 size_t actual_size;
453 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 457 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
454 Assembler::kMinimalBufferSize, &actual_size, true)); 458 Assembler::kMinimalBufferSize, &actual_size, true));
455 CHECK(buffer); 459 CHECK(buffer);
456 Isolate* isolate = CcTest::i_isolate(); 460 Isolate* isolate = CcTest::i_isolate();
457 HandleScope handles(isolate); 461 HandleScope handles(isolate);
458 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 462 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
463 v8::internal::CodeObjectRequired::kYes);
459 464
460 MacroAssembler* masm = &assembler; 465 MacroAssembler* masm = &assembler;
461 EntryCode(masm); 466 EntryCode(masm);
462 Label exit; 467 Label exit;
463 Condition cond; 468 Condition cond;
464 469
465 __ movl(rax, Immediate(1)); // Test number. 470 __ movl(rax, Immediate(1)); // Test number.
466 471
467 // CheckSmi 472 // CheckSmi
468 473
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 672
668 673
669 TEST(SmiNeg) { 674 TEST(SmiNeg) {
670 // Allocate an executable page of memory. 675 // Allocate an executable page of memory.
671 size_t actual_size; 676 size_t actual_size;
672 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 677 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
673 Assembler::kMinimalBufferSize, &actual_size, true)); 678 Assembler::kMinimalBufferSize, &actual_size, true));
674 CHECK(buffer); 679 CHECK(buffer);
675 Isolate* isolate = CcTest::i_isolate(); 680 Isolate* isolate = CcTest::i_isolate();
676 HandleScope handles(isolate); 681 HandleScope handles(isolate);
677 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 682 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
683 v8::internal::CodeObjectRequired::kYes);
678 684
679 MacroAssembler* masm = &assembler; 685 MacroAssembler* masm = &assembler;
680 EntryCode(masm); 686 EntryCode(masm);
681 Label exit; 687 Label exit;
682 688
683 TestSmiNeg(masm, &exit, 0x10, 0); 689 TestSmiNeg(masm, &exit, 0x10, 0);
684 TestSmiNeg(masm, &exit, 0x20, 1); 690 TestSmiNeg(masm, &exit, 0x20, 1);
685 TestSmiNeg(masm, &exit, 0x30, -1); 691 TestSmiNeg(masm, &exit, 0x30, -1);
686 TestSmiNeg(masm, &exit, 0x40, 127); 692 TestSmiNeg(masm, &exit, 0x40, 127);
687 TestSmiNeg(masm, &exit, 0x50, 65535); 693 TestSmiNeg(masm, &exit, 0x50, 65535);
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 884
879 885
880 TEST(SmiAdd) { 886 TEST(SmiAdd) {
881 // Allocate an executable page of memory. 887 // Allocate an executable page of memory.
882 size_t actual_size; 888 size_t actual_size;
883 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 889 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
884 Assembler::kMinimalBufferSize * 3, &actual_size, true)); 890 Assembler::kMinimalBufferSize * 3, &actual_size, true));
885 CHECK(buffer); 891 CHECK(buffer);
886 Isolate* isolate = CcTest::i_isolate(); 892 Isolate* isolate = CcTest::i_isolate();
887 HandleScope handles(isolate); 893 HandleScope handles(isolate);
888 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 894 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
895 v8::internal::CodeObjectRequired::kYes);
889 896
890 MacroAssembler* masm = &assembler; 897 MacroAssembler* masm = &assembler;
891 EntryCode(masm); 898 EntryCode(masm);
892 Label exit; 899 Label exit;
893 900
894 // No-overflow tests. 901 // No-overflow tests.
895 SmiAddTest(masm, &exit, 0x10, 1, 2); 902 SmiAddTest(masm, &exit, 0x10, 1, 2);
896 SmiAddTest(masm, &exit, 0x20, 1, -2); 903 SmiAddTest(masm, &exit, 0x20, 1, -2);
897 SmiAddTest(masm, &exit, 0x30, -1, 2); 904 SmiAddTest(masm, &exit, 0x30, -1, 2);
898 SmiAddTest(masm, &exit, 0x40, -1, -2); 905 SmiAddTest(masm, &exit, 0x40, -1, -2);
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1094 1101
1095 1102
1096 TEST(SmiSub) { 1103 TEST(SmiSub) {
1097 // Allocate an executable page of memory. 1104 // Allocate an executable page of memory.
1098 size_t actual_size; 1105 size_t actual_size;
1099 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1106 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1100 Assembler::kMinimalBufferSize * 4, &actual_size, true)); 1107 Assembler::kMinimalBufferSize * 4, &actual_size, true));
1101 CHECK(buffer); 1108 CHECK(buffer);
1102 Isolate* isolate = CcTest::i_isolate(); 1109 Isolate* isolate = CcTest::i_isolate();
1103 HandleScope handles(isolate); 1110 HandleScope handles(isolate);
1104 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1111 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1112 v8::internal::CodeObjectRequired::kYes);
1105 1113
1106 MacroAssembler* masm = &assembler; 1114 MacroAssembler* masm = &assembler;
1107 EntryCode(masm); 1115 EntryCode(masm);
1108 Label exit; 1116 Label exit;
1109 1117
1110 SmiSubTest(masm, &exit, 0x10, 1, 2); 1118 SmiSubTest(masm, &exit, 0x10, 1, 2);
1111 SmiSubTest(masm, &exit, 0x20, 1, -2); 1119 SmiSubTest(masm, &exit, 0x20, 1, -2);
1112 SmiSubTest(masm, &exit, 0x30, -1, 2); 1120 SmiSubTest(masm, &exit, 0x30, -1, 2);
1113 SmiSubTest(masm, &exit, 0x40, -1, -2); 1121 SmiSubTest(masm, &exit, 0x40, -1, -2);
1114 SmiSubTest(masm, &exit, 0x50, 0x1000, 0x2000); 1122 SmiSubTest(masm, &exit, 0x50, 0x1000, 0x2000);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 1190
1183 1191
1184 TEST(SmiMul) { 1192 TEST(SmiMul) {
1185 // Allocate an executable page of memory. 1193 // Allocate an executable page of memory.
1186 size_t actual_size; 1194 size_t actual_size;
1187 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1195 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1188 Assembler::kMinimalBufferSize, &actual_size, true)); 1196 Assembler::kMinimalBufferSize, &actual_size, true));
1189 CHECK(buffer); 1197 CHECK(buffer);
1190 Isolate* isolate = CcTest::i_isolate(); 1198 Isolate* isolate = CcTest::i_isolate();
1191 HandleScope handles(isolate); 1199 HandleScope handles(isolate);
1192 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1200 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1201 v8::internal::CodeObjectRequired::kYes);
1193 1202
1194 MacroAssembler* masm = &assembler; 1203 MacroAssembler* masm = &assembler;
1195 EntryCode(masm); 1204 EntryCode(masm);
1196 Label exit; 1205 Label exit;
1197 1206
1198 TestSmiMul(masm, &exit, 0x10, 0, 0); 1207 TestSmiMul(masm, &exit, 0x10, 0, 0);
1199 TestSmiMul(masm, &exit, 0x20, -1, 0); 1208 TestSmiMul(masm, &exit, 0x20, -1, 0);
1200 TestSmiMul(masm, &exit, 0x30, 0, -1); 1209 TestSmiMul(masm, &exit, 0x30, 0, -1);
1201 TestSmiMul(masm, &exit, 0x40, -1, -1); 1210 TestSmiMul(masm, &exit, 0x40, -1, -1);
1202 TestSmiMul(masm, &exit, 0x50, 0x10000, 0x10000); 1211 TestSmiMul(masm, &exit, 0x50, 0x10000, 0x10000);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 1294
1286 1295
1287 TEST(SmiDiv) { 1296 TEST(SmiDiv) {
1288 // Allocate an executable page of memory. 1297 // Allocate an executable page of memory.
1289 size_t actual_size; 1298 size_t actual_size;
1290 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1299 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1291 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 1300 Assembler::kMinimalBufferSize * 2, &actual_size, true));
1292 CHECK(buffer); 1301 CHECK(buffer);
1293 Isolate* isolate = CcTest::i_isolate(); 1302 Isolate* isolate = CcTest::i_isolate();
1294 HandleScope handles(isolate); 1303 HandleScope handles(isolate);
1295 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1304 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1305 v8::internal::CodeObjectRequired::kYes);
1296 1306
1297 MacroAssembler* masm = &assembler; 1307 MacroAssembler* masm = &assembler;
1298 EntryCode(masm); 1308 EntryCode(masm);
1299 Label exit; 1309 Label exit;
1300 1310
1301 __ pushq(r14); 1311 __ pushq(r14);
1302 __ pushq(r15); 1312 __ pushq(r15);
1303 TestSmiDiv(masm, &exit, 0x10, 1, 1); 1313 TestSmiDiv(masm, &exit, 0x10, 1, 1);
1304 TestSmiDiv(masm, &exit, 0x20, 1, 0); 1314 TestSmiDiv(masm, &exit, 0x20, 1, 0);
1305 TestSmiDiv(masm, &exit, 0x30, -1, 0); 1315 TestSmiDiv(masm, &exit, 0x30, -1, 0);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1392 1402
1393 1403
1394 TEST(SmiMod) { 1404 TEST(SmiMod) {
1395 // Allocate an executable page of memory. 1405 // Allocate an executable page of memory.
1396 size_t actual_size; 1406 size_t actual_size;
1397 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1407 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1398 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 1408 Assembler::kMinimalBufferSize * 2, &actual_size, true));
1399 CHECK(buffer); 1409 CHECK(buffer);
1400 Isolate* isolate = CcTest::i_isolate(); 1410 Isolate* isolate = CcTest::i_isolate();
1401 HandleScope handles(isolate); 1411 HandleScope handles(isolate);
1402 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1412 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1413 v8::internal::CodeObjectRequired::kYes);
1403 1414
1404 MacroAssembler* masm = &assembler; 1415 MacroAssembler* masm = &assembler;
1405 EntryCode(masm); 1416 EntryCode(masm);
1406 Label exit; 1417 Label exit;
1407 1418
1408 __ pushq(r14); 1419 __ pushq(r14);
1409 __ pushq(r15); 1420 __ pushq(r15);
1410 TestSmiMod(masm, &exit, 0x10, 1, 1); 1421 TestSmiMod(masm, &exit, 0x10, 1, 1);
1411 TestSmiMod(masm, &exit, 0x20, 1, 0); 1422 TestSmiMod(masm, &exit, 0x20, 1, 0);
1412 TestSmiMod(masm, &exit, 0x30, -1, 0); 1423 TestSmiMod(masm, &exit, 0x30, -1, 0);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
1486 1497
1487 1498
1488 TEST(SmiIndex) { 1499 TEST(SmiIndex) {
1489 // Allocate an executable page of memory. 1500 // Allocate an executable page of memory.
1490 size_t actual_size; 1501 size_t actual_size;
1491 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1502 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1492 Assembler::kMinimalBufferSize * 5, &actual_size, true)); 1503 Assembler::kMinimalBufferSize * 5, &actual_size, true));
1493 CHECK(buffer); 1504 CHECK(buffer);
1494 Isolate* isolate = CcTest::i_isolate(); 1505 Isolate* isolate = CcTest::i_isolate();
1495 HandleScope handles(isolate); 1506 HandleScope handles(isolate);
1496 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1507 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1508 v8::internal::CodeObjectRequired::kYes);
1497 1509
1498 MacroAssembler* masm = &assembler; 1510 MacroAssembler* masm = &assembler;
1499 EntryCode(masm); 1511 EntryCode(masm);
1500 Label exit; 1512 Label exit;
1501 1513
1502 TestSmiIndex(masm, &exit, 0x10, 0); 1514 TestSmiIndex(masm, &exit, 0x10, 0);
1503 TestSmiIndex(masm, &exit, 0x20, 1); 1515 TestSmiIndex(masm, &exit, 0x20, 1);
1504 TestSmiIndex(masm, &exit, 0x30, 100); 1516 TestSmiIndex(masm, &exit, 0x30, 100);
1505 TestSmiIndex(masm, &exit, 0x40, 1000); 1517 TestSmiIndex(masm, &exit, 0x40, 1000);
1506 TestSmiIndex(masm, &exit, 0x50, Smi::kMaxValue); 1518 TestSmiIndex(masm, &exit, 0x50, Smi::kMaxValue);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1552 1564
1553 1565
1554 TEST(SmiSelectNonSmi) { 1566 TEST(SmiSelectNonSmi) {
1555 // Allocate an executable page of memory. 1567 // Allocate an executable page of memory.
1556 size_t actual_size; 1568 size_t actual_size;
1557 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1569 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1558 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 1570 Assembler::kMinimalBufferSize * 2, &actual_size, true));
1559 CHECK(buffer); 1571 CHECK(buffer);
1560 Isolate* isolate = CcTest::i_isolate(); 1572 Isolate* isolate = CcTest::i_isolate();
1561 HandleScope handles(isolate); 1573 HandleScope handles(isolate);
1562 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1574 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1575 v8::internal::CodeObjectRequired::kYes);
1563 1576
1564 MacroAssembler* masm = &assembler; 1577 MacroAssembler* masm = &assembler;
1565 EntryCode(masm); 1578 EntryCode(masm);
1566 Label exit; 1579 Label exit;
1567 1580
1568 TestSelectNonSmi(masm, &exit, 0x10, 0, 0); 1581 TestSelectNonSmi(masm, &exit, 0x10, 0, 0);
1569 TestSelectNonSmi(masm, &exit, 0x20, 0, 1); 1582 TestSelectNonSmi(masm, &exit, 0x20, 0, 1);
1570 TestSelectNonSmi(masm, &exit, 0x30, 1, 0); 1583 TestSelectNonSmi(masm, &exit, 0x30, 1, 0);
1571 TestSelectNonSmi(masm, &exit, 0x40, 0, -1); 1584 TestSelectNonSmi(masm, &exit, 0x40, 0, -1);
1572 TestSelectNonSmi(masm, &exit, 0x50, -1, 0); 1585 TestSelectNonSmi(masm, &exit, 0x50, -1, 0);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 1641
1629 1642
1630 TEST(SmiAnd) { 1643 TEST(SmiAnd) {
1631 // Allocate an executable page of memory. 1644 // Allocate an executable page of memory.
1632 size_t actual_size; 1645 size_t actual_size;
1633 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1646 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1634 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 1647 Assembler::kMinimalBufferSize * 2, &actual_size, true));
1635 CHECK(buffer); 1648 CHECK(buffer);
1636 Isolate* isolate = CcTest::i_isolate(); 1649 Isolate* isolate = CcTest::i_isolate();
1637 HandleScope handles(isolate); 1650 HandleScope handles(isolate);
1638 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1651 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1652 v8::internal::CodeObjectRequired::kYes);
1639 1653
1640 MacroAssembler* masm = &assembler; 1654 MacroAssembler* masm = &assembler;
1641 EntryCode(masm); 1655 EntryCode(masm);
1642 Label exit; 1656 Label exit;
1643 1657
1644 TestSmiAnd(masm, &exit, 0x10, 0, 0); 1658 TestSmiAnd(masm, &exit, 0x10, 0, 0);
1645 TestSmiAnd(masm, &exit, 0x20, 0, 1); 1659 TestSmiAnd(masm, &exit, 0x20, 0, 1);
1646 TestSmiAnd(masm, &exit, 0x30, 1, 0); 1660 TestSmiAnd(masm, &exit, 0x30, 1, 0);
1647 TestSmiAnd(masm, &exit, 0x40, 0, -1); 1661 TestSmiAnd(masm, &exit, 0x40, 0, -1);
1648 TestSmiAnd(masm, &exit, 0x50, -1, 0); 1662 TestSmiAnd(masm, &exit, 0x50, -1, 0);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1706 1720
1707 1721
1708 TEST(SmiOr) { 1722 TEST(SmiOr) {
1709 // Allocate an executable page of memory. 1723 // Allocate an executable page of memory.
1710 size_t actual_size; 1724 size_t actual_size;
1711 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1725 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1712 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 1726 Assembler::kMinimalBufferSize * 2, &actual_size, true));
1713 CHECK(buffer); 1727 CHECK(buffer);
1714 Isolate* isolate = CcTest::i_isolate(); 1728 Isolate* isolate = CcTest::i_isolate();
1715 HandleScope handles(isolate); 1729 HandleScope handles(isolate);
1716 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1730 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1731 v8::internal::CodeObjectRequired::kYes);
1717 1732
1718 MacroAssembler* masm = &assembler; 1733 MacroAssembler* masm = &assembler;
1719 EntryCode(masm); 1734 EntryCode(masm);
1720 Label exit; 1735 Label exit;
1721 1736
1722 TestSmiOr(masm, &exit, 0x10, 0, 0); 1737 TestSmiOr(masm, &exit, 0x10, 0, 0);
1723 TestSmiOr(masm, &exit, 0x20, 0, 1); 1738 TestSmiOr(masm, &exit, 0x20, 0, 1);
1724 TestSmiOr(masm, &exit, 0x30, 1, 0); 1739 TestSmiOr(masm, &exit, 0x30, 1, 0);
1725 TestSmiOr(masm, &exit, 0x40, 0, -1); 1740 TestSmiOr(masm, &exit, 0x40, 0, -1);
1726 TestSmiOr(masm, &exit, 0x50, -1, 0); 1741 TestSmiOr(masm, &exit, 0x50, -1, 0);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1786 1801
1787 1802
1788 TEST(SmiXor) { 1803 TEST(SmiXor) {
1789 // Allocate an executable page of memory. 1804 // Allocate an executable page of memory.
1790 size_t actual_size; 1805 size_t actual_size;
1791 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1806 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1792 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 1807 Assembler::kMinimalBufferSize * 2, &actual_size, true));
1793 CHECK(buffer); 1808 CHECK(buffer);
1794 Isolate* isolate = CcTest::i_isolate(); 1809 Isolate* isolate = CcTest::i_isolate();
1795 HandleScope handles(isolate); 1810 HandleScope handles(isolate);
1796 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1811 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1812 v8::internal::CodeObjectRequired::kYes);
1797 1813
1798 MacroAssembler* masm = &assembler; 1814 MacroAssembler* masm = &assembler;
1799 EntryCode(masm); 1815 EntryCode(masm);
1800 Label exit; 1816 Label exit;
1801 1817
1802 TestSmiXor(masm, &exit, 0x10, 0, 0); 1818 TestSmiXor(masm, &exit, 0x10, 0, 0);
1803 TestSmiXor(masm, &exit, 0x20, 0, 1); 1819 TestSmiXor(masm, &exit, 0x20, 0, 1);
1804 TestSmiXor(masm, &exit, 0x30, 1, 0); 1820 TestSmiXor(masm, &exit, 0x30, 1, 0);
1805 TestSmiXor(masm, &exit, 0x40, 0, -1); 1821 TestSmiXor(masm, &exit, 0x40, 0, -1);
1806 TestSmiXor(masm, &exit, 0x50, -1, 0); 1822 TestSmiXor(masm, &exit, 0x50, -1, 0);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1850 1866
1851 1867
1852 TEST(SmiNot) { 1868 TEST(SmiNot) {
1853 // Allocate an executable page of memory. 1869 // Allocate an executable page of memory.
1854 size_t actual_size; 1870 size_t actual_size;
1855 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1871 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1856 Assembler::kMinimalBufferSize, &actual_size, true)); 1872 Assembler::kMinimalBufferSize, &actual_size, true));
1857 CHECK(buffer); 1873 CHECK(buffer);
1858 Isolate* isolate = CcTest::i_isolate(); 1874 Isolate* isolate = CcTest::i_isolate();
1859 HandleScope handles(isolate); 1875 HandleScope handles(isolate);
1860 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1876 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1877 v8::internal::CodeObjectRequired::kYes);
1861 1878
1862 MacroAssembler* masm = &assembler; 1879 MacroAssembler* masm = &assembler;
1863 EntryCode(masm); 1880 EntryCode(masm);
1864 Label exit; 1881 Label exit;
1865 1882
1866 TestSmiNot(masm, &exit, 0x10, 0); 1883 TestSmiNot(masm, &exit, 0x10, 0);
1867 TestSmiNot(masm, &exit, 0x20, 1); 1884 TestSmiNot(masm, &exit, 0x20, 1);
1868 TestSmiNot(masm, &exit, 0x30, -1); 1885 TestSmiNot(masm, &exit, 0x30, -1);
1869 TestSmiNot(masm, &exit, 0x40, 127); 1886 TestSmiNot(masm, &exit, 0x40, 127);
1870 TestSmiNot(masm, &exit, 0x50, 65535); 1887 TestSmiNot(masm, &exit, 0x50, 65535);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1943 1960
1944 1961
1945 TEST(SmiShiftLeft) { 1962 TEST(SmiShiftLeft) {
1946 // Allocate an executable page of memory. 1963 // Allocate an executable page of memory.
1947 size_t actual_size; 1964 size_t actual_size;
1948 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 1965 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
1949 Assembler::kMinimalBufferSize * 7, &actual_size, true)); 1966 Assembler::kMinimalBufferSize * 7, &actual_size, true));
1950 CHECK(buffer); 1967 CHECK(buffer);
1951 Isolate* isolate = CcTest::i_isolate(); 1968 Isolate* isolate = CcTest::i_isolate();
1952 HandleScope handles(isolate); 1969 HandleScope handles(isolate);
1953 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 1970 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
1971 v8::internal::CodeObjectRequired::kYes);
1954 1972
1955 MacroAssembler* masm = &assembler; 1973 MacroAssembler* masm = &assembler;
1956 EntryCode(masm); 1974 EntryCode(masm);
1957 Label exit; 1975 Label exit;
1958 1976
1959 TestSmiShiftLeft(masm, &exit, 0x10, 0); 1977 TestSmiShiftLeft(masm, &exit, 0x10, 0);
1960 TestSmiShiftLeft(masm, &exit, 0x50, 1); 1978 TestSmiShiftLeft(masm, &exit, 0x50, 1);
1961 TestSmiShiftLeft(masm, &exit, 0x90, 127); 1979 TestSmiShiftLeft(masm, &exit, 0x90, 127);
1962 TestSmiShiftLeft(masm, &exit, 0xD0, 65535); 1980 TestSmiShiftLeft(masm, &exit, 0xD0, 65535);
1963 TestSmiShiftLeft(masm, &exit, 0x110, Smi::kMaxValue); 1981 TestSmiShiftLeft(masm, &exit, 0x110, Smi::kMaxValue);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
2046 2064
2047 2065
2048 TEST(SmiShiftLogicalRight) { 2066 TEST(SmiShiftLogicalRight) {
2049 // Allocate an executable page of memory. 2067 // Allocate an executable page of memory.
2050 size_t actual_size; 2068 size_t actual_size;
2051 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 2069 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
2052 Assembler::kMinimalBufferSize * 5, &actual_size, true)); 2070 Assembler::kMinimalBufferSize * 5, &actual_size, true));
2053 CHECK(buffer); 2071 CHECK(buffer);
2054 Isolate* isolate = CcTest::i_isolate(); 2072 Isolate* isolate = CcTest::i_isolate();
2055 HandleScope handles(isolate); 2073 HandleScope handles(isolate);
2056 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 2074 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
2075 v8::internal::CodeObjectRequired::kYes);
2057 2076
2058 MacroAssembler* masm = &assembler; 2077 MacroAssembler* masm = &assembler;
2059 EntryCode(masm); 2078 EntryCode(masm);
2060 Label exit; 2079 Label exit;
2061 2080
2062 TestSmiShiftLogicalRight(masm, &exit, 0x10, 0); 2081 TestSmiShiftLogicalRight(masm, &exit, 0x10, 0);
2063 TestSmiShiftLogicalRight(masm, &exit, 0x30, 1); 2082 TestSmiShiftLogicalRight(masm, &exit, 0x30, 1);
2064 TestSmiShiftLogicalRight(masm, &exit, 0x50, 127); 2083 TestSmiShiftLogicalRight(masm, &exit, 0x50, 127);
2065 TestSmiShiftLogicalRight(masm, &exit, 0x70, 65535); 2084 TestSmiShiftLogicalRight(masm, &exit, 0x70, 65535);
2066 TestSmiShiftLogicalRight(masm, &exit, 0x90, Smi::kMaxValue); 2085 TestSmiShiftLogicalRight(masm, &exit, 0x90, Smi::kMaxValue);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
2112 2131
2113 2132
2114 TEST(SmiShiftArithmeticRight) { 2133 TEST(SmiShiftArithmeticRight) {
2115 // Allocate an executable page of memory. 2134 // Allocate an executable page of memory.
2116 size_t actual_size; 2135 size_t actual_size;
2117 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 2136 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
2118 Assembler::kMinimalBufferSize * 3, &actual_size, true)); 2137 Assembler::kMinimalBufferSize * 3, &actual_size, true));
2119 CHECK(buffer); 2138 CHECK(buffer);
2120 Isolate* isolate = CcTest::i_isolate(); 2139 Isolate* isolate = CcTest::i_isolate();
2121 HandleScope handles(isolate); 2140 HandleScope handles(isolate);
2122 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 2141 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
2142 v8::internal::CodeObjectRequired::kYes);
2123 2143
2124 MacroAssembler* masm = &assembler; 2144 MacroAssembler* masm = &assembler;
2125 EntryCode(masm); 2145 EntryCode(masm);
2126 Label exit; 2146 Label exit;
2127 2147
2128 TestSmiShiftArithmeticRight(masm, &exit, 0x10, 0); 2148 TestSmiShiftArithmeticRight(masm, &exit, 0x10, 0);
2129 TestSmiShiftArithmeticRight(masm, &exit, 0x20, 1); 2149 TestSmiShiftArithmeticRight(masm, &exit, 0x20, 1);
2130 TestSmiShiftArithmeticRight(masm, &exit, 0x30, 127); 2150 TestSmiShiftArithmeticRight(masm, &exit, 0x30, 127);
2131 TestSmiShiftArithmeticRight(masm, &exit, 0x40, 65535); 2151 TestSmiShiftArithmeticRight(masm, &exit, 0x40, 65535);
2132 TestSmiShiftArithmeticRight(masm, &exit, 0x50, Smi::kMaxValue); 2152 TestSmiShiftArithmeticRight(masm, &exit, 0x50, Smi::kMaxValue);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
2173 2193
2174 2194
2175 TEST(PositiveSmiTimesPowerOfTwoToInteger64) { 2195 TEST(PositiveSmiTimesPowerOfTwoToInteger64) {
2176 // Allocate an executable page of memory. 2196 // Allocate an executable page of memory.
2177 size_t actual_size; 2197 size_t actual_size;
2178 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 2198 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
2179 Assembler::kMinimalBufferSize * 4, &actual_size, true)); 2199 Assembler::kMinimalBufferSize * 4, &actual_size, true));
2180 CHECK(buffer); 2200 CHECK(buffer);
2181 Isolate* isolate = CcTest::i_isolate(); 2201 Isolate* isolate = CcTest::i_isolate();
2182 HandleScope handles(isolate); 2202 HandleScope handles(isolate);
2183 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 2203 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
2204 v8::internal::CodeObjectRequired::kYes);
2184 2205
2185 MacroAssembler* masm = &assembler; 2206 MacroAssembler* masm = &assembler;
2186 EntryCode(masm); 2207 EntryCode(masm);
2187 Label exit; 2208 Label exit;
2188 2209
2189 TestPositiveSmiPowerUp(masm, &exit, 0x20, 0); 2210 TestPositiveSmiPowerUp(masm, &exit, 0x20, 0);
2190 TestPositiveSmiPowerUp(masm, &exit, 0x40, 1); 2211 TestPositiveSmiPowerUp(masm, &exit, 0x40, 1);
2191 TestPositiveSmiPowerUp(masm, &exit, 0x60, 127); 2212 TestPositiveSmiPowerUp(masm, &exit, 0x60, 127);
2192 TestPositiveSmiPowerUp(masm, &exit, 0x80, 128); 2213 TestPositiveSmiPowerUp(masm, &exit, 0x80, 128);
2193 TestPositiveSmiPowerUp(masm, &exit, 0xA0, 255); 2214 TestPositiveSmiPowerUp(masm, &exit, 0xA0, 255);
(...skipping 19 matching lines...) Expand all
2213 uint32_t data[256]; 2234 uint32_t data[256];
2214 for (uint32_t i = 0; i < 256; i++) { data[i] = i * 0x01010101; } 2235 for (uint32_t i = 0; i < 256; i++) { data[i] = i * 0x01010101; }
2215 2236
2216 // Allocate an executable page of memory. 2237 // Allocate an executable page of memory.
2217 size_t actual_size; 2238 size_t actual_size;
2218 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 2239 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
2219 Assembler::kMinimalBufferSize * 2, &actual_size, true)); 2240 Assembler::kMinimalBufferSize * 2, &actual_size, true));
2220 CHECK(buffer); 2241 CHECK(buffer);
2221 Isolate* isolate = CcTest::i_isolate(); 2242 Isolate* isolate = CcTest::i_isolate();
2222 HandleScope handles(isolate); 2243 HandleScope handles(isolate);
2223 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 2244 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
2245 v8::internal::CodeObjectRequired::kYes);
2224 2246
2225 MacroAssembler* masm = &assembler; 2247 MacroAssembler* masm = &assembler;
2226 Label exit; 2248 Label exit;
2227 2249
2228 EntryCode(masm); 2250 EntryCode(masm);
2229 __ pushq(r13); 2251 __ pushq(r13);
2230 __ pushq(r14); 2252 __ pushq(r14);
2231 __ pushq(rbx); 2253 __ pushq(rbx);
2232 __ pushq(rbp); 2254 __ pushq(rbp);
2233 __ pushq(Immediate(0x100)); // <-- rbp 2255 __ pushq(Immediate(0x100)); // <-- rbp
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
2563 2585
2564 2586
2565 TEST(LoadAndStoreWithRepresentation) { 2587 TEST(LoadAndStoreWithRepresentation) {
2566 // Allocate an executable page of memory. 2588 // Allocate an executable page of memory.
2567 size_t actual_size; 2589 size_t actual_size;
2568 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate( 2590 byte* buffer = static_cast<byte*>(v8::base::OS::Allocate(
2569 Assembler::kMinimalBufferSize, &actual_size, true)); 2591 Assembler::kMinimalBufferSize, &actual_size, true));
2570 CHECK(buffer); 2592 CHECK(buffer);
2571 Isolate* isolate = CcTest::i_isolate(); 2593 Isolate* isolate = CcTest::i_isolate();
2572 HandleScope handles(isolate); 2594 HandleScope handles(isolate);
2573 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size)); 2595 MacroAssembler assembler(isolate, buffer, static_cast<int>(actual_size),
2596 v8::internal::CodeObjectRequired::kYes);
2574 MacroAssembler* masm = &assembler; // Create a pointer for the __ macro. 2597 MacroAssembler* masm = &assembler; // Create a pointer for the __ macro.
2575 EntryCode(masm); 2598 EntryCode(masm);
2576 __ subq(rsp, Immediate(1 * kPointerSize)); 2599 __ subq(rsp, Immediate(1 * kPointerSize));
2577 Label exit; 2600 Label exit;
2578 2601
2579 // Test 1. 2602 // Test 1.
2580 __ movq(rax, Immediate(1)); // Test number. 2603 __ movq(rax, Immediate(1)); // Test number.
2581 __ movq(Operand(rsp, 0 * kPointerSize), Immediate(0)); 2604 __ movq(Operand(rsp, 0 * kPointerSize), Immediate(0));
2582 __ movq(rcx, Immediate(-1)); 2605 __ movq(rcx, Immediate(-1));
2583 __ Store(Operand(rsp, 0 * kPointerSize), rcx, Representation::UInteger8()); 2606 __ Store(Operand(rsp, 0 * kPointerSize), rcx, Representation::UInteger8());
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
2703 2726
2704 CodeDesc desc; 2727 CodeDesc desc;
2705 masm->GetCode(&desc); 2728 masm->GetCode(&desc);
2706 // Call the function from C++. 2729 // Call the function from C++.
2707 int result = FUNCTION_CAST<F0>(buffer)(); 2730 int result = FUNCTION_CAST<F0>(buffer)();
2708 CHECK_EQ(0, result); 2731 CHECK_EQ(0, result);
2709 } 2732 }
2710 2733
2711 2734
2712 #undef __ 2735 #undef __
OLDNEW
« no previous file with comments | « test/cctest/test-macro-assembler-mips64.cc ('k') | test/cctest/test-macro-assembler-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698