OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 1023 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1034 static ExternalReference page_flags(Page* page); | 1034 static ExternalReference page_flags(Page* page); |
1035 | 1035 |
1036 static ExternalReference ForDeoptEntry(Address entry); | 1036 static ExternalReference ForDeoptEntry(Address entry); |
1037 | 1037 |
1038 static ExternalReference cpu_features(); | 1038 static ExternalReference cpu_features(); |
1039 | 1039 |
1040 static ExternalReference is_tail_call_elimination_enabled_address( | 1040 static ExternalReference is_tail_call_elimination_enabled_address( |
1041 Isolate* isolate); | 1041 Isolate* isolate); |
1042 | 1042 |
1043 static ExternalReference debug_is_active_address(Isolate* isolate); | 1043 static ExternalReference debug_is_active_address(Isolate* isolate); |
| 1044 static ExternalReference debug_hook_on_function_call_address( |
| 1045 Isolate* isolate); |
1044 static ExternalReference debug_after_break_target_address(Isolate* isolate); | 1046 static ExternalReference debug_after_break_target_address(Isolate* isolate); |
1045 | 1047 |
1046 static ExternalReference is_profiling_address(Isolate* isolate); | 1048 static ExternalReference is_profiling_address(Isolate* isolate); |
1047 static ExternalReference invoke_function_callback(Isolate* isolate); | 1049 static ExternalReference invoke_function_callback(Isolate* isolate); |
1048 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); | 1050 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); |
1049 | 1051 |
1050 static ExternalReference promise_hook_address(Isolate* isolate); | 1052 static ExternalReference promise_hook_address(Isolate* isolate); |
1051 | 1053 |
1052 V8_EXPORT_PRIVATE static ExternalReference runtime_function_table_address( | 1054 V8_EXPORT_PRIVATE static ExternalReference runtime_function_table_address( |
1053 Isolate* isolate); | 1055 Isolate* isolate); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1140 class CallWrapper { | 1142 class CallWrapper { |
1141 public: | 1143 public: |
1142 CallWrapper() { } | 1144 CallWrapper() { } |
1143 virtual ~CallWrapper() { } | 1145 virtual ~CallWrapper() { } |
1144 // Called just before emitting a call. Argument is the size of the generated | 1146 // Called just before emitting a call. Argument is the size of the generated |
1145 // call code. | 1147 // call code. |
1146 virtual void BeforeCall(int call_size) const = 0; | 1148 virtual void BeforeCall(int call_size) const = 0; |
1147 // Called just after emitting a call, i.e., at the return site for the call. | 1149 // Called just after emitting a call, i.e., at the return site for the call. |
1148 virtual void AfterCall() const = 0; | 1150 virtual void AfterCall() const = 0; |
1149 // Return whether call needs to check for debug stepping. | 1151 // Return whether call needs to check for debug stepping. |
1150 virtual bool NeedsDebugStepCheck() const { return false; } | 1152 virtual bool NeedsDebugHookCheck() const { return false; } |
1151 }; | 1153 }; |
1152 | 1154 |
1153 | 1155 |
1154 class NullCallWrapper : public CallWrapper { | 1156 class NullCallWrapper : public CallWrapper { |
1155 public: | 1157 public: |
1156 NullCallWrapper() { } | 1158 NullCallWrapper() { } |
1157 virtual ~NullCallWrapper() { } | 1159 virtual ~NullCallWrapper() { } |
1158 virtual void BeforeCall(int call_size) const { } | 1160 virtual void BeforeCall(int call_size) const { } |
1159 virtual void AfterCall() const { } | 1161 virtual void AfterCall() const { } |
1160 }; | 1162 }; |
1161 | 1163 |
1162 | 1164 |
1163 class CheckDebugStepCallWrapper : public CallWrapper { | 1165 class CheckDebugStepCallWrapper : public CallWrapper { |
1164 public: | 1166 public: |
1165 CheckDebugStepCallWrapper() {} | 1167 CheckDebugStepCallWrapper() {} |
1166 virtual ~CheckDebugStepCallWrapper() {} | 1168 virtual ~CheckDebugStepCallWrapper() {} |
1167 virtual void BeforeCall(int call_size) const {} | 1169 virtual void BeforeCall(int call_size) const {} |
1168 virtual void AfterCall() const {} | 1170 virtual void AfterCall() const {} |
1169 virtual bool NeedsDebugStepCheck() const { return true; } | 1171 virtual bool NeedsDebugHookCheck() const { return true; } |
1170 }; | 1172 }; |
1171 | 1173 |
1172 | 1174 |
1173 // ----------------------------------------------------------------------------- | 1175 // ----------------------------------------------------------------------------- |
1174 // Constant pool support | 1176 // Constant pool support |
1175 | 1177 |
1176 class ConstantPoolEntry { | 1178 class ConstantPoolEntry { |
1177 public: | 1179 public: |
1178 ConstantPoolEntry() {} | 1180 ConstantPoolEntry() {} |
1179 ConstantPoolEntry(int position, intptr_t value, bool sharing_ok) | 1181 ConstantPoolEntry(int position, intptr_t value, bool sharing_ok) |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1285 std::vector<ConstantPoolEntry> shared_entries; | 1287 std::vector<ConstantPoolEntry> shared_entries; |
1286 }; | 1288 }; |
1287 | 1289 |
1288 Label emitted_label_; // Records pc_offset of emitted pool | 1290 Label emitted_label_; // Records pc_offset of emitted pool |
1289 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1291 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1290 }; | 1292 }; |
1291 | 1293 |
1292 } // namespace internal | 1294 } // namespace internal |
1293 } // namespace v8 | 1295 } // namespace v8 |
1294 #endif // V8_ASSEMBLER_H_ | 1296 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |