TI+JM: [infer failure] Missing type in object TableObject:1 a: float

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: jandem, Unassigned)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
--
var x = {};
var y = {a: 2};
{
    function f() {}
}
y.a = (z = x).b = 6.3;
y.a--;
--
$ ./js -n -a -m -d test.js
[infer failure] Missing type in object TableObject:1 a: float

Revision 90a7b141e0cf, 32-bit OS X.
The SSA patch had a sort of broken fix for a situation that comes up in debug-mode compartments and showed up using jitflags=na.  With EvaluateInStackFrame, new bindings can be introduced that cause GNAME ops to suddenly refer to local variables, as with a NAME op.  The SSA patch addressed this by treating all property accesses as unknown in debug compartments, which broke these assertions for type object consistency as the type objects themselves weren't getting marked as unknown.

This changes the fix to be more narrowly focused, and just mark the results of GNAME ops as unknown in debug compartments.

http://hg.mozilla.org/projects/jaegermonkey/rev/a16bbfe4f0f4
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.