Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1211)

Side by Side Diff: frog/leg/scanner/node_scanner_bench.dart

Issue 9873021: Move frog/leg to lib/compiler/implementation. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « frog/leg/scanner/motile_node.dart ('k') | frog/leg/scanner/parser.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 #library('node_scanner_bench');
6 #import('../../lib/node/node.dart');
7 #import('scannerlib.dart');
8 #import('scanner_implementation.dart');
9 #import('scanner_bench.dart');
10 #import('../../../lib/utf/utf.dart');
11 #source('byte_strings.dart');
12 #source('byte_array_scanner.dart');
13
14 class NodeScannerBench extends ScannerBench {
15 int getBytes(String filename, void callback(bytes)) {
16 // This actually returns a buffer, not a String.
17 var s = fs.readFileSync(filename, null);
18 callback(s);
19 return s.length;
20 }
21
22 Scanner makeScanner(bytes) => new InflexibleByteArrayScanner(bytes);
23
24 void checkExistence(String filename) {
25 if (!path.existsSync(filename)) {
26 throw "no such file: ${filename}";
27 }
28 }
29 }
30
31 class InflexibleByteArrayScanner extends ByteArrayScanner {
32 InflexibleByteArrayScanner(List<int> bytes) : super(bytes);
33
34 int byteAt(int index) => (bytes.length > index) ? bytes[index] : $EOF;
35
36 int advance() {
37 // This method should be equivalent to the one in super. However,
38 // this is a *HOT* method and V8 performs better if it is easy to
39 // inline.
40 int index = ++byteOffset;
41 int next = (bytes.length > index) ? bytes[index] : $EOF;
42 return next;
43 }
44 }
45
46 main() {
47 new NodeScannerBench().main(argv);
48 }
OLDNEW
« no previous file with comments | « frog/leg/scanner/motile_node.dart ('k') | frog/leg/scanner/parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698