OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_IA32_MACRO_ASSEMBLER_IA32_H_ | 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 905 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
916 // Verify restrictions about code generated in stubs. | 916 // Verify restrictions about code generated in stubs. |
917 void set_generating_stub(bool value) { generating_stub_ = value; } | 917 void set_generating_stub(bool value) { generating_stub_ = value; } |
918 bool generating_stub() { return generating_stub_; } | 918 bool generating_stub() { return generating_stub_; } |
919 void set_has_frame(bool value) { has_frame_ = value; } | 919 void set_has_frame(bool value) { has_frame_ = value; } |
920 bool has_frame() { return has_frame_; } | 920 bool has_frame() { return has_frame_; } |
921 inline bool AllowThisStubCall(CodeStub* stub); | 921 inline bool AllowThisStubCall(CodeStub* stub); |
922 | 922 |
923 // --------------------------------------------------------------------------- | 923 // --------------------------------------------------------------------------- |
924 // String utilities. | 924 // String utilities. |
925 | 925 |
926 // Generate code to do a lookup in the number string cache. If the number in | |
927 // the register object is found in the cache the generated code falls through | |
928 // with the result in the result register. The object and the result register | |
929 // can be the same. If the number is not found in the cache the code jumps to | |
930 // the label not_found with only the content of register object unchanged. | |
931 void LookupNumberStringCache(Register object, | |
932 Register result, | |
933 Register scratch1, | |
934 Register scratch2, | |
935 Label* not_found); | |
936 | |
937 // Check whether the instance type represents a flat one-byte string. Jump to | 926 // Check whether the instance type represents a flat one-byte string. Jump to |
938 // the label if not. If the instance type can be scratched specify same | 927 // the label if not. If the instance type can be scratched specify same |
939 // register for both instance type and scratch. | 928 // register for both instance type and scratch. |
940 void JumpIfInstanceTypeIsNotSequentialOneByte( | 929 void JumpIfInstanceTypeIsNotSequentialOneByte( |
941 Register instance_type, Register scratch, | 930 Register instance_type, Register scratch, |
942 Label* on_not_flat_one_byte_string); | 931 Label* on_not_flat_one_byte_string); |
943 | 932 |
944 // Checks if both objects are sequential one-byte strings, and jumps to label | 933 // Checks if both objects are sequential one-byte strings, and jumps to label |
945 // if either is not. | 934 // if either is not. |
946 void JumpIfNotBothSequentialOneByteStrings( | 935 void JumpIfNotBothSequentialOneByteStrings( |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1133 } \ | 1122 } \ |
1134 masm-> | 1123 masm-> |
1135 #else | 1124 #else |
1136 #define ACCESS_MASM(masm) masm-> | 1125 #define ACCESS_MASM(masm) masm-> |
1137 #endif | 1126 #endif |
1138 | 1127 |
1139 | 1128 |
1140 } } // namespace v8::internal | 1129 } } // namespace v8::internal |
1141 | 1130 |
1142 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1131 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |