| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 6346e5b59600dd24b5e3da5d262db462cc0774c0..86882152231f49da8bbe1cd0e459c31fab14770e 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -48,7 +48,6 @@
|
| #include "json-parser.h"
|
| #include "json-stringifier.h"
|
| #include "liveedit.h"
|
| -#include "liveobjectlist-inl.h"
|
| #include "misc-intrinsics.h"
|
| #include "parser.h"
|
| #include "platform.h"
|
| @@ -12977,206 +12976,6 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetHeapUsage) {
|
| return Smi::FromInt(usage);
|
| }
|
|
|
| -
|
| -// Captures a live object list from the present heap.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_HasLOLEnabled) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - return isolate->heap()->true_value();
|
| -#else
|
| - return isolate->heap()->false_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Captures a live object list from the present heap.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_CaptureLOL) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - return LiveObjectList::Capture();
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Deletes the specified live object list.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_DeleteLOL) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - CONVERT_SMI_ARG_CHECKED(id, 0);
|
| - bool success = LiveObjectList::Delete(id);
|
| - return isolate->heap()->ToBoolean(success);
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Generates the response to a debugger request for a dump of the objects
|
| -// contained in the difference between the captured live object lists
|
| -// specified by id1 and id2.
|
| -// If id1 is 0 (i.e. not a valid lol), then the whole of lol id2 will be
|
| -// dumped.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_DumpLOL) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - HandleScope scope;
|
| - CONVERT_SMI_ARG_CHECKED(id1, 0);
|
| - CONVERT_SMI_ARG_CHECKED(id2, 1);
|
| - CONVERT_SMI_ARG_CHECKED(start, 2);
|
| - CONVERT_SMI_ARG_CHECKED(count, 3);
|
| - CONVERT_ARG_HANDLE_CHECKED(JSObject, filter_obj, 4);
|
| - EnterDebugger enter_debugger;
|
| - return LiveObjectList::Dump(id1, id2, start, count, filter_obj);
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Gets the specified object as requested by the debugger.
|
| -// This is only used for obj ids shown in live object lists.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLOLObj) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - CONVERT_SMI_ARG_CHECKED(obj_id, 0);
|
| - Object* result = LiveObjectList::GetObj(obj_id);
|
| - return result;
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Gets the obj id for the specified address if valid.
|
| -// This is only used for obj ids shown in live object lists.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLOLObjId) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - HandleScope scope;
|
| - CONVERT_ARG_HANDLE_CHECKED(String, address, 0);
|
| - Object* result = LiveObjectList::GetObjId(address);
|
| - return result;
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Gets the retainers that references the specified object alive.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLOLObjRetainers) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - HandleScope scope;
|
| - CONVERT_SMI_ARG_CHECKED(obj_id, 0);
|
| - RUNTIME_ASSERT(args[1]->IsUndefined() || args[1]->IsJSObject());
|
| - RUNTIME_ASSERT(args[2]->IsUndefined() || args[2]->IsBoolean());
|
| - RUNTIME_ASSERT(args[3]->IsUndefined() || args[3]->IsSmi());
|
| - RUNTIME_ASSERT(args[4]->IsUndefined() || args[4]->IsSmi());
|
| - CONVERT_ARG_HANDLE_CHECKED(JSObject, filter_obj, 5);
|
| -
|
| - Handle<JSObject> instance_filter;
|
| - if (args[1]->IsJSObject()) {
|
| - instance_filter = args.at<JSObject>(1);
|
| - }
|
| - bool verbose = false;
|
| - if (args[2]->IsBoolean()) {
|
| - verbose = args[2]->IsTrue();
|
| - }
|
| - int start = 0;
|
| - if (args[3]->IsSmi()) {
|
| - start = args.smi_at(3);
|
| - }
|
| - int limit = Smi::kMaxValue;
|
| - if (args[4]->IsSmi()) {
|
| - limit = args.smi_at(4);
|
| - }
|
| -
|
| - return LiveObjectList::GetObjRetainers(obj_id,
|
| - instance_filter,
|
| - verbose,
|
| - start,
|
| - limit,
|
| - filter_obj);
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Gets the reference path between 2 objects.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLOLPath) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - HandleScope scope;
|
| - CONVERT_SMI_ARG_CHECKED(obj_id1, 0);
|
| - CONVERT_SMI_ARG_CHECKED(obj_id2, 1);
|
| - RUNTIME_ASSERT(args[2]->IsUndefined() || args[2]->IsJSObject());
|
| -
|
| - Handle<JSObject> instance_filter;
|
| - if (args[2]->IsJSObject()) {
|
| - instance_filter = args.at<JSObject>(2);
|
| - }
|
| -
|
| - Object* result =
|
| - LiveObjectList::GetPath(obj_id1, obj_id2, instance_filter);
|
| - return result;
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Generates the response to a debugger request for a list of all
|
| -// previously captured live object lists.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_InfoLOL) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - CONVERT_SMI_ARG_CHECKED(start, 0);
|
| - CONVERT_SMI_ARG_CHECKED(count, 1);
|
| - return LiveObjectList::Info(start, count);
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Gets a dump of the specified object as requested by the debugger.
|
| -// This is only used for obj ids shown in live object lists.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_PrintLOLObj) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - HandleScope scope;
|
| - CONVERT_SMI_ARG_CHECKED(obj_id, 0);
|
| - Object* result = LiveObjectList::PrintObj(obj_id);
|
| - return result;
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Resets and releases all previously captured live object lists.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_ResetLOL) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - LiveObjectList::Reset();
|
| - return isolate->heap()->undefined_value();
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| -
|
| -// Generates the response to a debugger request for a summary of the types
|
| -// of objects in the difference between the captured live object lists
|
| -// specified by id1 and id2.
|
| -// If id1 is 0 (i.e. not a valid lol), then the whole of lol id2 will be
|
| -// summarized.
|
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_SummarizeLOL) {
|
| -#ifdef LIVE_OBJECT_LIST
|
| - HandleScope scope;
|
| - CONVERT_SMI_ARG_CHECKED(id1, 0);
|
| - CONVERT_SMI_ARG_CHECKED(id2, 1);
|
| - CONVERT_ARG_HANDLE_CHECKED(JSObject, filter_obj, 2);
|
| -
|
| - EnterDebugger enter_debugger;
|
| - return LiveObjectList::Summarize(id1, id2, filter_obj);
|
| -#else
|
| - return isolate->heap()->undefined_value();
|
| -#endif
|
| -}
|
| -
|
| #endif // ENABLE_DEBUGGER_SUPPORT
|
|
|
|
|
|
|