Skip to content

ChangMinPark/immix-gc-dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Immix Garbage Collection in Dart

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.


Test

Follow the steps below to test our files in Dart VM.

Step 1: Clone an Offical Dart SDK Repository

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

Step 2: Clone our Immix Implementation Repository

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"

Usage

  • 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]

Extra

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>

About

Implementation in this repository enables Immix garbage collection on Dart VM.

Topics

Resources

License

Stars

Watchers

Forks

Languages