diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/gdb/tests/test-jsid.cpp | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/gdb/tests/test-jsid.cpp')
-rw-r--r-- | js/src/gdb/tests/test-jsid.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/js/src/gdb/tests/test-jsid.cpp b/js/src/gdb/tests/test-jsid.cpp new file mode 100644 index 0000000000..7245b05c17 --- /dev/null +++ b/js/src/gdb/tests/test-jsid.cpp @@ -0,0 +1,44 @@ +#include "gdb-tests.h" +#include "jsapi.h" + +#include "js/Symbol.h" + +FRAGMENT(jsid, simple) { + JS::Rooted<JSString*> string(cx, JS_NewStringCopyZ(cx, "moon")); + JS::Rooted<JSString*> interned(cx, JS_AtomizeAndPinJSString(cx, string)); + JS::Rooted<jsid> string_id(cx, JS::PropertyKey::fromPinnedString(interned)); + JS::Rooted<jsid> int_id(cx, INT_TO_JSID(1729)); + JS::Rooted<jsid> unique_symbol_id( + cx, SYMBOL_TO_JSID(JS::NewSymbol(cx, interned))); + JS::Rooted<jsid> registry_symbol_id( + cx, SYMBOL_TO_JSID(JS::GetSymbolFor(cx, interned))); + JS::Rooted<jsid> well_known_symbol_id( + cx, SYMBOL_TO_JSID(JS::GetWellKnownSymbol(cx, JS::SymbolCode::iterator))); + jsid void_id = JSID_VOID; + jsid empty_id = JSID_EMPTY; + + breakpoint(); + + use(string_id); + use(int_id); + use(unique_symbol_id); + use(registry_symbol_id); + use(well_known_symbol_id); + use(void_id); + use(empty_id); +} + +void jsid_handles(JS::Handle<jsid> jsid_handle, + JS::MutableHandle<jsid> mutable_jsid_handle) { + // Prevent the linker from unifying this function with others that are + // equivalent in machine code but not type. + fprintf(stderr, "Called " __FILE__ ":jsid_handles\n"); + breakpoint(); +} + +FRAGMENT(jsid, handles) { + JS::Rooted<JSString*> string(cx, JS_NewStringCopyZ(cx, "shovel")); + JS::Rooted<JSString*> interned(cx, JS_AtomizeAndPinJSString(cx, string)); + JS::Rooted<jsid> string_id(cx, JS::PropertyKey::fromPinnedString(interned)); + jsid_handles(string_id, &string_id); +} |