You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EmptyValue has 0 (null) value in itself. Therefore the result of u.asInt64 & TagMask operation always false and isPointerValue() returns true.
If I simply fix the check code as follow, octane score is dropped by 20 points.
EmptyValue is not one of JavaScript types and used only inside the Escargot engine to represent invalid values such as array holes, uninitialized values etc. So there is no critical problem right now. But I write this issue to alert that PointerValue and EmptyValue should not be used together. Or at least, PointerValue check(isPointerValue) should not be called for EmptyValue. We may resolve this issue later.
The text was updated successfully, but these errors were encountered:
Escargot
Describe the bug
EmptyValue is recognized as a PointerValue in 64bit mode.
Especially,
Value::isPointerValue()
returns true result for EmptyValue.Analysis
EmptyValue has 0 (null) value in itself. Therefore the result of
u.asInt64 & TagMask
operation always false and isPointerValue() returns true.If I simply fix the check code as follow, octane score is dropped by 20 points.
EmptyValue is not one of JavaScript types and used only inside the Escargot engine to represent invalid values such as array holes, uninitialized values etc. So there is no critical problem right now. But I write this issue to alert that PointerValue and EmptyValue should not be used together. Or at least, PointerValue check(isPointerValue) should not be called for EmptyValue. We may resolve this issue later.
The text was updated successfully, but these errors were encountered: