Skip to content

Commit fbb1450

Browse files
committed
remove caml_char module
1 parent 8ecbad9 commit fbb1450

File tree

8 files changed

+31
-83
lines changed

8 files changed

+31
-83
lines changed

jscomp/ext/js_runtime_modules.ml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ let array = "Caml_array"
3333
let format = "Caml_format"
3434
let string = "Caml_string"
3535
let bytes = "Caml_bytes"
36-
let char = "Caml_char"
3736
let float = "Caml_float"
3837
let hash_primitive = "Caml_hash_primitive"
3938
let hash = "Caml_hash"

jscomp/runtime/caml_char.ml

Lines changed: 0 additions & 30 deletions
This file was deleted.

jscomp/runtime/caml_format.ml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,16 @@
2424

2525

2626

27+
external (.![]) : string -> int -> int = "%string_unsafe_get"
2728

29+
let code_0 = "0".![0]
30+
let code_a = "a".![0]
31+
let code_A = "A".![0]
32+
33+
module Caml_char = struct
34+
external code : char -> int = "%identity"
35+
external unsafe_chr : int -> char = "%identity"
36+
end
2837

2938
let caml_failwith s = raise (Failure s)
3039
(* let caml_invalid_argument s= raise (Invalid_argument s ) *)
@@ -39,11 +48,11 @@ let ( *~ ) = Caml_nativeint_extern.mul
3948
let parse_digit c =
4049
match c with
4150
| '0' .. '9'
42-
-> Caml_char.code c - Caml_char.code '0'
51+
-> Caml_char.code c - code_0
4352
| 'A' .. 'Z'
44-
-> Caml_char.code c - (Caml_char.code 'A' - 10)
53+
-> Caml_char.code c - (code_A - 10)
4554
| 'a' .. 'z'
46-
-> Caml_char.code c - (Caml_char.code 'a' - 10 )
55+
-> Caml_char.code c - (code_a - 10 )
4756
| _ -> -1
4857

4958
type of_string_base =
@@ -183,7 +192,7 @@ type fmt = {
183192
mutable conv : string
184193
}
185194

186-
let lowercase c =
195+
let lowercase (c : char) : char =
187196
if (c >= 'A' && c <= 'Z')
188197
|| (c >= '\192' && c <= '\214')
189198
|| (c >= '\216' && c <= '\222')
@@ -219,8 +228,8 @@ let parse_format fmt =
219228
f.width <- 0;
220229
let j = ref i in
221230

222-
while (let w = Caml_char.code fmt.[j.contents] - Caml_char.code '0' in w >=0 && w <= 9 ) do
223-
f.width <- f.width * 10 + Caml_char.code fmt.[j.contents] - Caml_char.code '0';
231+
while (let w = fmt.![j.contents] - code_0 in w >=0 && w <= 9 ) do
232+
f.width <- f.width * 10 + fmt.![j.contents] - code_0;
224233
j.contents <- j.contents + 1
225234
done;
226235
aux f j.contents
@@ -229,8 +238,8 @@ let parse_format fmt =
229238
->
230239
f.prec <- 0;
231240
let j = ref (i + 1 ) in
232-
while (let w = Caml_char.code fmt.[j.contents] - Caml_char.code '0' in w >=0 && w <= 9 ) do
233-
f.prec <- f.prec * 10 + Caml_char.code fmt.[j.contents] - Caml_char.code '0';
241+
while (let w = fmt.![j.contents] - code_0 in w >=0 && w <= 9 ) do
242+
f.prec <- f.prec * 10 + fmt.![j.contents] - code_0;
234243
j.contents <- j.contents + 1;
235244
done;
236245
aux f j.contents

jscomp/runtime/caml_hash_primitive.ml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ external ( +~ ) : nativeint -> nativeint -> nativeint = "caml_int32_add"
3737
let rotl32 (x : nativeint) n =
3838
(x << n) |~ (x >>> (32 - n))
3939

