This repository contains all the files we have implemented for a course project to enable Immix garbage collection in Dart VM.
Please refer to this website for details about our project.
Follow the steps below to test our files in Dart VM.
Follow the building steps here.
- Possible errors
- Ninja Error: loading 'build.ninja': No such file or directory - Before running ./tools/build.py, run this
$ gclient sync
Go to runtime directory
$ cd (...)/sdk/runtime
Clone and move to our repository
$ git clone https://github.com/ChangMinPark/immix-gc-dart.git
$ cd ImmixInDart
Add our directory to PATH (Optional). You can add this line to shell config file. It will make your life easier to run buildDart.sh script anywhere.
$ export PATH="$PATH:$PWD"
- Please work on files under immix directory. Files under default directory are for reverting to default.
- After modification, use build script. (Mode: default or immix)
$ buildDart.sh [Mode]
We use Observatory to visualize allocations of the garbage collection.
- Enable
$ dart --enable-vm-service:8181/127.0.0.1 --observe --pause-isolates-on-start <dart script>.dart
- Dart Observatory does not work on filefox. (I used Chromium)
$ apt-get install chromium-browser
- Open up Chromium, and go to https://127.0.0.1:8181
- Enable an access to host's LocalHost (Link current client's LocalHost to host's LocalHost). Run this on client side.
$ ssh -L 8181:127.0.0.1:8181 <server>