diff --git a/.gitignore b/.gitignore index 204d4af..853d216 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ local.properties cmake-build-* lib/ bin/ -build/ \ No newline at end of file +build/ +test262/ +test262*.txt \ No newline at end of file diff --git a/README.md b/README.md index bf8dfde..d11e02c 100644 --- a/README.md +++ b/README.md @@ -58,12 +58,6 @@ sudo apt install lldb # Ubuntu If you're using VSCode, you can use the `C/C++` and `Code LLDB` extension to debug. -Pass this argument to cmake enable debug log on release build. - -``` --DCONFIG_DEBUG_ON_RELEASE=1 -``` - ### Tests ```bash diff --git a/include/quickjs/quickjs.h b/include/quickjs/quickjs.h index 02dda18..7717463 100644 --- a/include/quickjs/quickjs.h +++ b/include/quickjs/quickjs.h @@ -983,9 +983,4 @@ int JS_SetModuleExportList(JSContext* ctx, JSModuleDef* m, const JSCFunctionList /* quickjs_rs c bindings */ #include "quickjs-rs.h" -/* Should use in `jsc` repl only */ -#ifdef CONFIG_DEBUG_ON_RELEASE -void __internal_debug_log(const char* fmt, ...); -#endif - #endif /* QUICKJS_H */ diff --git a/scripts/test.sh b/scripts/test.sh index 9306b64..24080e6 100644 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -11,4 +11,4 @@ cd test262 # patch -p1 < ../tests/test262.patch cd .. touch test262_errors.txt -./bin/run-test262 -m -c test262.conf -a \ No newline at end of file +./bin/run-test262 -m -c tests/test262.conf -a \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2f2193f..ae648e4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -29,7 +29,7 @@ add_library(quickjs core/malloc.c core/shape.c core/parser.c - core/convertion.c + core/conversion.c core/runtime.c core/module.c core/ic.c @@ -56,9 +56,6 @@ add_library(quickjs core/builtins/js-string.c core/builtins/js-symbol.c core/builtins/js-typed-array.c - - # misc - core/misc/debug.c ) # create a custom target for including headers @@ -75,18 +72,6 @@ set(QUICKJS_VERSION STRING "0.1.0") add_compile_options(${COMPILE_FLAGS}) -# Debug on release -if (CONFIG_DEBUG_ON_RELEASE) - add_compile_definitions(CONFIG_DEBUG_ON_RELEASE) -endif() - -# Debug on release -if (CONFIG_DEBUG_ON_RELEASE) - target_compile_options(quickjs PUBLIC - -DCONFIG_DEBUG_ON_RELEASE - ) -endif() - target_compile_options(quickjs PUBLIC -D_GNU_SOURCE -DCONFIG_BIGNUM diff --git a/src/core/builtins/js-array.c b/src/core/builtins/js-array.c index a80ac36..366c659 100644 --- a/src/core/builtins/js-array.c +++ b/src/core/builtins/js-array.c @@ -25,7 +25,7 @@ */ #include "js-array.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" @@ -867,17 +867,6 @@ JSValue js_array_indexOf(JSContext* ctx, JSValueConst this_val, int argc, JSValu if (present < 0) goto exception; if (present) { -#ifdef CONFIG_DEBUG_ON_RELEASE - __internal_debug_log( - "present_str: %s, input_char: %s, present: %d, char: %s, equal: %d", - JS_ToCString(ctx,this_val), - JS_ToCString(ctx,argv[0]), - present, - JS_ToCString(ctx, JS_DupValue(ctx, val)), - js_strict_eq2(ctx, JS_DupValue(ctx, argv[0]), val, JS_EQ_STRICT), - "\n" - ); -#endif if (js_strict_eq2(ctx, JS_DupValue(ctx, argv[0]), val, JS_EQ_STRICT)) { res = n; break; diff --git a/src/core/builtins/js-atomics.c b/src/core/builtins/js-atomics.c index aa6e09b..10e99f4 100644 --- a/src/core/builtins/js-atomics.c +++ b/src/core/builtins/js-atomics.c @@ -25,7 +25,7 @@ */ #include "js-atomics.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "js-typed-array.h" diff --git a/src/core/builtins/js-big-num.c b/src/core/builtins/js-big-num.c index 53e00e1..737f5d6 100644 --- a/src/core/builtins/js-big-num.c +++ b/src/core/builtins/js-big-num.c @@ -25,7 +25,7 @@ */ #include "js-big-num.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-date.c b/src/core/builtins/js-date.c index 2df0fcd..b423314 100644 --- a/src/core/builtins/js-date.c +++ b/src/core/builtins/js-date.c @@ -25,7 +25,7 @@ */ #include "js-date.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-function.c b/src/core/builtins/js-function.c index 2517592..ee940d6 100644 --- a/src/core/builtins/js-function.c +++ b/src/core/builtins/js-function.c @@ -25,7 +25,7 @@ */ #include "js-function.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../gc.h" diff --git a/src/core/builtins/js-json.c b/src/core/builtins/js-json.c index 625c9aa..fae8c0d 100644 --- a/src/core/builtins/js-json.c +++ b/src/core/builtins/js-json.c @@ -25,7 +25,7 @@ */ #include "js-json.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-number.c b/src/core/builtins/js-number.c index fabf2af..9dd5f38 100644 --- a/src/core/builtins/js-number.c +++ b/src/core/builtins/js-number.c @@ -25,7 +25,7 @@ */ #include "js-number.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../object.h" #include "../runtime.h" diff --git a/src/core/builtins/js-object.c b/src/core/builtins/js-object.c index bf643a7..54cec37 100644 --- a/src/core/builtins/js-object.c +++ b/src/core/builtins/js-object.c @@ -25,7 +25,7 @@ */ #include "js-object.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../object.h" #include "../runtime.h" diff --git a/src/core/builtins/js-operator.c b/src/core/builtins/js-operator.c index be53302..b451f72 100644 --- a/src/core/builtins/js-operator.c +++ b/src/core/builtins/js-operator.c @@ -26,7 +26,7 @@ #include "js-operator.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-promise.c b/src/core/builtins/js-promise.c index 1b6ad5a..49fa4d7 100644 --- a/src/core/builtins/js-promise.c +++ b/src/core/builtins/js-promise.c @@ -25,7 +25,7 @@ */ #include "js-promise.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-proxy.c b/src/core/builtins/js-proxy.c index 34b860c..2579da7 100644 --- a/src/core/builtins/js-proxy.c +++ b/src/core/builtins/js-proxy.c @@ -25,7 +25,7 @@ */ #include "js-proxy.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-regexp.c b/src/core/builtins/js-regexp.c index c2e5ddd..c160b00 100644 --- a/src/core/builtins/js-regexp.c +++ b/src/core/builtins/js-regexp.c @@ -27,7 +27,7 @@ #include "quickjs/libregexp-opcode.h" #include "quickjs/libregexp.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-string.c b/src/core/builtins/js-string.c index bfbd6b4..7c35790 100644 --- a/src/core/builtins/js-string.c +++ b/src/core/builtins/js-string.c @@ -25,7 +25,7 @@ */ #include "js-string.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/builtins/js-typed-array.c b/src/core/builtins/js-typed-array.c index ef536ab..d828adb 100644 --- a/src/core/builtins/js-typed-array.c +++ b/src/core/builtins/js-typed-array.c @@ -25,7 +25,7 @@ */ #include "js-typed-array.h" -#include "../convertion.h" +#include "../conversion.h" #include "../exception.h" #include "../function.h" #include "../object.h" diff --git a/src/core/convertion.c b/src/core/conversion.c similarity index 99% rename from src/core/convertion.c rename to src/core/conversion.c index e7459b5..bcf820a 100644 --- a/src/core/convertion.c +++ b/src/core/conversion.c @@ -24,7 +24,7 @@ * THE SOFTWARE. */ -#include "convertion.h" +#include "conversion.h" #include "builtins/js-big-num.h" #include "exception.h" #include "function.h" diff --git a/src/core/convertion.h b/src/core/conversion.h similarity index 99% rename from src/core/convertion.h rename to src/core/conversion.h index 2332a0d..6bee598 100644 --- a/src/core/convertion.h +++ b/src/core/conversion.h @@ -24,8 +24,8 @@ * THE SOFTWARE. */ -#ifndef QUICKJS_CONVERTION_H -#define QUICKJS_CONVERTION_H +#ifndef QUICKJS_CONVERSION_H +#define QUICKJS_CONVERSION_H #include "quickjs/quickjs.h" #include "quickjs/cutils.h" diff --git a/src/core/function.c b/src/core/function.c index 61c8e48..1d0efa6 100644 --- a/src/core/function.c +++ b/src/core/function.c @@ -33,7 +33,7 @@ #include "builtins/js-object.h" #include "builtins/js-operator.h" #include "builtins/js-regexp.h" -#include "convertion.h" +#include "conversion.h" #include "exception.h" #include "gc.h" #include "module.h" diff --git a/src/core/misc/debug.c b/src/core/misc/debug.c deleted file mode 100644 index ec784f4..0000000 --- a/src/core/misc/debug.c +++ /dev/null @@ -1,15 +0,0 @@ -#ifdef CONFIG_DEBUG_ON_RELEASE -#include "debug.h" - -// log messages to `qjs` repl output - -void __internal_debug_log(const char* fmt, ...) { - va_list argp; - va_start(argp, fmt); - - vprintf(fmt, argp); - - va_end(argp); - printf("\n"); -} -#endif \ No newline at end of file diff --git a/src/core/misc/debug.h b/src/core/misc/debug.h deleted file mode 100644 index 67546fa..0000000 --- a/src/core/misc/debug.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifdef CONFIG_DEBUG_ON_RELEASE - -#include -#include - -void __internal_debug_log(const char* fmt, ...); - -#endif diff --git a/src/core/object.c b/src/core/object.c index 4ac1628..a1d6065 100644 --- a/src/core/object.c +++ b/src/core/object.c @@ -29,7 +29,7 @@ #include "builtins/js-object.h" #include "builtins/js-operator.h" #include "builtins/js-proxy.h" -#include "convertion.h" +#include "conversion.h" #include "exception.h" #include "function.h" #include "gc.h" diff --git a/src/core/parser.c b/src/core/parser.c index 8c5219e..5a5b929 100644 --- a/src/core/parser.c +++ b/src/core/parser.c @@ -25,7 +25,7 @@ #include "parser.h" #include "builtins/js-function.h" -#include "convertion.h" +#include "conversion.h" #include "exception.h" #include "function.h" #include "bytecode.h" diff --git a/src/core/runtime.c b/src/core/runtime.c index 89ebe7c..7e5748b 100644 --- a/src/core/runtime.c +++ b/src/core/runtime.c @@ -49,7 +49,7 @@ #include "builtins/js-operator.h" #include "builtins/js-reflect.h" #include "builtins/js-symbol.h" -#include "convertion.h" +#include "conversion.h" #include "gc.h" #include "module.h" #include "object.h" diff --git a/src/core/string.c b/src/core/string.c index 9eedc50..49bf6e9 100644 --- a/src/core/string.c +++ b/src/core/string.c @@ -25,7 +25,7 @@ */ #include "string.h" -#include "convertion.h" +#include "conversion.h" #include "exception.h" #include "quickjs/cutils.h" #include "quickjs/list.h" diff --git a/src/crates/quickjs_gc/src/record.rs b/src/crates/quickjs_gc/src/record.rs index 67b3ef8..d5f6a76 100644 --- a/src/crates/quickjs_gc/src/record.rs +++ b/src/crates/quickjs_gc/src/record.rs @@ -4,12 +4,12 @@ use std::sync::{Mutex, Once}; use quickjs_common::backtrace::Backtrace; use crate::{JSGCObjectHeader, ListHead}; -// Define a global static Once variable and a static mutable option of the Mutexed HashMap +/// Define a global static Once variable and a static mutable option of the Mutexed HashMap static INIT: Once = Once::new(); static mut GC_OBJECTS: Option>> = None; -// Function to safely initialize and get a reference to the global -// HashMap storing garbage-collected objects and their backtraces. +/// Function to safely initialize and get a reference to the global +/// HashMap storing garbage-collected objects and their backtraces. pub fn get_gc_object_backtrace_map() -> &'static Mutex> { unsafe { INIT.call_once(|| { @@ -19,9 +19,9 @@ pub fn get_gc_object_backtrace_map() -> &'static Mutex