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

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

Issue 2900683002: [compiler] Delay allocation of code-embedded heap numbers. (Closed)
Patch Set: Fix rebase. Created 3 years, 6 months 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-mips.cc ('k') | test/cctest/test-macro-assembler-x64.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 100
101 __ Ld(a4, MemOperand(a0, offsetof(T, r7))); 101 __ Ld(a4, MemOperand(a0, offsetof(T, r7)));
102 __ nop(); 102 __ nop();
103 __ ByteSwapUnsigned(a4, a4, 4); 103 __ ByteSwapUnsigned(a4, a4, 4);
104 __ Sd(a4, MemOperand(a0, offsetof(T, r7))); 104 __ Sd(a4, MemOperand(a0, offsetof(T, r7)));
105 105
106 __ jr(ra); 106 __ jr(ra);
107 __ nop(); 107 __ nop();
108 108
109 CodeDesc desc; 109 CodeDesc desc;
110 masm->GetCode(&desc); 110 masm->GetCode(isolate, &desc);
111 Handle<Code> code = isolate->factory()->NewCode( 111 Handle<Code> code = isolate->factory()->NewCode(
112 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 112 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
113 ::F3 f = FUNCTION_CAST<::F3>(code->entry()); 113 ::F3 f = FUNCTION_CAST<::F3>(code->entry());
114 t.r1 = 0x5612FFCD9D327ACC; 114 t.r1 = 0x5612FFCD9D327ACC;
115 t.r2 = 0x781A15C3; 115 t.r2 = 0x781A15C3;
116 t.r3 = 0xFCDE; 116 t.r3 = 0xFCDE;
117 t.r4 = 0x9F; 117 t.r4 = 0x9F;
118 t.r5 = 0x9F; 118 t.r5 = 0x9F;
119 t.r6 = 0xFCDE; 119 t.r6 = 0xFCDE;
120 t.r7 = 0xC81A15C3; 120 t.r7 = 0xC81A15C3;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // Load constant. 152 // Load constant.
153 __ li(a5, Operand(refConstants[i])); 153 __ li(a5, Operand(refConstants[i]));
154 __ Sd(a5, MemOperand(a4)); 154 __ Sd(a5, MemOperand(a4));
155 __ Daddu(a4, a4, Operand(kPointerSize)); 155 __ Daddu(a4, a4, Operand(kPointerSize));
156 } 156 }
157 157
158 __ jr(ra); 158 __ jr(ra);
159 __ nop(); 159 __ nop();
160 160
161 CodeDesc desc; 161 CodeDesc desc;
162 masm->GetCode(&desc); 162 masm->GetCode(isolate, &desc);
163 Handle<Code> code = isolate->factory()->NewCode( 163 Handle<Code> code = isolate->factory()->NewCode(
164 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 164 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
165 165
166 ::F f = FUNCTION_CAST< ::F>(code->entry()); 166 ::F f = FUNCTION_CAST< ::F>(code->entry());
167 (void)CALL_GENERATED_CODE(isolate, f, reinterpret_cast<int64_t>(result), 0, 0, 167 (void)CALL_GENERATED_CODE(isolate, f, reinterpret_cast<int64_t>(result), 0, 0,
168 0, 0); 168 0, 0);
169 // Check results. 169 // Check results.
170 for (int i = 0; i < 64; i++) { 170 for (int i = 0; i < 64; i++) {
171 CHECK(refConstants[i] == result[i]); 171 CHECK(refConstants[i] == result[i]);
172 } 172 }
(...skipping 24 matching lines...) Expand all
197 __ jr(a4); 197 __ jr(a4);
198 __ nop(); 198 __ nop();
199 __ stop("invalid"); 199 __ stop("invalid");
200 __ stop("invalid"); 200 __ stop("invalid");
201 __ stop("invalid"); 201 __ stop("invalid");
202 __ stop("invalid"); 202 __ stop("invalid");
203 __ stop("invalid"); 203 __ stop("invalid");
204 204
205 205
206 CodeDesc desc; 206 CodeDesc desc;
207 masm->GetCode(&desc); 207 masm->GetCode(isolate, &desc);
208 Handle<Code> code = isolate->factory()->NewCode( 208 Handle<Code> code = isolate->factory()->NewCode(
209 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 209 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
210 210
211 ::F f = FUNCTION_CAST< ::F>(code->entry()); 211 ::F f = FUNCTION_CAST< ::F>(code->entry());
212 (void)CALL_GENERATED_CODE(isolate, f, 0, 0, 0, 0, 0); 212 (void)CALL_GENERATED_CODE(isolate, f, 0, 0, 0, 0, 0);
213 // Check results. 213 // Check results.
214 } 214 }
215 215
216 216
217 TEST(jump_tables4) { 217 TEST(jump_tables4) {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 255
256 __ bind(&done); 256 __ bind(&done);
257 __ Pop(ra); 257 __ Pop(ra);
258 __ jr(ra); 258 __ jr(ra);
259 __ nop(); 259 __ nop();
260 260
261 __ bind(&end); 261 __ bind(&end);
262 __ Branch(&near_start); 262 __ Branch(&near_start);
263 263
264 CodeDesc desc; 264 CodeDesc desc;
265 masm->GetCode(&desc); 265 masm->GetCode(isolate, &desc);
266 Handle<Code> code = isolate->factory()->NewCode( 266 Handle<Code> code = isolate->factory()->NewCode(
267 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 267 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
268 #ifdef OBJECT_PRINT 268 #ifdef OBJECT_PRINT
269 code->Print(std::cout); 269 code->Print(std::cout);
270 #endif 270 #endif
271 F1 f = FUNCTION_CAST<F1>(code->entry()); 271 F1 f = FUNCTION_CAST<F1>(code->entry());
272 for (int i = 0; i < kNumCases; ++i) { 272 for (int i = 0; i < kNumCases; ++i) {
273 int64_t res = reinterpret_cast<int64_t>( 273 int64_t res = reinterpret_cast<int64_t>(
274 CALL_GENERATED_CODE(isolate, f, i, 0, 0, 0, 0)); 274 CALL_GENERATED_CODE(isolate, f, i, 0, 0, 0, 0));
275 ::printf("f(%d) = %" PRId64 "\n", i, res); 275 ::printf("f(%d) = %" PRId64 "\n", i, res);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 __ jr(ra); 329 __ jr(ra);
330 __ nop(); 330 __ nop();
331 } 331 }
332 332
333 __ bind(&done); 333 __ bind(&done);
334 __ Pop(ra); 334 __ Pop(ra);
335 __ jr(ra); 335 __ jr(ra);
336 __ nop(); 336 __ nop();
337 337
338 CodeDesc desc; 338 CodeDesc desc;
339 masm->GetCode(&desc); 339 masm->GetCode(isolate, &desc);
340 Handle<Code> code = isolate->factory()->NewCode( 340 Handle<Code> code = isolate->factory()->NewCode(
341 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 341 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
342 #ifdef OBJECT_PRINT 342 #ifdef OBJECT_PRINT
343 code->Print(std::cout); 343 code->Print(std::cout);
344 #endif 344 #endif
345 F1 f = FUNCTION_CAST<F1>(code->entry()); 345 F1 f = FUNCTION_CAST<F1>(code->entry());
346 for (int i = 0; i < kNumCases; ++i) { 346 for (int i = 0; i < kNumCases; ++i) {
347 int64_t res = reinterpret_cast<int64_t>( 347 int64_t res = reinterpret_cast<int64_t>(
348 CALL_GENERATED_CODE(isolate, f, i, 0, 0, 0, 0)); 348 CALL_GENERATED_CODE(isolate, f, i, 0, 0, 0, 0));
349 ::printf("f(%d) = %" PRId64 "\n", i, res); 349 ::printf("f(%d) = %" PRId64 "\n", i, res);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 421
422 __ bind(&done); 422 __ bind(&done);
423 __ Pop(ra); 423 __ Pop(ra);
424 __ jr(ra); 424 __ jr(ra);
425 __ nop(); 425 __ nop();
426 426
427 __ bind(&end); 427 __ bind(&end);
428 __ Branch(&near_start); 428 __ Branch(&near_start);
429 429
430 CodeDesc desc; 430 CodeDesc desc;
431 masm->GetCode(&desc); 431 masm->GetCode(isolate, &desc);
432 Handle<Code> code = isolate->factory()->NewCode( 432 Handle<Code> code = isolate->factory()->NewCode(
433 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 433 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
434 #ifdef OBJECT_PRINT 434 #ifdef OBJECT_PRINT
435 code->Print(std::cout); 435 code->Print(std::cout);
436 #endif 436 #endif
437 F1 f = FUNCTION_CAST<F1>(code->entry()); 437 F1 f = FUNCTION_CAST<F1>(code->entry());
438 for (int i = 0; i < kSwitchTableCases; ++i) { 438 for (int i = 0; i < kSwitchTableCases; ++i) {
439 int64_t res = reinterpret_cast<int64_t>( 439 int64_t res = reinterpret_cast<int64_t>(
440 CALL_GENERATED_CODE(isolate, f, i, 0, 0, 0, 0)); 440 CALL_GENERATED_CODE(isolate, f, i, 0, 0, 0, 0));
441 ::printf("f(%d) = %" PRId64 "\n", i, res); 441 ::printf("f(%d) = %" PRId64 "\n", i, res);
442 CHECK_EQ(values[i], res); 442 CHECK_EQ(values[i], res);
443 } 443 }
444 } 444 }
445 445
446 static uint64_t run_lsa(uint32_t rt, uint32_t rs, int8_t sa) { 446 static uint64_t run_lsa(uint32_t rt, uint32_t rs, int8_t sa) {
447 Isolate* isolate = CcTest::i_isolate(); 447 Isolate* isolate = CcTest::i_isolate();
448 HandleScope scope(isolate); 448 HandleScope scope(isolate);
449 MacroAssembler assembler(isolate, nullptr, 0, 449 MacroAssembler assembler(isolate, nullptr, 0,
450 v8::internal::CodeObjectRequired::kYes); 450 v8::internal::CodeObjectRequired::kYes);
451 MacroAssembler* masm = &assembler; 451 MacroAssembler* masm = &assembler;
452 452
453 __ Lsa(v0, a0, a1, sa); 453 __ Lsa(v0, a0, a1, sa);
454 __ jr(ra); 454 __ jr(ra);
455 __ nop(); 455 __ nop();
456 456
457 CodeDesc desc; 457 CodeDesc desc;
458 assembler.GetCode(&desc); 458 assembler.GetCode(isolate, &desc);
459 Handle<Code> code = isolate->factory()->NewCode( 459 Handle<Code> code = isolate->factory()->NewCode(
460 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 460 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
461 461
462 F1 f = FUNCTION_CAST<F1>(code->entry()); 462 F1 f = FUNCTION_CAST<F1>(code->entry());
463 463
464 uint64_t res = reinterpret_cast<uint64_t>( 464 uint64_t res = reinterpret_cast<uint64_t>(
465 CALL_GENERATED_CODE(isolate, f, rt, rs, 0, 0, 0)); 465 CALL_GENERATED_CODE(isolate, f, rt, rs, 0, 0, 0));
466 466
467 return res; 467 return res;
468 } 468 }
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 HandleScope scope(isolate); 530 HandleScope scope(isolate);
531 MacroAssembler assembler(isolate, nullptr, 0, 531 MacroAssembler assembler(isolate, nullptr, 0,
532 v8::internal::CodeObjectRequired::kYes); 532 v8::internal::CodeObjectRequired::kYes);
533 MacroAssembler* masm = &assembler; 533 MacroAssembler* masm = &assembler;
534 534
535 __ Dlsa(v0, a0, a1, sa); 535 __ Dlsa(v0, a0, a1, sa);
536 __ jr(ra); 536 __ jr(ra);
537 __ nop(); 537 __ nop();
538 538
539 CodeDesc desc; 539 CodeDesc desc;
540 assembler.GetCode(&desc); 540 assembler.GetCode(isolate, &desc);
541 Handle<Code> code = isolate->factory()->NewCode( 541 Handle<Code> code = isolate->factory()->NewCode(
542 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 542 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
543 543
544 ::F f = FUNCTION_CAST<::F>(code->entry()); 544 ::F f = FUNCTION_CAST<::F>(code->entry());
545 545
546 uint64_t res = reinterpret_cast<uint64_t>( 546 uint64_t res = reinterpret_cast<uint64_t>(
547 CALL_GENERATED_CODE(isolate, f, rt, rs, 0, 0, 0)); 547 CALL_GENERATED_CODE(isolate, f, rt, rs, 0, 0, 0));
548 548
549 return res; 549 return res;
550 } 550 }
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 MacroAssembler assm(isolate, nullptr, 0, 682 MacroAssembler assm(isolate, nullptr, 0,
683 v8::internal::CodeObjectRequired::kYes); 683 v8::internal::CodeObjectRequired::kYes);
684 MacroAssembler* masm = &assm; 684 MacroAssembler* masm = &assm;
685 685
686 GenerateConvertInstructionFunc(masm); 686 GenerateConvertInstructionFunc(masm);
687 __ dmfc1(v0, f2); 687 __ dmfc1(v0, f2);
688 __ jr(ra); 688 __ jr(ra);
689 __ nop(); 689 __ nop();
690 690
691 CodeDesc desc; 691 CodeDesc desc;
692 assm.GetCode(&desc); 692 assm.GetCode(isolate, &desc);
693 Handle<Code> code = isolate->factory()->NewCode( 693 Handle<Code> code = isolate->factory()->NewCode(
694 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 694 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
695 695
696 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry()); 696 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry());
697 697
698 return reinterpret_cast<RET_TYPE>( 698 return reinterpret_cast<RET_TYPE>(
699 CALL_GENERATED_CODE(isolate, f, x, 0, 0, 0, 0)); 699 CALL_GENERATED_CODE(isolate, f, x, 0, 0, 0, 0));
700 } 700 }
701 701
702 TEST(Cvt_s_uw_Trunc_uw_s) { 702 TEST(Cvt_s_uw_Trunc_uw_s) {
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 HandleScope scope(isolate); 855 HandleScope scope(isolate);
856 MacroAssembler assm(isolate, nullptr, 0, 856 MacroAssembler assm(isolate, nullptr, 0,
857 v8::internal::CodeObjectRequired::kYes); 857 v8::internal::CodeObjectRequired::kYes);
858 MacroAssembler* masm = &assm; 858 MacroAssembler* masm = &assm;
859 859
860 GenerateOverflowInstructions(masm, valLeft, valRight); 860 GenerateOverflowInstructions(masm, valLeft, valRight);
861 __ jr(ra); 861 __ jr(ra);
862 __ nop(); 862 __ nop();
863 863
864 CodeDesc desc; 864 CodeDesc desc;
865 assm.GetCode(&desc); 865 assm.GetCode(isolate, &desc);
866 Handle<Code> code = isolate->factory()->NewCode( 866 Handle<Code> code = isolate->factory()->NewCode(
867 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 867 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
868 868
869 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry()); 869 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry());
870 870
871 int64_t r = 871 int64_t r =
872 reinterpret_cast<int64_t>(CALL_GENERATED_CODE(isolate, f, 0, 0, 0, 0, 0)); 872 reinterpret_cast<int64_t>(CALL_GENERATED_CODE(isolate, f, 0, 0, 0, 0, 0));
873 873
874 DCHECK(r == 0 || r == 1); 874 DCHECK(r == 0 || r == 1);
875 return r; 875 return r;
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after
1536 __ pop(s6); 1536 __ pop(s6);
1537 __ jr(ra); 1537 __ jr(ra);
1538 __ nop(); 1538 __ nop();
1539 1539
1540 handle_dnan(f10, &handle_mind_nan, &back_mind_nan); 1540 handle_dnan(f10, &handle_mind_nan, &back_mind_nan);
1541 handle_dnan(f12, &handle_maxd_nan, &back_maxd_nan); 1541 handle_dnan(f12, &handle_maxd_nan, &back_maxd_nan);
1542 handle_snan(f14, &handle_mins_nan, &back_mins_nan); 1542 handle_snan(f14, &handle_mins_nan, &back_mins_nan);
1543 handle_snan(f16, &handle_maxs_nan, &back_maxs_nan); 1543 handle_snan(f16, &handle_maxs_nan, &back_maxs_nan);
1544 1544
1545 CodeDesc desc; 1545 CodeDesc desc;
1546 masm->GetCode(&desc); 1546 masm->GetCode(isolate, &desc);
1547 Handle<Code> code = isolate->factory()->NewCode( 1547 Handle<Code> code = isolate->factory()->NewCode(
1548 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 1548 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
1549 ::F3 f = FUNCTION_CAST<::F3>(code->entry()); 1549 ::F3 f = FUNCTION_CAST<::F3>(code->entry());
1550 for (int i = 0; i < kTableLength; i++) { 1550 for (int i = 0; i < kTableLength; i++) {
1551 test.a = inputsa[i]; 1551 test.a = inputsa[i];
1552 test.b = inputsb[i]; 1552 test.b = inputsb[i];
1553 test.e = inputse[i]; 1553 test.e = inputse[i];
1554 test.f = inputsf[i]; 1554 test.f = inputsf[i];
1555 1555
1556 CALL_GENERATED_CODE(isolate, f, &test, 0, 0, 0, 0); 1556 CALL_GENERATED_CODE(isolate, f, &test, 0, 0, 0, 0);
(...skipping 15 matching lines...) Expand all
1572 MacroAssembler assm(isolate, nullptr, 0, 1572 MacroAssembler assm(isolate, nullptr, 0,
1573 v8::internal::CodeObjectRequired::kYes); 1573 v8::internal::CodeObjectRequired::kYes);
1574 MacroAssembler* masm = &assm; 1574 MacroAssembler* masm = &assm;
1575 IN_TYPE res; 1575 IN_TYPE res;
1576 1576
1577 GenerateUnalignedInstructionFunc(masm, in_offset, out_offset); 1577 GenerateUnalignedInstructionFunc(masm, in_offset, out_offset);
1578 __ jr(ra); 1578 __ jr(ra);
1579 __ nop(); 1579 __ nop();
1580 1580
1581 CodeDesc desc; 1581 CodeDesc desc;
1582 assm.GetCode(&desc); 1582 assm.GetCode(isolate, &desc);
1583 Handle<Code> code = isolate->factory()->NewCode( 1583 Handle<Code> code = isolate->factory()->NewCode(
1584 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 1584 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
1585 1585
1586 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry()); 1586 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry());
1587 1587
1588 MemCopy(memory_buffer + in_offset, &value, sizeof(IN_TYPE)); 1588 MemCopy(memory_buffer + in_offset, &value, sizeof(IN_TYPE));
1589 CALL_GENERATED_CODE(isolate, f, memory_buffer, 0, 0, 0, 0); 1589 CALL_GENERATED_CODE(isolate, f, memory_buffer, 0, 0, 0, 0);
1590 MemCopy(&res, memory_buffer + out_offset, sizeof(IN_TYPE)); 1590 MemCopy(&res, memory_buffer + out_offset, sizeof(IN_TYPE));
1591 1591
1592 return res == value; 1592 return res == value;
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
1937 HandleScope scope(isolate); 1937 HandleScope scope(isolate);
1938 MacroAssembler assm(isolate, nullptr, 0, 1938 MacroAssembler assm(isolate, nullptr, 0,
1939 v8::internal::CodeObjectRequired::kYes); 1939 v8::internal::CodeObjectRequired::kYes);
1940 MacroAssembler* masm = &assm; 1940 MacroAssembler* masm = &assm;
1941 1941
1942 GenerateSltuInstructionFunc(masm, rd); 1942 GenerateSltuInstructionFunc(masm, rd);
1943 __ jr(ra); 1943 __ jr(ra);
1944 __ nop(); 1944 __ nop();
1945 1945
1946 CodeDesc desc; 1946 CodeDesc desc;
1947 assm.GetCode(&desc); 1947 assm.GetCode(isolate, &desc);
1948 Handle<Code> code = isolate->factory()->NewCode( 1948 Handle<Code> code = isolate->factory()->NewCode(
1949 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 1949 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
1950 1950
1951 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry()); 1951 F_CVT f = FUNCTION_CAST<F_CVT>(code->entry());
1952 int64_t res = reinterpret_cast<int64_t>( 1952 int64_t res = reinterpret_cast<int64_t>(
1953 CALL_GENERATED_CODE(isolate, f, rs, rd, 0, 0, 0)); 1953 CALL_GENERATED_CODE(isolate, f, rs, rd, 0, 0, 0));
1954 return res == 1; 1954 return res == 1;
1955 } 1955 }
1956 1956
1957 TEST(Sltu) { 1957 TEST(Sltu) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
2032 2032
2033 __ bind(&ool_max_aab); 2033 __ bind(&ool_max_aab);
2034 __ Float32MaxOutOfLine(a, a, b); 2034 __ Float32MaxOutOfLine(a, a, b);
2035 __ Branch(&done_max_aab); 2035 __ Branch(&done_max_aab);
2036 2036
2037 __ bind(&ool_max_aba); 2037 __ bind(&ool_max_aba);
2038 __ Float32MaxOutOfLine(a, b, a); 2038 __ Float32MaxOutOfLine(a, b, a);
2039 __ Branch(&done_max_aba); 2039 __ Branch(&done_max_aba);
2040 2040
2041 CodeDesc desc; 2041 CodeDesc desc;
2042 masm->GetCode(&desc); 2042 masm->GetCode(masm->isolate(), &desc);
2043 Handle<Code> code = masm->isolate()->factory()->NewCode( 2043 Handle<Code> code = masm->isolate()->factory()->NewCode(
2044 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 2044 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
2045 #ifdef DEBUG 2045 #ifdef DEBUG
2046 OFStream os(stdout); 2046 OFStream os(stdout);
2047 code->Print(os); 2047 code->Print(os);
2048 #endif 2048 #endif
2049 return FUNCTION_CAST<::F4>(code->entry()); 2049 return FUNCTION_CAST<::F4>(code->entry());
2050 } 2050 }
2051 2051
2052 TEST(macro_float_minmax_f32) { 2052 TEST(macro_float_minmax_f32) {
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
2175 2175
2176 __ bind(&ool_max_aab); 2176 __ bind(&ool_max_aab);
2177 __ Float64MaxOutOfLine(a, a, b); 2177 __ Float64MaxOutOfLine(a, a, b);
2178 __ Branch(&done_max_aab); 2178 __ Branch(&done_max_aab);
2179 2179
2180 __ bind(&ool_max_aba); 2180 __ bind(&ool_max_aba);
2181 __ Float64MaxOutOfLine(a, b, a); 2181 __ Float64MaxOutOfLine(a, b, a);
2182 __ Branch(&done_max_aba); 2182 __ Branch(&done_max_aba);
2183 2183
2184 CodeDesc desc; 2184 CodeDesc desc;
2185 masm->GetCode(&desc); 2185 masm->GetCode(masm->isolate(), &desc);
2186 Handle<Code> code = masm->isolate()->factory()->NewCode( 2186 Handle<Code> code = masm->isolate()->factory()->NewCode(
2187 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 2187 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
2188 #ifdef DEBUG 2188 #ifdef DEBUG
2189 OFStream os(stdout); 2189 OFStream os(stdout);
2190 code->Print(os); 2190 code->Print(os);
2191 #endif 2191 #endif
2192 return FUNCTION_CAST<::F4>(code->entry()); 2192 return FUNCTION_CAST<::F4>(code->entry());
2193 } 2193 }
2194 2194
2195 TEST(macro_float_minmax_f64) { 2195 TEST(macro_float_minmax_f64) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2255 2255
2256 CHECK_MINMAX(0.0, nan_a, nan_a, nan_a); 2256 CHECK_MINMAX(0.0, nan_a, nan_a, nan_a);
2257 CHECK_MINMAX(nan_a, 0.0, nan_a, nan_a); 2257 CHECK_MINMAX(nan_a, 0.0, nan_a, nan_a);
2258 CHECK_MINMAX(nan_a, nan_b, nan_a, nan_a); 2258 CHECK_MINMAX(nan_a, nan_b, nan_a, nan_a);
2259 CHECK_MINMAX(nan_b, nan_a, nan_b, nan_b); 2259 CHECK_MINMAX(nan_b, nan_a, nan_b, nan_b);
2260 2260
2261 #undef CHECK_MINMAX 2261 #undef CHECK_MINMAX
2262 } 2262 }
2263 2263
2264 #undef __ 2264 #undef __
OLDNEW
« no previous file with comments | « test/cctest/test-macro-assembler-mips.cc ('k') | test/cctest/test-macro-assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698