40-
40+
external (.![]) : string -> int -> int = "charCodeAt" [@@bs.send]
4141
let caml_hash_mix_int h d =
4242
let d = ref d in
4343
d.contents <- d.contents *~ 0xcc9e2d51n ;
@@ -63,10 +63,10 @@ let caml_hash_mix_string h s =
6363
for i = 0 to block do
6464
let j = 4 * i in
6565
let w =
66-
Caml_char.code s.[j] lor
67-
(Caml_char.code s.[j+1] lsl 8) lor
68-
(Caml_char.code s.[j+2] lsl 16) lor
69-
(Caml_char.code s.[j+3] lsl 24)
66+
s.![j] lor
67+
(s.![j+1] lsl 8) lor
68+
(s.![j+2] lsl 16) lor
69+
(s.![j+3] lsl 24)
7070
in
7171
hash.contents <- caml_hash_mix_int hash.contents (Caml_nativeint_extern.of_int w)
7272
done ;
@@ -75,13 +75,13 @@ let caml_hash_mix_string h s =
7575
begin
7676
let w =
7777
if modulo = 3 then
78-
(Caml_char.code s.[len - 1] lsl 16) lor
79-
(Caml_char.code s.[len - 2] lsl 8) lor
80-
(Caml_char.code s.[len - 3])
78+
(s.![len - 1] lsl 16) lor
79+
(s.![len - 2] lsl 8) lor
80+
s.![len - 3]
8181
else if modulo = 2 then
82-
(Caml_char.code s.[len -1] lsl 8) lor
83-
Caml_char.code s.[len -2]
84-
else Caml_char.code s.[len - 1]
82+
(s.![len -1] lsl 8) lor
83+
s.![len -2]
84+
else s.![len - 1]
8585
in
8686
hash.contents <- caml_hash_mix_int hash.contents (Caml_nativeint_extern.of_int w)
8787
end;

jscomp/runtime/caml_int64.ml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -524,30 +524,3 @@ let float_of_bits ( x : t) : float =
524524
let bits_of_float : float -> t = fun x ->
525525
let lo,hi = ([%raw{|function(x){return new Int32Array(new Float64Array([x]).buffer)}|}] : _ -> _) x in
526526
mk ~lo ~hi
527-
(* let to_nat (x : int32) = x |> Caml_int32_extern.to_int |> Caml_nativeint_extern.of_int in
528-
529-
let u = Float64_array.make [| x |] in
530-
let int32 = Int32_array.fromBuffer (Float64_array.buffer u) in
531-
mk ~lo:(to_nat (Int32_array.unsafe_get int32 0))
532-
~hi:( to_nat (Int32_array.unsafe_get int32 1)) *)
533-
534-
(** used by "%caml_string_get64" *)
535-
(* let get64 (s : string) (i:int) : t =
536-
let module String = Caml_string_extern in
537-
mk ~lo:
538-
(Caml_nativeint_extern.logor
539-
(Caml_nativeint_extern.logor
540-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i]))
541-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+1]) << 8))
542-
(Caml_nativeint_extern.logor
543-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+2]) << 16 )
544-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+3]) << 24 )))
545-
~hi:
546-
(Caml_nativeint_extern.logor
547-
(Caml_nativeint_extern.logor
548-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+4]) << 32)
549-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+5]) << 40))
550-
(Caml_nativeint_extern.logor
551-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+6]) << 48 )
552-
(Caml_nativeint_extern.of_int (Caml_char.code s.[i+7]) << 56 )))
553-
*)

