| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 11b51bff19635998672ae906886ba531cd081573..a1a52b6eee75ef4c97542aedafc29f5e99f347b6 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -10870,20 +10870,18 @@ class DebugInfo: public Struct {
|
| public:
|
| // The shared function info for the source being debugged.
|
| DECL_ACCESSORS(shared, SharedFunctionInfo)
|
| - // Code object for the patched code. This code object is the code object
|
| - // currently active for the function.
|
| - DECL_ACCESSORS(abstract_code, AbstractCode)
|
| +
|
| + DECL_ACCESSORS(debug_bytecode_array, Object)
|
| // Fixed array holding status information for each active break point.
|
| DECL_ACCESSORS(break_points, FixedArray)
|
|
|
| // Check if there is a break point at a source position.
|
| bool HasBreakPoint(int source_position);
|
| - // Clear a break point.
|
| - static void ClearBreakPoint(Handle<DebugInfo> debug_info, int source_position,
|
| + // Attempt to clear a break point. Return true if successful.
|
| + static bool ClearBreakPoint(Handle<DebugInfo> debug_info,
|
| Handle<Object> break_point_object);
|
| // Set a break point.
|
| static void SetBreakPoint(Handle<DebugInfo> debug_info, int source_position,
|
| - int statement_position,
|
| Handle<Object> break_point_object);
|
| // Get the break point objects for a source position.
|
| Handle<Object> GetBreakPointObjects(int source_position);
|
| @@ -10895,7 +10893,12 @@ class DebugInfo: public Struct {
|
|
|
| static Smi* uninitialized() { return Smi::FromInt(0); }
|
|
|
| - inline BytecodeArray* original_bytecode_array();
|
| + inline bool HasDebugBytecodeArray();
|
| + inline bool HasDebugCode();
|
| +
|
| + inline BytecodeArray* OriginalBytecodeArray();
|
| + inline BytecodeArray* DebugBytecodeArray();
|
| + inline Code* DebugCode();
|
|
|
| DECLARE_CAST(DebugInfo)
|
|
|
| @@ -10904,11 +10907,13 @@ class DebugInfo: public Struct {
|
| DECLARE_VERIFIER(DebugInfo)
|
|
|
| static const int kSharedFunctionInfoIndex = Struct::kHeaderSize;
|
| - static const int kAbstractCodeIndex = kSharedFunctionInfoIndex + kPointerSize;
|
| - static const int kBreakPointsStateIndex = kAbstractCodeIndex + kPointerSize;
|
| + static const int kDebugBytecodeArrayIndex =
|
| + kSharedFunctionInfoIndex + kPointerSize;
|
| + static const int kBreakPointsStateIndex =
|
| + kDebugBytecodeArrayIndex + kPointerSize;
|
| static const int kSize = kBreakPointsStateIndex + kPointerSize;
|
|
|
| - static const int kEstimatedNofBreakPointsInFunction = 16;
|
| + static const int kEstimatedNofBreakPointsInFunction = 4;
|
|
|
| private:
|
| // Get the break point info object for a source position.
|
| @@ -10940,6 +10945,8 @@ class BreakPointInfo: public Struct {
|
| // Get the number of break points for this code offset.
|
| int GetBreakPointCount();
|
|
|
| + int GetStatementPosition(Handle<DebugInfo> debug_info);
|
| +
|
| DECLARE_CAST(BreakPointInfo)
|
|
|
| // Dispatched behavior.
|
|
|