Source code

Revision control

Copy as Markdown

Other Tools

#include "gdb-tests.h"
#include "js/GlobalObject.h"
#include "js/String.h"
#include "js/Symbol.h"
#include "vm/BigIntType.h"
FRAGMENT(jsval, simple) {
using namespace JS;
RootedValue fortytwo(cx, Int32Value(42));
RootedValue fortytwoD(cx, DoubleValue(42));
RootedValue negone(cx, Int32Value(-1));
RootedValue undefined(cx, UndefinedValue());
RootedValue null(cx, NullValue());
RootedValue js_true(cx, BooleanValue(true));
RootedValue js_false(cx, BooleanValue(false));
RootedValue elements_hole(cx, js::MagicValue(JS_ELEMENTS_HOLE));
RootedValue empty_string(cx);
empty_string.setString(JS_NewStringCopyZ(cx, ""));
RootedString hello(cx, JS_NewStringCopyZ(cx, "Hello!"));
RootedValue friendly_string(cx, StringValue(hello));
RootedValue symbol(cx, SymbolValue(GetSymbolFor(cx, hello)));
RootedValue bi(cx, BigIntValue(BigInt::zero(cx)));
RootedValue global(cx);
global.setObject(*CurrentGlobalOrNull(cx));
// Some interesting value that floating-point won't munge.
RootedValue onehundredthirtysevenonehundredtwentyeighths(
cx, DoubleValue(137.0 / 128.0));
breakpoint();
use(fortytwo);
use(fortytwoD);
use(negone);
use(undefined);
use(js_true);
use(js_false);
use(null);
use(elements_hole);
use(empty_string);
use(friendly_string);
use(symbol);
use(bi);
use(global);
}