Updates:
Summary: --always-opt keeps optimized code around that's no longer valid
Status: Started
Owner: [email protected]
Labels: -Priority-Medium Priority-Low
Comment #3 on issue 4375 by [email protected]: --always-opt keeps
optimized code around that's no longer valid
https://code.google.com/p/v8/issues/detail?id=4375
The solution is not to use --always-opt.
What happens is that there's a special case for --always-opt in
Runtime_NotifyDeoptimized: in order to avoid doing too many recompilations,
optimized code is kept around on deopt rather than thrown away as it
usually would be. If you construct a case where assumptions that the code
made get invalidated (so it would *need* to be thrown away), this
unsurprisingly causes wrong behavior.
The invalidated assumption in this case is the elements kind of the array
literal. Math.min is working fine, but optimized code for matrix() stores
the value as a Smi even after the literal has migrated to Double elements.
Very low priority since production is not affected (only tests). In local
testing, removing the special case doesn't seem to slow down the test suite
so we can probably land that fix.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.