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

Side by Side Diff: src/arm64/macro-assembler-arm64.h

Issue 255343004: ARM64: Use default-NaN mode to canonicalize NaNs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address Ulan's comments. Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/arm64/macro-assembler-arm64.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 5 #ifndef V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 6 #define V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "v8globals.h" 10 #include "v8globals.h"
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after
781 // pointer is not accessed. 781 // pointer is not accessed.
782 // 782 //
783 // This method asserts that StackPointer() is not csp, since the call does 783 // This method asserts that StackPointer() is not csp, since the call does
784 // not make sense in that context. 784 // not make sense in that context.
785 inline void BumpSystemStackPointer(const Operand& space); 785 inline void BumpSystemStackPointer(const Operand& space);
786 786
787 // Helpers ------------------------------------------------------------------ 787 // Helpers ------------------------------------------------------------------
788 // Root register. 788 // Root register.
789 inline void InitializeRootRegister(); 789 inline void InitializeRootRegister();
790 790
791 void AssertFPCRState(Register fpcr = NoReg);
792 void ConfigureFPCR();
793 void CanonicalizeNaN(const FPRegister& dst, const FPRegister& src);
794 void CanonicalizeNaN(const FPRegister& reg) {
795 CanonicalizeNaN(reg, reg);
796 }
797
791 // Load an object from the root table. 798 // Load an object from the root table.
792 void LoadRoot(CPURegister destination, 799 void LoadRoot(CPURegister destination,
793 Heap::RootListIndex index); 800 Heap::RootListIndex index);
794 // Store an object to the root table. 801 // Store an object to the root table.
795 void StoreRoot(Register source, 802 void StoreRoot(Register source,
796 Heap::RootListIndex index); 803 Heap::RootListIndex index);
797 804
798 // Load both TrueValue and FalseValue roots. 805 // Load both TrueValue and FalseValue roots.
799 void LoadTrueFalseRoots(Register true_root, Register false_root); 806 void LoadTrueFalseRoots(Register true_root, Register false_root);
800 807
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 void CheckFastObjectElements(Register map, Register scratch, Label* fail); 1533 void CheckFastObjectElements(Register map, Register scratch, Label* fail);
1527 1534
1528 // Check to see if number can be stored as a double in FastDoubleElements. 1535 // Check to see if number can be stored as a double in FastDoubleElements.
1529 // If it can, store it at the index specified by key_reg in the array, 1536 // If it can, store it at the index specified by key_reg in the array,
1530 // otherwise jump to fail. 1537 // otherwise jump to fail.
1531 void StoreNumberToDoubleElements(Register value_reg, 1538 void StoreNumberToDoubleElements(Register value_reg,
1532 Register key_reg, 1539 Register key_reg,
1533 Register elements_reg, 1540 Register elements_reg,
1534 Register scratch1, 1541 Register scratch1,
1535 FPRegister fpscratch1, 1542 FPRegister fpscratch1,
1536 FPRegister fpscratch2,
1537 Label* fail, 1543 Label* fail,
1538 int elements_offset = 0); 1544 int elements_offset = 0);
1539 1545
1540 // Picks out an array index from the hash field. 1546 // Picks out an array index from the hash field.
1541 // Register use: 1547 // Register use:
1542 // hash - holds the index's hash. Clobbered. 1548 // hash - holds the index's hash. Clobbered.
1543 // index - holds the overwritten index on exit. 1549 // index - holds the overwritten index on exit.
1544 void IndexFromHash(Register hash, Register index); 1550 void IndexFromHash(Register hash, Register index);
1545 1551
1546 // --------------------------------------------------------------------------- 1552 // ---------------------------------------------------------------------------
(...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after
2284 #error "Unsupported option" 2290 #error "Unsupported option"
2285 #define CODE_COVERAGE_STRINGIFY(x) #x 2291 #define CODE_COVERAGE_STRINGIFY(x) #x
2286 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2292 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2287 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2293 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2288 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2294 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2289 #else 2295 #else
2290 #define ACCESS_MASM(masm) masm-> 2296 #define ACCESS_MASM(masm) masm->
2291 #endif 2297 #endif
2292 2298
2293 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 2299 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_
OLDNEW
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/arm64/macro-assembler-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698