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_X87_MACRO_ASSEMBLER_X87_H_ | 5 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ |
6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ | 6 #define V8_X87_MACRO_ASSEMBLER_X87_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 859 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
870 // Verify restrictions about code generated in stubs. | 870 // Verify restrictions about code generated in stubs. |
871 void set_generating_stub(bool value) { generating_stub_ = value; } | 871 void set_generating_stub(bool value) { generating_stub_ = value; } |
872 bool generating_stub() { return generating_stub_; } | 872 bool generating_stub() { return generating_stub_; } |
873 void set_has_frame(bool value) { has_frame_ = value; } | 873 void set_has_frame(bool value) { has_frame_ = value; } |
874 bool has_frame() { return has_frame_; } | 874 bool has_frame() { return has_frame_; } |
875 inline bool AllowThisStubCall(CodeStub* stub); | 875 inline bool AllowThisStubCall(CodeStub* stub); |
876 | 876 |
877 // --------------------------------------------------------------------------- | 877 // --------------------------------------------------------------------------- |
878 // String utilities. | 878 // String utilities. |
879 | 879 |
880 // Generate code to do a lookup in the number string cache. If the number in | |
881 // the register object is found in the cache the generated code falls through | |
882 // with the result in the result register. The object and the result register | |
883 // can be the same. If the number is not found in the cache the code jumps to | |
884 // the label not_found with only the content of register object unchanged. | |
885 void LookupNumberStringCache(Register object, | |
886 Register result, | |
887 Register scratch1, | |
888 Register scratch2, | |
889 Label* not_found); | |
890 | |
891 // Check whether the instance type represents a flat one-byte string. Jump to | 880 // Check whether the instance type represents a flat one-byte string. Jump to |
892 // the label if not. If the instance type can be scratched specify same | 881 // the label if not. If the instance type can be scratched specify same |
893 // register for both instance type and scratch. | 882 // register for both instance type and scratch. |
894 void JumpIfInstanceTypeIsNotSequentialOneByte( | 883 void JumpIfInstanceTypeIsNotSequentialOneByte( |
895 Register instance_type, Register scratch, | 884 Register instance_type, Register scratch, |
896 Label* on_not_flat_one_byte_string); | 885 Label* on_not_flat_one_byte_string); |
897 | 886 |
898 // Checks if both objects are sequential one-byte strings, and jumps to label | 887 // Checks if both objects are sequential one-byte strings, and jumps to label |
899 // if either is not. | 888 // if either is not. |
900 void JumpIfNotBothSequentialOneByteStrings( | 889 void JumpIfNotBothSequentialOneByteStrings( |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1087 } \ | 1076 } \ |
1088 masm-> | 1077 masm-> |
1089 #else | 1078 #else |
1090 #define ACCESS_MASM(masm) masm-> | 1079 #define ACCESS_MASM(masm) masm-> |
1091 #endif | 1080 #endif |
1092 | 1081 |
1093 | 1082 |
1094 } } // namespace v8::internal | 1083 } } // namespace v8::internal |
1095 | 1084 |
1096 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ | 1085 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ |
OLD | NEW |