Commit Graph

3 Commits

Author SHA1 Message Date
Kevin Millikin 2e794c4e16 Move Kernel strings into the VM's heap.
- Instead of a pointer to new'd memory, Kernel strings now have an
  offset from the start of the string data.

- When the streaming reader encounters the string data it records the
  offset from the start of the binary.  This offset is stored in the
  Kernel Program and is used to compute the offset for strings.

- When a KernelReader is constructed, the string data is copied into a
  Uint8 array in the VM's heap.

- A pointer to the string data is put into every Kernel script so it
  can be used for constructing VM strings at compile time.

The source table does not use Kernel strings any more because those
strings are not found in the raw string data.  Instead, the source
table uses new'd buffers for strings (but this will be cleaned up
separately).

R=jensj@google.com

Review-Url: https://codereview.chromium.org/2820363002 .
2017-04-21 10:32:48 +02:00
Dmitry Stefantsov 95560cb02a Add Kernel AST nodes for Vector and Closure primitives in VM
Five Kernel AST nodes added: VectorCreation, VectorGet, VectorSet,
VectorCopy, and ClosureCreation.

R=asgerf@google.com, kmillikin@google.com

Review-Url: https://codereview.chromium.org/2792333002 .
2017-04-05 15:59:25 +02:00
Jens Johansen 63f1de2068 Initial steps into streaming the kernel flowgraph
- Moved stuff into .h
- Leak kernel binary blob
- "Streaming" rethrow in FlowgraphBuilder

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2776373002 .
2017-04-03 11:40:37 +02:00