PageRenderTime 22ms CodeModel.GetById 15ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/js/src/jit-test/tests/jaeger/setPropTypeGuard.js

http://github.com/zpao/v8monkey
JavaScript | 23 lines | 15 code | 2 blank | 6 comment | 1 complexity | 56e7f9b5658cae7c6b23c836e3348048 MD5 | raw file
 1
 2/*
 3 * Get a SETPROP site which is monitored (unknown lhs) and is repeatedly
 4 * invoked on objects with the same shape but different types (and without
 5 * triggering a recompile of the function). The SETPROP PIC needs a type guard
 6 * when the object is being monitored.
 7 */
 8var x = {g:0};
 9var y = {g:0,f:"fubar"};
10x.f = 10;
11
12function foo(x) {
13  for (var i = 0; i < 30; i++)
14    x.f = 10;
15}
16function access(x) {
17  return x.f + 10;
18}
19foo(Object.create({}));
20eval("foo(x)");
21assertEq(access(y), "fubar10");
22eval("foo(y)");
23assertEq(access(y), 20);