diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2017-01-12 14:05:25 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2017-01-31 14:31:07 +0100 |
commit | 3cee0b5e38f05bd70bec9d2bb392acdbd4fe8052 (patch) | |
tree | f05f59ccae411d1909fc14aacbb8ad740769c778 /docs/docs/internals/backend.md | |
parent | ab80297a30fc5942b811e9b6287230894361466e (diff) | |
download | dotty-3cee0b5e38f05bd70bec9d2bb392acdbd4fe8052.tar.gz dotty-3cee0b5e38f05bd70bec9d2bb392acdbd4fe8052.tar.bz2 dotty-3cee0b5e38f05bd70bec9d2bb392acdbd4fe8052.zip |
Port old site to dottydoc
Diffstat (limited to 'docs/docs/internals/backend.md')
-rw-r--r-- | docs/docs/internals/backend.md | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/docs/docs/internals/backend.md b/docs/docs/internals/backend.md index 47974b5ff..e1fd20da2 100644 --- a/docs/docs/internals/backend.md +++ b/docs/docs/internals/backend.md @@ -1,5 +1,5 @@ --- -layout: default +layout: doc-page title: "Backend Internals" --- @@ -33,18 +33,19 @@ BCodeIdiomatic ----------------> utilities for code generation, e.g. ### Data Flow ### Compiler creates a `BCodePhase`, calls `runOn(compilationUnits)`. - * initializes fields of `GenBCode` defined in `BCodeTypes` (BType maps, - common BTypes like `StringReference`) - * initialize `primitives` map defined in `scalaPrimitives` (maps primitive - members, like `int.+`, to bytecode instructions) - * creates `BytecodeWriter`, `JMirrorBuilder` and `JBeanInfoBuilder` instances - (on each compiler run) - * `buildAndSendToDisk(units)`: uses work queues, see below. - - `BCodePhase.addToQ1` adds class trees to `q1` - - `Worker1.visit` creates ASM `ClassNodes`, adds to `q2`. It creates one - `PlainClassBuilder` for each compilation unit. - - `Worker2.addToQ3` adds byte arrays (one for each class) to `q3` - - `BCodePhase.drainQ3` writes byte arrays to disk + +* initializes fields of `GenBCode` defined in `BCodeTypes` (BType maps, + common BTypes like `StringReference`) +* initialize `primitives` map defined in `scalaPrimitives` (maps primitive + members, like `int.+`, to bytecode instructions) +* creates `BytecodeWriter`, `JMirrorBuilder` and `JBeanInfoBuilder` instances + (on each compiler run) +* `buildAndSendToDisk(units)`: uses work queues, see below. + - `BCodePhase.addToQ1` adds class trees to `q1` + - `Worker1.visit` creates ASM `ClassNodes`, adds to `q2`. It creates one + `PlainClassBuilder` for each compilation unit. + - `Worker2.addToQ3` adds byte arrays (one for each class) to `q3` + - `BCodePhase.drainQ3` writes byte arrays to disk ### Architecture ### |