Przeglądaj źródła

don't generate TLazy and remove random bool

Also add comment about empty anons
Simon Krajewski 1 rok temu
rodzic
commit
47cdc2874b
2 zmienionych plików z 4 dodań i 10 usunięć
  1. 2 8
      src/compiler/hxb/hxbReader.ml
  2. 2 2
      src/compiler/hxb/hxbWriter.ml

+ 2 - 8
src/compiler/hxb/hxbReader.ml

@@ -686,16 +686,13 @@ class hxb_reader
 			let args = self#read_list f in
 			let ret = self#read_type_instance in
 			TFun(args,ret)
-		| 33 ->
-			self#read_type_instance
 		| 40 ->
 			t_dynamic
 		| 41 ->
 			TDynamic (Some self#read_type_instance)
 		| 50 ->
-			let empty = self#read_bool in
-			if empty then mk_anon (ref Closed)
-			else TAnon self#read_anon_ref
+			(* HXB_TODO: Do we really want to make a new TAnon for every empty anon? *)
+			mk_anon (ref Closed)
 		| 51 ->
 			TAnon self#read_anon_ref
 		| 100 ->
@@ -1226,9 +1223,6 @@ class hxb_reader
 	method read_class_kind = match self#read_u8 with
 		| 0 -> KNormal
 		| 1 ->
-			(* TODO *)
-			(* let tl = self#read_types in *)
-			(* KTypeParameter *)
 			die "TODO" __LOC__
 		| 2 -> KExpr self#read_expr
 		| 3 -> KGeneric

+ 2 - 2
src/compiler/hxb/hxbWriter.ml

@@ -588,7 +588,6 @@ class ['a] hxb_writer
 			chunk#write_list args write_function_arg;
 			self#write_type_instance t;
 		| TLazy r ->
-			chunk#write_byte 33;
 			self#write_type_instance (lazy_type r);
 		| TDynamic None ->
 			chunk#write_byte 40
@@ -597,7 +596,6 @@ class ['a] hxb_writer
 			self#write_type_instance t;
 		| TAnon an when PMap.is_empty an.a_fields ->
 			chunk#write_byte 50;
-			chunk#write_bool true
 		| TAnon an ->
 			chunk#write_byte 51;
 			self#write_anon_ref an []
@@ -971,9 +969,11 @@ class ['a] hxb_writer
 			) in
 			begin try
 				let index = fctx.t_pool#get t_bytes in
+				incr t_pool_hits;
 				chunk#write_byte 0;
 				chunk#write_uleb128 index
 			with Not_found ->
+				incr t_pool_misses;
 				chunk#write_byte 1;
 				ignore(fctx.t_pool#add t_bytes ());
 				IO.nwrite chunk#ch t_bytes