jscomp/runtime/release.ninja

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ build runtime/caml_bytes.cmj : cc_cmi runtime/caml_bytes.ml | runtime/caml_bytes
1919
build runtime/caml_bytes.cmi : cc runtime/caml_bytes.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
2020
build runtime/caml_float.cmj : cc_cmi runtime/caml_float.ml | runtime/caml_float.cmi runtime/caml_float_extern.cmj
2121
build runtime/caml_float.cmi : cc runtime/caml_float.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
22-
build runtime/caml_format.cmj : cc_cmi runtime/caml_format.ml | runtime/caml_char.cmj runtime/caml_float.cmj runtime/caml_float_extern.cmj runtime/caml_format.cmi runtime/caml_int64.cmj runtime/caml_int64_extern.cmj runtime/caml_nativeint_extern.cmj runtime/caml_string_extern.cmj
22+
build runtime/caml_format.cmj : cc_cmi runtime/caml_format.ml | runtime/caml_float.cmj runtime/caml_float_extern.cmj runtime/caml_format.cmi runtime/caml_int64.cmj runtime/caml_int64_extern.cmj runtime/caml_nativeint_extern.cmj runtime/caml_string_extern.cmj
2323
build runtime/caml_format.cmi : cc runtime/caml_format.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
2424
build runtime/caml_gc.cmj : cc_cmi runtime/caml_gc.ml | runtime/caml_gc.cmi
2525
build runtime/caml_gc.cmi : cc runtime/caml_gc.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
2626
build runtime/caml_hash.cmj : cc_cmi runtime/caml_hash.ml | runtime/caml_hash.cmi runtime/caml_hash_primitive.cmj runtime/caml_nativeint_extern.cmj runtime/js.cmj
2727
build runtime/caml_hash.cmi : cc runtime/caml_hash.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
28-
build runtime/caml_hash_primitive.cmj : cc_cmi runtime/caml_hash_primitive.ml | runtime/caml_char.cmj runtime/caml_hash_primitive.cmi runtime/caml_nativeint_extern.cmj runtime/caml_string_extern.cmj
28+
build runtime/caml_hash_primitive.cmj : cc_cmi runtime/caml_hash_primitive.ml | runtime/caml_hash_primitive.cmi runtime/caml_nativeint_extern.cmj runtime/caml_string_extern.cmj
2929
build runtime/caml_hash_primitive.cmi : cc runtime/caml_hash_primitive.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
3030
build runtime/caml_int32.cmj : cc_cmi runtime/caml_int32.ml | runtime/caml_int32.cmi runtime/caml_nativeint_extern.cmj
3131
build runtime/caml_int32.cmi : cc runtime/caml_int32.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
@@ -57,7 +57,6 @@ build runtime/caml_sys.cmj : cc_cmi runtime/caml_sys.ml | runtime/caml_array_ext
5757
build runtime/caml_sys.cmi : cc runtime/caml_sys.mli | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
5858
build runtime/caml_array_extern.cmi runtime/caml_array_extern.cmj : cc runtime/caml_array_extern.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
5959
build runtime/caml_bytes_extern.cmi runtime/caml_bytes_extern.cmj : cc runtime/caml_bytes_extern.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
60-
build runtime/caml_char.cmi runtime/caml_char.cmj : cc runtime/caml_char.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
6160
build runtime/caml_exceptions.cmi runtime/caml_exceptions.cmj : cc runtime/caml_exceptions.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
6261
build runtime/caml_external_polyfill.cmi runtime/caml_external_polyfill.cmj : cc runtime/caml_external_polyfill.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
6362
build runtime/caml_float_extern.cmi runtime/caml_float_extern.cmj : cc runtime/caml_float_extern.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
@@ -69,4 +68,4 @@ build runtime/caml_oo_curry.cmi runtime/caml_oo_curry.cmj : cc runtime/caml_oo_c
6968
build runtime/caml_string_extern.cmi runtime/caml_string_extern.cmj : cc runtime/caml_string_extern.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
7069
build runtime/caml_undefined_extern.cmi runtime/caml_undefined_extern.cmj : cc runtime/caml_undefined_extern.ml | runtime/bs_stdlib_mini.cmi runtime/js.cmi runtime/js.cmj
7170
build runtime/curry.cmi runtime/curry.cmj : cc runtime/curry.ml | runtime/bs_stdlib_mini.cmi runtime/caml_array.cmj runtime/caml_array_extern.cmj runtime/js.cmi runtime/js.cmj
72-
build runtime : phony runtime/bs_stdlib_mini.cmi runtime/js.cmj runtime/js.cmi runtime/caml_array.cmi runtime/caml_array.cmj runtime/caml_bytes.cmi runtime/caml_bytes.cmj runtime/caml_float.cmi runtime/caml_float.cmj runtime/caml_format.cmi runtime/caml_format.cmj runtime/caml_gc.cmi runtime/caml_gc.cmj runtime/caml_hash.cmi runtime/caml_hash.cmj runtime/caml_hash_primitive.cmi runtime/caml_hash_primitive.cmj runtime/caml_int32.cmi runtime/caml_int32.cmj runtime/caml_int64.cmi runtime/caml_int64.cmj runtime/caml_io.cmi runtime/caml_io.cmj runtime/caml_lexer.cmi runtime/caml_lexer.cmj runtime/caml_md5.cmi runtime/caml_md5.cmj runtime/caml_module.cmi runtime/caml_module.cmj runtime/caml_obj.cmi runtime/caml_obj.cmj runtime/caml_oo.cmi runtime/caml_oo.cmj runtime/caml_option.cmi runtime/caml_option.cmj runtime/caml_parser.cmi runtime/caml_parser.cmj runtime/caml_primitive.cmi runtime/caml_primitive.cmj runtime/caml_splice_call.cmi runtime/caml_splice_call.cmj runtime/caml_string.cmi runtime/caml_string.cmj runtime/caml_sys.cmi runtime/caml_sys.cmj runtime/caml_array_extern.cmi runtime/caml_array_extern.cmj runtime/caml_bytes_extern.cmi runtime/caml_bytes_extern.cmj runtime/caml_char.cmi runtime/caml_char.cmj runtime/caml_exceptions.cmi runtime/caml_exceptions.cmj runtime/caml_external_polyfill.cmi runtime/caml_external_polyfill.cmj runtime/caml_float_extern.cmi runtime/caml_float_extern.cmj runtime/caml_int32_extern.cmi runtime/caml_int32_extern.cmj runtime/caml_int64_extern.cmi runtime/caml_int64_extern.cmj runtime/caml_js_exceptions.cmi runtime/caml_js_exceptions.cmj runtime/caml_nativeint_extern.cmi runtime/caml_nativeint_extern.cmj runtime/caml_oo_curry.cmi runtime/caml_oo_curry.cmj runtime/caml_string_extern.cmi runtime/caml_string_extern.cmj runtime/caml_undefined_extern.cmi runtime/caml_undefined_extern.cmj runtime/curry.cmi runtime/curry.cmj
71+
build runtime : phony runtime/bs_stdlib_mini.cmi runtime/js.cmj runtime/js.cmi runtime/caml_array.cmi runtime/caml_array.cmj runtime/caml_bytes.cmi runtime/caml_bytes.cmj runtime/caml_float.cmi runtime/caml_float.cmj runtime/caml_format.cmi runtime/caml_format.cmj runtime/caml_gc.cmi runtime/caml_gc.cmj runtime/caml_hash.cmi runtime/caml_hash.cmj runtime/caml_hash_primitive.cmi runtime/caml_hash_primitive.cmj runtime/caml_int32.cmi runtime/caml_int32.cmj runtime/caml_int64.cmi runtime/caml_int64.cmj runtime/caml_io.cmi runtime/caml_io.cmj runtime/caml_lexer.cmi runtime/caml_lexer.cmj runtime/caml_md5.cmi runtime/caml_md5.cmj runtime/caml_module.cmi runtime/caml_module.cmj runtime/caml_obj.cmi runtime/caml_obj.cmj runtime/caml_oo.cmi runtime/caml_oo.cmj runtime/caml_option.cmi runtime/caml_option.cmj runtime/caml_parser.cmi runtime/caml_parser.cmj runtime/caml_primitive.cmi runtime/caml_primitive.cmj runtime/caml_splice_call.cmi runtime/caml_splice_call.cmj runtime/caml_string.cmi runtime/caml_string.cmj runtime/caml_sys.cmi runtime/caml_sys.cmj runtime/caml_array_extern.cmi runtime/caml_array_extern.cmj runtime/caml_bytes_extern.cmi runtime/caml_bytes_extern.cmj runtime/caml_exceptions.cmi runtime/caml_exceptions.cmj runtime/caml_external_polyfill.cmi runtime/caml_external_polyfill.cmj runtime/caml_float_extern.cmi runtime/caml_float_extern.cmj runtime/caml_int32_extern.cmi runtime/caml_int32_extern.cmj runtime/caml_int64_extern.cmi runtime/caml_int64_extern.cmj runtime/caml_js_exceptions.cmi runtime/caml_js_exceptions.cmj runtime/caml_nativeint_extern.cmi runtime/caml_nativeint_extern.cmj runtime/caml_oo_curry.cmi runtime/caml_oo_curry.cmj runtime/caml_string_extern.cmi runtime/caml_string_extern.cmj runtime/caml_undefined_extern.cmi runtime/caml_undefined_extern.cmj runtime/curry.cmi runtime/curry.cmj

lib/es6/caml_char.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/js/caml_char.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)