1 package edu.berkeley.fleet.ir;
2 import edu.berkeley.fleet.loops.*;
3 import edu.berkeley.fleet.api.*;
8 * A CodeBag represents the instructions of a Context along with
9 * (compile-time) knowledge of where it resides. Consequently, it is
10 * meaningful to say "give me the sequence of instructions which will
11 * invoke this CodeBag".
13 public class CodeBag {
16 * SF works works @diff ok for non size ships
17 * Dispatch Method Crossings @inbox? docks? tail call? limit consumed
18 * ------------------------------------------------------------------------------------------
20 * Inline 0 Y N N Small None
22 * Inline literals 1 N Y Y Tiny None
25 * Send CBD to 2+ N Y Y None None (mem ship)
28 * Send token to 3+ Y Y Y None One Output Dock
29 * assistant outbox first
31 * Release from FIFO 2 Y Y Y Med 1x FIFO, but can be shared
36 * Given a Context, creates a CodeBag which will live in the
37 * Memory ship memoryShip at the address given by baseAddress.
39 public CodeBag(Context ctx, Ship memoryShip, long baseAddress) {