Created attachment 532582 [details]
shell testcase, unpack, chdir and run main.js with options "-n -m -a"
The attached testcase asserts on TI revision 693a36f402ee (unpack, chdir and run main.js with -m -n -a), tested on 64 bit.
If we did a syncAndForgetEverything within a basic block, we would forget which args and locals are definitely doubles and could load them into normal registers if they are subsequently accessed. It makes more sense to establish the correspondence between inferred and FrameState types of entries when the entries are accessed, not at join points.