| Index: pkg/fletchc/lib/bytecodes.dart
|
| diff --git a/pkg/fletchc/lib/bytecodes.dart b/pkg/fletchc/lib/bytecodes.dart
|
| deleted file mode 100644
|
| index 45c8244c76a9157fcba22ec85fd9f83948987eb3..0000000000000000000000000000000000000000
|
| --- a/pkg/fletchc/lib/bytecodes.dart
|
| +++ /dev/null
|
| @@ -1,97 +0,0 @@
|
| -// Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE.md file.
|
| -
|
| -library fletch.bytecodes;
|
| -
|
| -import 'dart:typed_data' show
|
| - ByteData,
|
| - Endianness,
|
| - Uint8List;
|
| -
|
| -part 'generated_bytecodes.dart';
|
| -
|
| -const int VAR_DIFF = 0x3FFFFFFF;
|
| -
|
| -abstract class Bytecode {
|
| - static bool identicalBytecodes(List<Bytecode> expected,
|
| - List<Bytecode> actual) {
|
| - if (expected.length != actual.length) return false;
|
| - for (int i = 0; i < expected.length; i++) {
|
| - if (expected[i] != actual[i]) return false;
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - const Bytecode();
|
| -
|
| - Opcode get opcode;
|
| -
|
| - String get name;
|
| -
|
| - String get format;
|
| -
|
| - int get size;
|
| -
|
| - /// The effect on stack size.
|
| - int get stackPointerDifference;
|
| -
|
| - String get formatString;
|
| -
|
| - void addTo(Sink<List<int>> sink);
|
| -
|
| - bool operator==(Bytecode other) => other.opcode == opcode;
|
| -
|
| - int get hashCode => opcode.index;
|
| -
|
| - static void prettyPrint(StringBuffer sb, List<Bytecode> bytecodes) {
|
| - int offset = 0;
|
| - for (Bytecode bytecode in bytecodes) {
|
| - offset += bytecode.size;
|
| - }
|
| - int padding = "$offset".length;
|
| - offset = 0;
|
| - for (Bytecode bytecode in bytecodes) {
|
| - String paddedOffset = ("0" * padding) + "$offset";
|
| - paddedOffset = paddedOffset.substring(paddedOffset.length - padding);
|
| - sb.writeln(" $paddedOffset: $bytecode");
|
| - offset += bytecode.size;
|
| - }
|
| - }
|
| -}
|
| -
|
| -class BytecodeBuffer {
|
| - int position = 0;
|
| -
|
| - Uint8List list = new Uint8List(8);
|
| -
|
| - ByteData get view => new ByteData.view(list.buffer);
|
| -
|
| - void growBytes(int size) {
|
| - while (position + size >= list.length) {
|
| - list = new Uint8List(list.length * 2)
|
| - ..setRange(0, list.length, list);
|
| - }
|
| - }
|
| -
|
| - void addUint8(int value) {
|
| - growBytes(1);
|
| - view.setUint8(position++, value);
|
| - }
|
| -
|
| - void addUint32(int value) {
|
| - growBytes(4);
|
| - view.setUint32(position, value, Endianness.LITTLE_ENDIAN);
|
| - position += 4;
|
| - }
|
| -
|
| - void addUint64(int value) {
|
| - growBytes(8);
|
| - view.setUint64(position, value, Endianness.LITTLE_ENDIAN);
|
| - position += 8;
|
| - }
|
| -
|
| - void sendOn(Sink<List<int>> sink) {
|
| - sink.add(new Uint8List.view(list.buffer, list.offsetInBytes, position));
|
| - }
|
| -}
|
|
|