scratch-vm icon indicating copy to clipboard operation
scratch-vm copied to clipboard

Scratch VM with a JIT compiler and more features

Results 89 scratch-vm issues
Sort by recently updated
recently updated
newest added

Resolves #36 Hopefully all my assumptions about the types of blocks are correct so far :crossed_fingers:

Fixes https://github.com/TurboWarp/scratch-gui/issues/637, https://github.com/TurboWarp/scratch-gui/issues/593

Resolves or at least makes good progress on #48 I know you didn't want me to try to avoid big PRs but this kinda all had to be done in...

A simple example is ( ( 1 / 0 ) / ( -0 + -0 ) ) which returns -Infinity in TurboWarp but Infinity in Scratch ![image](https://user-images.githubusercontent.com/27910867/206086144-7b9f53b9-40ee-493f-98ef-d73b0cd188d3.png) See demo project...

Creates two new classes `IntermediateStack` and `IntermediateInput` to replace `Node`. Right now these two classes almost the same, they contain an opcode and an object of inputs that contains all...

Removed all the 'opcode' strings that have to be the same (like `control.if`) between irgen and jsgen and moves them into a shared enum. This also distinguishes between opcodes that...

When a constant number input is passed into the `` block like this: ![image](https://user-images.githubusercontent.com/27910867/204465362-fd8f1518-5c2b-4c91-9241-000d231fe9ff.png) In Scratch, this script always says false. In TurboWarp, this script says true if you are...

bug

### Expected Behavior Given this script: ![image](https://user-images.githubusercontent.com/33787854/100297118-9c89ce00-2f53-11eb-88a3-ff39b5bd3bee.png) The compiler should be able to conclude that `first`, `second`, `nth`, `i` will always be numbers and optimize accordingly: ```js b1.value = 0;...

performance

Move type analysis over. This is necessary for #36