This reverts commit 466d719. flussence++ made a better pull request
This alters the to-json logic so that, instead of building one massive list of string bits and writing it all in one go, it flushes chunks of 12KB or so to disk at a time. This makes it possible to --profile-compile the core setting in about 10GB of RAM rather than 40+. I've also added a feature where specifying a --profile-filename ending in .json causes it to write as plain JSON instead of using the HTML wrapper. This is a tiny bit faster, and may be useful if you want to poke at it with different tools. The aforementioned --profile-compile generates *hundreds* of megabytes of JSON; you're never going to get that to load in a browser.
This prevents a dirty working directory after having run the test suite.
…ith TODOs. commit 1a559ff in Feb 2014 added "Serialization tests for integers up to 2**62." As written, they fail on 32 bit Parrot, because unlike all other platforms, there NQP's native integers are not 64 bit. Specifically, the way the looping was written too few tests would be run, meaning that the failure was only detected because the test count didn't match the plan. Refactor the looping construction so that the correct number of tests are always run (on all platforms). The tests aren't *meaningful* on 32 bit Parrot because they aren't testing that integers >= 2**31 can serialize, but they don't fail (because as before they instead end up testing integers around 0, rather than 2 ** $n, for $n in 31..62) Add a test, TODO'd on 32 bit parrot, that the values being tested are actually large and positive (which 0 obviously isn't). With this, we have no broken windows, and all tests (usefully) pass on MoarVM, JVM and 64 bit Parrot.
…efiles. This permits one to override it on the make command line, for example as `PROVE=prove\ -j24`.
These bit patterns may catch out some bugs.
We also bump MoarVM to get the very same fix in. For Parrot we have to tweak Parrot_str_boolean, that means pull requesting the change and bumping its version.