Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: src/assembler.h

Issue 1463803002: [debugger] flood function for stepping before calling it. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase, ports, deoptimize builtins Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 982 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); 993 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate);
994 994
995 static ExternalReference virtual_handler_register(Isolate* isolate); 995 static ExternalReference virtual_handler_register(Isolate* isolate);
996 static ExternalReference virtual_slot_register(Isolate* isolate); 996 static ExternalReference virtual_slot_register(Isolate* isolate);
997 997
998 static ExternalReference runtime_function_table_address(Isolate* isolate); 998 static ExternalReference runtime_function_table_address(Isolate* isolate);
999 999
1000 Address address() const { return reinterpret_cast<Address>(address_); } 1000 Address address() const { return reinterpret_cast<Address>(address_); }
1001 1001
1002 // Used to check if single stepping is enabled in generated code. 1002 // Used to check if single stepping is enabled in generated code.
1003 static ExternalReference debug_step_in_fp_address(Isolate* isolate); 1003 static ExternalReference debug_last_step_action_address(Isolate* isolate);
1004 1004
1005 #ifndef V8_INTERPRETED_REGEXP 1005 #ifndef V8_INTERPRETED_REGEXP
1006 // C functions called from RegExp generated code. 1006 // C functions called from RegExp generated code.
1007 1007
1008 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16() 1008 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16()
1009 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate); 1009 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate);
1010 1010
1011 // Function RegExpMacroAssembler*::CheckStackGuardState() 1011 // Function RegExpMacroAssembler*::CheckStackGuardState()
1012 static ExternalReference re_check_stack_guard_state(Isolate* isolate); 1012 static ExternalReference re_check_stack_guard_state(Isolate* isolate);
1013 1013
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
1143 // generate safepoint data after calls for crankshaft. 1143 // generate safepoint data after calls for crankshaft.
1144 class CallWrapper { 1144 class CallWrapper {
1145 public: 1145 public:
1146 CallWrapper() { } 1146 CallWrapper() { }
1147 virtual ~CallWrapper() { } 1147 virtual ~CallWrapper() { }
1148 // Called just before emitting a call. Argument is the size of the generated 1148 // Called just before emitting a call. Argument is the size of the generated
1149 // call code. 1149 // call code.
1150 virtual void BeforeCall(int call_size) const = 0; 1150 virtual void BeforeCall(int call_size) const = 0;
1151 // Called just after emitting a call, i.e., at the return site for the call. 1151 // Called just after emitting a call, i.e., at the return site for the call.
1152 virtual void AfterCall() const = 0; 1152 virtual void AfterCall() const = 0;
1153 // Return whether call needs to check for debug stepping.
1154 virtual bool NeedsDebugStepCheck() const { return false; }
1153 }; 1155 };
1154 1156
1157
1155 class NullCallWrapper : public CallWrapper { 1158 class NullCallWrapper : public CallWrapper {
1156 public: 1159 public:
1157 NullCallWrapper() { } 1160 NullCallWrapper() { }
1158 virtual ~NullCallWrapper() { } 1161 virtual ~NullCallWrapper() { }
1159 virtual void BeforeCall(int call_size) const { } 1162 virtual void BeforeCall(int call_size) const { }
1160 virtual void AfterCall() const { } 1163 virtual void AfterCall() const { }
1161 }; 1164 };
1162 1165
1163 1166
1167 class CheckDebugStepCallWrapper : public CallWrapper {
1168 public:
1169 CheckDebugStepCallWrapper() {}
1170 virtual ~CheckDebugStepCallWrapper() {}
1171 virtual void BeforeCall(int call_size) const {}
1172 virtual void AfterCall() const {}
1173 virtual bool NeedsDebugStepCheck() const { return true; }
1174 };
1175
1176
1164 // ----------------------------------------------------------------------------- 1177 // -----------------------------------------------------------------------------
1165 // Constant pool support 1178 // Constant pool support
1166 1179
1167 class ConstantPoolEntry { 1180 class ConstantPoolEntry {
1168 public: 1181 public:
1169 ConstantPoolEntry() {} 1182 ConstantPoolEntry() {}
1170 ConstantPoolEntry(int position, intptr_t value, bool sharing_ok) 1183 ConstantPoolEntry(int position, intptr_t value, bool sharing_ok)
1171 : position_(position), 1184 : position_(position),
1172 merged_index_(sharing_ok ? SHARING_ALLOWED : SHARING_PROHIBITED), 1185 merged_index_(sharing_ok ? SHARING_ALLOWED : SHARING_PROHIBITED),
1173 value_(value) {} 1186 value_(value) {}
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1276 std::vector<ConstantPoolEntry> shared_entries; 1289 std::vector<ConstantPoolEntry> shared_entries;
1277 }; 1290 };
1278 1291
1279 Label emitted_label_; // Records pc_offset of emitted pool 1292 Label emitted_label_; // Records pc_offset of emitted pool
1280 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; 1293 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES];
1281 }; 1294 };
1282 1295
1283 } // namespace internal 1296 } // namespace internal
1284 } // namespace v8 1297 } // namespace v8
1285 #endif // V8_ASSEMBLER_H_ 1298 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.cc ('k') | src/assembler.cc » ('j') | src/builtins.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698