mirror of
https://github.com/facebookarchive/prepack.git
synced 2024-11-23 23:13:43 +03:00
Page:
PP0002
Pages
Compiler assumptions
Effects
Fuzzer
Home
Marking an object as simple
Optimized Functions
Optimized function
PP0002
PP0003
PP0004
PP0005
PP0006
PP0007
PP0008
PP0009
PP0010
PP0011
PP0012
PP0013
PP0014
PP0015
PP0016
PP0017
PP0018
PP0019
PP0020
PP0021
PP0022
PP0023
PP0024
PP0025
PP0026
PP0027
PP0028
PP0029
PP0030
PP0031
PP0032
PP0033
PP0034
PP0035
PP0036
PP0037
PP0038
PP0040
PP0041
PP0043
PP0045
PP1001
PP1002
PP1003
PP1004
PP1005
PP1006
PP1007
PP1008
PP1009
PP8000
PP9000
Partially unknown object
Prepack Concepts
Prepack diagnostics
React Compiler
Research papers citing Prepack
Suggested reading
Tips and tricks on how to debug things as a Prepack developer
Unknown Abstract function value
Unknown Abstract value
Well behaved property
3
PP0002
Herman Venter edited this page 2017-06-20 16:45:20 -07:00
might be an object with an unknown valueOf or toString or Symbol.toPrimitive method
When an unknown value is used in an expression that will attempt to convert the value to a number or a string, things can go wrong if the value turns out to be an object with a custom valueOf or toString or Symbol.toPrimitive method.
In particular, such methods might modify the global heap or they may throw an exception. If this should happen, then the values of the heap computed by Prepack will be incomplete or wrong, with the result that running Prepack over a program changes its runtime behavior.
To make this error go away, consider refining the environment model so that Prepack can figure out that converting this value will not cause such changes.