Skip to content

Commit 1c78b71

Browse files
committed
runtime: do not force array shape for bytes in lexing.js
1 parent d87f26d commit 1c78b71

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

runtime/lexing.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ function caml_lex_array(s) {
2828

2929
//Provides: caml_lex_engine
3030
//Requires: caml_failwith, caml_lex_array, caml_uint8_array_of_bytes
31+
//Requires: caml_bytes_unsafe_get
3132
function caml_lex_engine(tbl, start_state, lexbuf) {
3233
var lex_buffer = 2;
3334
var lex_buffer_len = 3;
@@ -53,7 +54,7 @@ function caml_lex_engine(tbl, start_state, lexbuf) {
5354
var c,
5455
state = start_state;
5556

56-
var buffer = caml_uint8_array_of_bytes(lexbuf[lex_buffer]);
57+
var buffer = lexbuf[lex_buffer];
5758

5859
if (state >= 0) {
5960
/* First entry */
@@ -79,7 +80,7 @@ function caml_lex_engine(tbl, start_state, lexbuf) {
7980
else c = 256;
8081
} else {
8182
/* Read next input char */
82-
c = buffer[lexbuf[lex_curr_pos]];
83+
c = caml_bytes_unsafe_get(buffer, lexbuf[lex_curr_pos]);
8384
lexbuf[lex_curr_pos]++;
8485
}
8586
/* Determine next state */
@@ -106,6 +107,7 @@ function caml_lex_engine(tbl, start_state, lexbuf) {
106107
//Provides: caml_new_lex_engine
107108
//Requires: caml_failwith, caml_lex_array
108109
//Requires: caml_jsbytes_of_string, caml_uint8_array_of_bytes
110+
//Requires: caml_bytes_unsafe_get
109111
function caml_lex_run_mem(s, i, mem, curr_pos) {
110112
for (;;) {
111113
var dst = s.charCodeAt(i);
@@ -171,7 +173,7 @@ function caml_new_lex_engine(tbl, start_state, lexbuf) {
171173
var c,
172174
state = start_state;
173175

174-
var buffer = caml_uint8_array_of_bytes(lexbuf[lex_buffer]);
176+
var buffer = lexbuf[lex_buffer];
175177

176178
if (state >= 0) {
177179
/* First entry */
@@ -203,7 +205,7 @@ function caml_new_lex_engine(tbl, start_state, lexbuf) {
203205
else c = 256;
204206
} else {
205207
/* Read next input char */
206-
c = buffer[lexbuf[lex_curr_pos]];
208+
c = caml_bytes_unsafe_get(buffer, lexbuf[lex_curr_pos]);
207209
lexbuf[lex_curr_pos]++;
208210
}
209211
/* Determine next state */

0 commit comments

Comments
 (0)