1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#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);
}
|