OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
874 byte* address_; // The address of the code being patched. | 874 byte* address_; // The address of the code being patched. |
875 int size_; // Number of bytes of the expected patch size. | 875 int size_; // Number of bytes of the expected patch size. |
876 MacroAssembler masm_; // Macro assembler used to generate the code. | 876 MacroAssembler masm_; // Macro assembler used to generate the code. |
877 }; | 877 }; |
878 | 878 |
879 | 879 |
880 // ----------------------------------------------------------------------------- | 880 // ----------------------------------------------------------------------------- |
881 // Static helper functions. | 881 // Static helper functions. |
882 | 882 |
883 // Generate an Operand for loading a field from an object. | 883 // Generate an Operand for loading a field from an object. |
884 static inline Operand FieldOperand(Register object, int offset) { | 884 inline Operand FieldOperand(Register object, int offset) { |
885 return Operand(object, offset - kHeapObjectTag); | 885 return Operand(object, offset - kHeapObjectTag); |
886 } | 886 } |
887 | 887 |
888 | 888 |
889 // Generate an Operand for loading an indexed field from an object. | 889 // Generate an Operand for loading an indexed field from an object. |
890 static inline Operand FieldOperand(Register object, | 890 inline Operand FieldOperand(Register object, |
891 Register index, | 891 Register index, |
892 ScaleFactor scale, | 892 ScaleFactor scale, |
893 int offset) { | 893 int offset) { |
894 return Operand(object, index, scale, offset - kHeapObjectTag); | 894 return Operand(object, index, scale, offset - kHeapObjectTag); |
895 } | 895 } |
896 | 896 |
897 | 897 |
898 static inline Operand ContextOperand(Register context, int index) { | 898 inline Operand ContextOperand(Register context, int index) { |
899 return Operand(context, Context::SlotOffset(index)); | 899 return Operand(context, Context::SlotOffset(index)); |
900 } | 900 } |
901 | 901 |
902 | 902 |
903 static inline Operand GlobalObjectOperand() { | 903 inline Operand GlobalObjectOperand() { |
904 return ContextOperand(esi, Context::GLOBAL_INDEX); | 904 return ContextOperand(esi, Context::GLOBAL_INDEX); |
905 } | 905 } |
906 | 906 |
907 | 907 |
908 // Generates an Operand for saving parameters after PrepareCallApiFunction. | 908 // Generates an Operand for saving parameters after PrepareCallApiFunction. |
909 Operand ApiParameterOperand(int index); | 909 Operand ApiParameterOperand(int index); |
910 | 910 |
911 | 911 |
912 #ifdef GENERATED_CODE_COVERAGE | 912 #ifdef GENERATED_CODE_COVERAGE |
913 extern void LogGeneratedCodeCoverage(const char* file_line); | 913 extern void LogGeneratedCodeCoverage(const char* file_line); |
(...skipping 13 matching lines...) Expand all Loading... |
927 } \ | 927 } \ |
928 masm-> | 928 masm-> |
929 #else | 929 #else |
930 #define ACCESS_MASM(masm) masm-> | 930 #define ACCESS_MASM(masm) masm-> |
931 #endif | 931 #endif |
932 | 932 |
933 | 933 |
934 } } // namespace v8::internal | 934 } } // namespace v8::internal |
935 | 935 |
936 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 936 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |