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 1043 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1054 static ExternalReference page_flags(Page* page); | 1054 static ExternalReference page_flags(Page* page); |
1055 | 1055 |
1056 static ExternalReference ForDeoptEntry(Address entry); | 1056 static ExternalReference ForDeoptEntry(Address entry); |
1057 | 1057 |
1058 static ExternalReference cpu_features(); | 1058 static ExternalReference cpu_features(); |
1059 | 1059 |
1060 static ExternalReference is_tail_call_elimination_enabled_address( | 1060 static ExternalReference is_tail_call_elimination_enabled_address( |
1061 Isolate* isolate); | 1061 Isolate* isolate); |
1062 | 1062 |
1063 static ExternalReference debug_is_active_address(Isolate* isolate); | 1063 static ExternalReference debug_is_active_address(Isolate* isolate); |
| 1064 static ExternalReference debug_hook_on_function_call_address( |
| 1065 Isolate* isolate); |
1064 static ExternalReference debug_after_break_target_address(Isolate* isolate); | 1066 static ExternalReference debug_after_break_target_address(Isolate* isolate); |
1065 | 1067 |
1066 static ExternalReference is_profiling_address(Isolate* isolate); | 1068 static ExternalReference is_profiling_address(Isolate* isolate); |
1067 static ExternalReference invoke_function_callback(Isolate* isolate); | 1069 static ExternalReference invoke_function_callback(Isolate* isolate); |
1068 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); | 1070 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); |
1069 | 1071 |
1070 static ExternalReference promise_hook_address(Isolate* isolate); | 1072 static ExternalReference promise_hook_address(Isolate* isolate); |
1071 | 1073 |
1072 V8_EXPORT_PRIVATE static ExternalReference runtime_function_table_address( | 1074 V8_EXPORT_PRIVATE static ExternalReference runtime_function_table_address( |
1073 Isolate* isolate); | 1075 Isolate* isolate); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1160 class CallWrapper { | 1162 class CallWrapper { |
1161 public: | 1163 public: |
1162 CallWrapper() { } | 1164 CallWrapper() { } |
1163 virtual ~CallWrapper() { } | 1165 virtual ~CallWrapper() { } |
1164 // Called just before emitting a call. Argument is the size of the generated | 1166 // Called just before emitting a call. Argument is the size of the generated |
1165 // call code. | 1167 // call code. |
1166 virtual void BeforeCall(int call_size) const = 0; | 1168 virtual void BeforeCall(int call_size) const = 0; |
1167 // Called just after emitting a call, i.e., at the return site for the call. | 1169 // Called just after emitting a call, i.e., at the return site for the call. |
1168 virtual void AfterCall() const = 0; | 1170 virtual void AfterCall() const = 0; |
1169 // Return whether call needs to check for debug stepping. | 1171 // Return whether call needs to check for debug stepping. |
1170 virtual bool NeedsDebugStepCheck() const { return false; } | 1172 virtual bool NeedsDebugHookCheck() const { return false; } |
1171 }; | 1173 }; |
1172 | 1174 |
1173 | 1175 |
1174 class NullCallWrapper : public CallWrapper { | 1176 class NullCallWrapper : public CallWrapper { |
1175 public: | 1177 public: |
1176 NullCallWrapper() { } | 1178 NullCallWrapper() { } |
1177 virtual ~NullCallWrapper() { } | 1179 virtual ~NullCallWrapper() { } |
1178 virtual void BeforeCall(int call_size) const { } | 1180 virtual void BeforeCall(int call_size) const { } |
1179 virtual void AfterCall() const { } | 1181 virtual void AfterCall() const { } |
1180 }; | 1182 }; |
1181 | 1183 |
1182 | 1184 |
1183 class CheckDebugStepCallWrapper : public CallWrapper { | 1185 class CheckDebugStepCallWrapper : public CallWrapper { |
1184 public: | 1186 public: |
1185 CheckDebugStepCallWrapper() {} | 1187 CheckDebugStepCallWrapper() {} |
1186 virtual ~CheckDebugStepCallWrapper() {} | 1188 virtual ~CheckDebugStepCallWrapper() {} |
1187 virtual void BeforeCall(int call_size) const {} | 1189 virtual void BeforeCall(int call_size) const {} |
1188 virtual void AfterCall() const {} | 1190 virtual void AfterCall() const {} |
1189 virtual bool NeedsDebugStepCheck() const { return true; } | 1191 virtual bool NeedsDebugHookCheck() const { return true; } |
1190 }; | 1192 }; |
1191 | 1193 |
1192 | 1194 |
1193 // ----------------------------------------------------------------------------- | 1195 // ----------------------------------------------------------------------------- |
1194 // Constant pool support | 1196 // Constant pool support |
1195 | 1197 |
1196 class ConstantPoolEntry { | 1198 class ConstantPoolEntry { |
1197 public: | 1199 public: |
1198 ConstantPoolEntry() {} | 1200 ConstantPoolEntry() {} |
1199 ConstantPoolEntry(int position, intptr_t value, bool sharing_ok) | 1201 ConstantPoolEntry(int position, intptr_t value, bool sharing_ok) |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1305 std::vector<ConstantPoolEntry> shared_entries; | 1307 std::vector<ConstantPoolEntry> shared_entries; |
1306 }; | 1308 }; |
1307 | 1309 |
1308 Label emitted_label_; // Records pc_offset of emitted pool | 1310 Label emitted_label_; // Records pc_offset of emitted pool |
1309 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1311 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1310 }; | 1312 }; |
1311 | 1313 |
1312 } // namespace internal | 1314 } // namespace internal |
1313 } // namespace v8 | 1315 } // namespace v8 |
1314 #endif // V8_ASSEMBLER_H_ | 1316 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |