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

Side by Side Diff: src/arm/assembler-arm.cc

Issue 763963002: [turbofan] Add checked load/store operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Reapply fix. Created 6 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 | « src/arm/assembler-arm.h ('k') | src/compiler/access-builder.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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 2467 matching lines...) Expand 10 before | Expand all | Expand 10 after
2478 DCHECK(!base.is(pc)); 2478 DCHECK(!base.is(pc));
2479 2479
2480 int sd, d; 2480 int sd, d;
2481 first.split_code(&sd, &d); 2481 first.split_code(&sd, &d);
2482 int count = last.code() - first.code() + 1; 2482 int count = last.code() - first.code() + 1;
2483 emit(cond | B27 | B26 | am | d*B22 | base.code()*B16 | sd*B12 | 2483 emit(cond | B27 | B26 | am | d*B22 | base.code()*B16 | sd*B12 |
2484 0xA*B8 | count); 2484 0xA*B8 | count);
2485 } 2485 }
2486 2486
2487 2487
2488 void Assembler::vmov(const SwVfpRegister dst, float imm) {
2489 mov(ip, Operand(bit_cast<int32_t>(imm)));
2490 vmov(dst, ip);
2491 }
2492
2493
2488 static void DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) { 2494 static void DoubleAsTwoUInt32(double d, uint32_t* lo, uint32_t* hi) {
2489 uint64_t i; 2495 uint64_t i;
2490 memcpy(&i, &d, 8); 2496 memcpy(&i, &d, 8);
2491 2497
2492 *lo = i & 0xffffffff; 2498 *lo = i & 0xffffffff;
2493 *hi = i >> 32; 2499 *hi = i >> 32;
2494 } 2500 }
2495 2501
2496 2502
2497 // Only works for little endian floating point formats. 2503 // Only works for little endian floating point formats.
(...skipping 1467 matching lines...) Expand 10 before | Expand all | Expand 10 after
3965 assm->instr_at_put( 3971 assm->instr_at_put(
3966 rinfo.pc(), Assembler::SetLdrRegisterImmediateOffset(instr, offset)); 3972 rinfo.pc(), Assembler::SetLdrRegisterImmediateOffset(instr, offset));
3967 } 3973 }
3968 } 3974 }
3969 } 3975 }
3970 3976
3971 3977
3972 } } // namespace v8::internal 3978 } } // namespace v8::internal
3973 3979
3974 #endif // V8_TARGET_ARCH_ARM 3980 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.h ('k') | src/compiler/access-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698