diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index fffad2fa624514f9ad97bb6c64af94d8ac65b6b9..b2384d379b78f1826001e9fcf09f4ca5f26ff9fd 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -46,6 +46,7 @@
 
 /* SpiderMonkey: */
 #include <jsapi.h>
+#include <jsdbgapi.h>
 
 #define MAX_ANSI_SEQ	16
 #define MAX_ANSI_PARAMS	8
@@ -3487,6 +3488,18 @@ js_list_named_queues(JSContext *cx, uintN argc, jsval *arglist)
     return(JS_TRUE);
 }
 
+static JSBool js_getsize(JSContext *cx, uintN argc, jsval *arglist)
+{
+	jsval	*argv=JS_ARGV(cx, arglist);
+
+	JSObject* tmp_obj=JSVAL_TO_OBJECT(argv[0]);
+	if(!tmp_obj)
+		return(JS_FALSE);
+	JS_SET_RVAL(cx, arglist, DOUBLE_TO_JSVAL(JS_GetObjectTotalSize(cx, tmp_obj)));
+	return(JS_TRUE);
+}
+
+
 static JSBool
 js_flags_str(JSContext *cx, uintN argc, jsval *arglist)
 {
@@ -3833,6 +3846,10 @@ static jsSyncMethodSpec js_global_functions[] = {
 	"(returns number OR string) - (added in v3.13)")
 	,313
 	},
+	{"get_size",		js_getsize,			1,	JSTYPE_NUMBER,	JSDOCSTR("[number]")
+	,JSDOCSTR("Gets the size in bytes the object uses in memory (forces GC) ")
+	,314
+	},
 	{0}
 };