codefrau / SqueakJS

A Squeak Smalltalk VM in Javascript
https://squeak.js.org
MIT License
365 stars 75 forks source link

fix bug in primitivePerformWithArgs #90

Closed ccrraaiigg closed 4 years ago

ccrraaiigg commented 4 years ago

When "supered", arguments were copied to the wrong place in the stack, and the stack pointer was set incorrectly. Squeak doesn't use this feature much, but Pharo does.

ccrraaiigg commented 4 years ago

Hm, not sure how that got there... fixed.

ccrraaiigg commented 4 years ago

Oh, I don't know what to do about that. This is Emacs auto-indent, which seems to be a combination of tabs and spaces. Anyway, you know the fix now, and I'll just add that not fixing this bug leads to catastrophic errors. ;)

ccrraaiigg commented 4 years ago

Oops, I just found js-beautify on npmjs.com. Please let me know if you'd like me to reformat vm.js.

codefrau commented 4 years ago

Nah, it's fine, I fixed that in 3c0d569fa0f007adb9d77c9b806d96f54ecf7200

Wanted to do a release too but got distracted because closure-compiler didn't work anymore.

ccrraaiigg commented 4 years ago

re: closure compiler: Oh? What are the symptoms? Is there an open issue for it? I'm interested in attacking that and the 64-bit support.

codefrau commented 4 years ago

Ah no it's just that closure compiler requires a Java runtime and I don't have one anymore on my machine. Would prefer to switch to a node-based packager (rollup, webpack, etc). It's only used in run/Makefile to create the all-in-one squeak.min.js but that should be the main form of distribution. The current setup is from when I had no clue how to do "modern" JS development.