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

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

Issue 311133003: ARM64: Add and use SmiTagAndPush. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/arm64/macro-assembler-arm64-inl.h » ('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 "src/globals.h" 10 #include "src/globals.h"
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after
862 inline void SmiTag(Register smi); 862 inline void SmiTag(Register smi);
863 inline void SmiUntag(Register dst, Register src); 863 inline void SmiUntag(Register dst, Register src);
864 inline void SmiUntag(Register smi); 864 inline void SmiUntag(Register smi);
865 inline void SmiUntagToDouble(FPRegister dst, 865 inline void SmiUntagToDouble(FPRegister dst,
866 Register src, 866 Register src,
867 UntagMode mode = kNotSpeculativeUntag); 867 UntagMode mode = kNotSpeculativeUntag);
868 inline void SmiUntagToFloat(FPRegister dst, 868 inline void SmiUntagToFloat(FPRegister dst,
869 Register src, 869 Register src,
870 UntagMode mode = kNotSpeculativeUntag); 870 UntagMode mode = kNotSpeculativeUntag);
871 871
872 // Tag and push in one step.
873 inline void SmiTagAndPush(Register src);
874 inline void SmiTagAndPush(Register src1, Register src2);
875
872 // Compute the absolute value of 'smi' and leave the result in 'smi' 876 // Compute the absolute value of 'smi' and leave the result in 'smi'
873 // register. If 'smi' is the most negative SMI, the absolute value cannot 877 // register. If 'smi' is the most negative SMI, the absolute value cannot
874 // be represented as a SMI and a jump to 'slow' is done. 878 // be represented as a SMI and a jump to 'slow' is done.
875 void SmiAbs(const Register& smi, Label* slow); 879 void SmiAbs(const Register& smi, Label* slow);
876 880
877 inline void JumpIfSmi(Register value, 881 inline void JumpIfSmi(Register value,
878 Label* smi_label, 882 Label* smi_label,
879 Label* not_smi_label = NULL); 883 Label* not_smi_label = NULL);
880 inline void JumpIfNotSmi(Register value, Label* not_smi_label); 884 inline void JumpIfNotSmi(Register value, Label* not_smi_label);
881 inline void JumpIfBothSmi(Register value1, 885 inline void JumpIfBothSmi(Register value1,
(...skipping 1417 matching lines...) Expand 10 before | Expand all | Expand 10 after
2299 #error "Unsupported option" 2303 #error "Unsupported option"
2300 #define CODE_COVERAGE_STRINGIFY(x) #x 2304 #define CODE_COVERAGE_STRINGIFY(x) #x
2301 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) 2305 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x)
2302 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 2306 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
2303 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 2307 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
2304 #else 2308 #else
2305 #define ACCESS_MASM(masm) masm-> 2309 #define ACCESS_MASM(masm) masm->
2306 #endif 2310 #endif
2307 2311
2308 #endif // V8_ARM64_MACRO_ASSEMBLER_ARM64_H_ 2312 #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-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698