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 951 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
962 } | 962 } |
963 | 963 |
964 inline Operand ContextOperand(Register context, int index) { | 964 inline Operand ContextOperand(Register context, int index) { |
965 return Operand(context, Context::SlotOffset(index)); | 965 return Operand(context, Context::SlotOffset(index)); |
966 } | 966 } |
967 | 967 |
968 inline Operand ContextOperand(Register context, Register index) { | 968 inline Operand ContextOperand(Register context, Register index) { |
969 return Operand(context, index, times_pointer_size, Context::SlotOffset(0)); | 969 return Operand(context, index, times_pointer_size, Context::SlotOffset(0)); |
970 } | 970 } |
971 | 971 |
972 inline Operand NativeContextOperand() { | 972 inline Operand GlobalObjectOperand() { |
973 return ContextOperand(esi, Context::NATIVE_CONTEXT_INDEX); | 973 return ContextOperand(esi, Context::GLOBAL_OBJECT_INDEX); |
974 } | 974 } |
975 | 975 |
976 #ifdef GENERATED_CODE_COVERAGE | 976 #ifdef GENERATED_CODE_COVERAGE |
977 extern void LogGeneratedCodeCoverage(const char* file_line); | 977 extern void LogGeneratedCodeCoverage(const char* file_line); |
978 #define CODE_COVERAGE_STRINGIFY(x) #x | 978 #define CODE_COVERAGE_STRINGIFY(x) #x |
979 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 979 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
980 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 980 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
981 #define ACCESS_MASM(masm) { \ | 981 #define ACCESS_MASM(masm) { \ |
982 byte* ia32_coverage_function = \ | 982 byte* ia32_coverage_function = \ |
983 reinterpret_cast<byte*>(FUNCTION_ADDR(LogGeneratedCodeCoverage)); \ | 983 reinterpret_cast<byte*>(FUNCTION_ADDR(LogGeneratedCodeCoverage)); \ |
984 masm->pushfd(); \ | 984 masm->pushfd(); \ |
985 masm->pushad(); \ | 985 masm->pushad(); \ |
986 masm->push(Immediate(reinterpret_cast<int>(&__FILE_LINE__))); \ | 986 masm->push(Immediate(reinterpret_cast<int>(&__FILE_LINE__))); \ |
987 masm->call(ia32_coverage_function, RelocInfo::RUNTIME_ENTRY); \ | 987 masm->call(ia32_coverage_function, RelocInfo::RUNTIME_ENTRY); \ |
988 masm->pop(eax); \ | 988 masm->pop(eax); \ |
989 masm->popad(); \ | 989 masm->popad(); \ |
990 masm->popfd(); \ | 990 masm->popfd(); \ |
991 } \ | 991 } \ |
992 masm-> | 992 masm-> |
993 #else | 993 #else |
994 #define ACCESS_MASM(masm) masm-> | 994 #define ACCESS_MASM(masm) masm-> |
995 #endif | 995 #endif |
996 | 996 |
997 } // namespace internal | 997 } // namespace internal |
998 } // namespace v8 | 998 } // namespace v8 |
999 | 999 |
1000 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1000 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |