Skip to content

Commit 55db705

Browse files
remove dtoa32/dtoa64
1 parent bf9a07b commit 55db705

File tree

8 files changed

+512
-712
lines changed

8 files changed

+512
-712
lines changed

std/assembly/number.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { itoa32, utoa32, itoa64, utoa64, dtoa32, dtoa64 } from "./util/number";
1+
import { itoa32, utoa32, itoa64, utoa64, dtoa } from "./util/number";
22
import { strtol, strtod } from "./util/string";
33

44
// @ts-ignore: decorator
@@ -315,7 +315,7 @@ export abstract class F32 {
315315
}
316316

317317
toString(this: f32, radix: i32 = 0): String {
318-
return dtoa32(this);
318+
return dtoa(this);
319319
}
320320
}
321321

@@ -381,7 +381,7 @@ export abstract class F64 {
381381
}
382382

383383
toString(this: f64, radix: i32 = 0): String {
384-
return dtoa64(this);
384+
return dtoa(this);
385385
}
386386
}
387387

std/assembly/util/number.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -750,14 +750,6 @@ export function dtoa<T extends number>(value: T): String {
750750
}
751751
}
752752

753-
export function dtoa32(value: f32): String {
754-
return dtoa_impl(value, true);
755-
}
756-
757-
export function dtoa64(value: f64): String {
758-
return dtoa_impl(value, false);
759-
}
760-
761753
// @ts-ignore: decorator
762754
@inline
763755
function dtoa_impl(value: f64, isSingle: bool): String {

tests/compiler/issues/2873.debug.wat

Lines changed: 24 additions & 177 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
(type $4 (func))
77
(type $5 (func (param i32 i32 i32) (result i32)))
88
(type $6 (func (param i32 i32 i32)))
9-
(type $7 (func (param f32) (result i32)))
10-
(type $8 (func (param f64) (result i32)))
11-
(type $9 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32)))
12-
(type $10 (func (param i32 f64 i32) (result i32)))
13-
(type $11 (func (param i32 i32 i32 i32)))
14-
(type $12 (func (param i32 i32 i64) (result i32)))
15-
(type $13 (func (result i32)))
16-
(type $14 (func (param f32 i32) (result i32)))
17-
(type $15 (func (param i32 i32 i32 i32 i32) (result i32)))
18-
(type $16 (func (param f64 i32) (result i32)))
19-
(type $17 (func (param i32 f32) (result i32)))
20-
(type $18 (func (param i32 f64) (result i32)))
9+
(type $7 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32)))
10+
(type $8 (func (param i32 f64 i32) (result i32)))
11+
(type $9 (func (param i32 i32 i32 i32)))
12+
(type $10 (func (param i32 i32 i64) (result i32)))
13+
(type $11 (func (result i32)))
14+
(type $12 (func (param f32 i32) (result i32)))
15+
(type $13 (func (param i32 i32 i32 i32 i32) (result i32)))
16+
(type $14 (func (param f64 i32) (result i32)))
17+
(type $15 (func (param i32 f32) (result i32)))
18+
(type $16 (func (param i32 f64) (result i32)))
19+
(type $17 (func (param f32) (result i32)))
20+
(type $18 (func (param f64) (result i32)))
2121
(import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32)))
2222
(global $~lib/util/number/_frc_plus (mut i64) (i64.const 0))
2323
(global $~lib/util/number/_frc_minus (mut i64) (i64.const 0))
@@ -3845,7 +3845,7 @@
38453845
)
38463846
(func $~lib/number/F32#toString (param $this f32) (param $radix i32) (result i32)
38473847
local.get $this
3848-
call $~lib/util/number/dtoa32
3848+
call $~lib/util/number/dtoa<f32>
38493849
return
38503850
)
38513851
(func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32)
@@ -3967,7 +3967,7 @@
39673967
)
39683968
(func $~lib/number/F64#toString (param $this f64) (param $radix i32) (result i32)
39693969
local.get $this
3970-
call $~lib/util/number/dtoa64
3970+
call $~lib/util/number/dtoa<f64>
39713971
return
39723972
)
39733973
(func $~lib/array/Array<f32>#get:dataStart (param $this i32) (result i32)
@@ -5175,159 +5175,6 @@
51755175
i32.add
51765176
global.set $~lib/memory/__stack_pointer
51775177
)
5178-
(func $~lib/util/number/dtoa32 (param $value f32) (result i32)
5179-
(local $value|1 f64)
5180-
(local $isSingle i32)
5181-
(local $size i32)
5182-
(local $result i32)
5183-
(local $5 i32)
5184-
global.get $~lib/memory/__stack_pointer
5185-
i32.const 4
5186-
i32.sub
5187-
global.set $~lib/memory/__stack_pointer
5188-
call $~stack_check
5189-
global.get $~lib/memory/__stack_pointer
5190-
i32.const 0
5191-
i32.store
5192-
block $~lib/util/number/dtoa_impl|inlined.0 (result i32)
5193-
local.get $value
5194-
f64.promote_f32
5195-
local.set $value|1
5196-
i32.const 1
5197-
local.set $isSingle
5198-
local.get $value|1
5199-
f64.const 0
5200-
f64.eq
5201-
if
5202-
i32.const 32
5203-
br $~lib/util/number/dtoa_impl|inlined.0
5204-
end
5205-
local.get $value|1
5206-
local.get $value|1
5207-
f64.sub
5208-
f64.const 0
5209-
f64.eq
5210-
i32.eqz
5211-
if
5212-
local.get $value|1
5213-
local.get $value|1
5214-
f64.ne
5215-
if
5216-
i32.const 64
5217-
br $~lib/util/number/dtoa_impl|inlined.0
5218-
end
5219-
i32.const 96
5220-
i32.const 144
5221-
local.get $value|1
5222-
f64.const 0
5223-
f64.lt
5224-
select
5225-
br $~lib/util/number/dtoa_impl|inlined.0
5226-
end
5227-
i32.const 176
5228-
local.get $value|1
5229-
local.get $isSingle
5230-
call $~lib/util/number/dtoa_core
5231-
i32.const 1
5232-
i32.shl
5233-
local.set $size
5234-
global.get $~lib/memory/__stack_pointer
5235-
local.get $size
5236-
i32.const 2
5237-
call $~lib/rt/itcms/__new
5238-
local.tee $result
5239-
i32.store
5240-
local.get $result
5241-
i32.const 176
5242-
local.get $size
5243-
memory.copy
5244-
local.get $result
5245-
br $~lib/util/number/dtoa_impl|inlined.0
5246-
end
5247-
local.set $5
5248-
global.get $~lib/memory/__stack_pointer
5249-
i32.const 4
5250-
i32.add
5251-
global.set $~lib/memory/__stack_pointer
5252-
local.get $5
5253-
return
5254-
)
5255-
(func $~lib/util/number/dtoa64 (param $value f64) (result i32)
5256-
(local $value|1 f64)
5257-
(local $isSingle i32)
5258-
(local $size i32)
5259-
(local $result i32)
5260-
(local $5 i32)
5261-
global.get $~lib/memory/__stack_pointer
5262-
i32.const 4
5263-
i32.sub
5264-
global.set $~lib/memory/__stack_pointer
5265-
call $~stack_check
5266-
global.get $~lib/memory/__stack_pointer
5267-
i32.const 0
5268-
i32.store
5269-
block $~lib/util/number/dtoa_impl|inlined.1 (result i32)
5270-
local.get $value
5271-
local.set $value|1
5272-
i32.const 0
5273-
local.set $isSingle
5274-
local.get $value|1
5275-
f64.const 0
5276-
f64.eq
5277-
if
5278-
i32.const 32
5279-
br $~lib/util/number/dtoa_impl|inlined.1
5280-
end
5281-
local.get $value|1
5282-
local.get $value|1
5283-
f64.sub
5284-
f64.const 0
5285-
f64.eq
5286-
i32.eqz
5287-
if
5288-
local.get $value|1
5289-
local.get $value|1
5290-
f64.ne
5291-
if
5292-
i32.const 64
5293-
br $~lib/util/number/dtoa_impl|inlined.1
5294-
end
5295-
i32.const 96
5296-
i32.const 144
5297-
local.get $value|1
5298-
f64.const 0
5299-
f64.lt
5300-
select
5301-
br $~lib/util/number/dtoa_impl|inlined.1
5302-
end
5303-
i32.const 176
5304-
local.get $value|1
5305-
local.get $isSingle
5306-
call $~lib/util/number/dtoa_core
5307-
i32.const 1
5308-
i32.shl
5309-
local.set $size
5310-
global.get $~lib/memory/__stack_pointer
5311-
local.get $size
5312-
i32.const 2
5313-
call $~lib/rt/itcms/__new
5314-
local.tee $result
5315-
i32.store
5316-
local.get $result
5317-
i32.const 176
5318-
local.get $size
5319-
memory.copy
5320-
local.get $result
5321-
br $~lib/util/number/dtoa_impl|inlined.1
5322-
end
5323-
local.set $5
5324-
global.get $~lib/memory/__stack_pointer
5325-
i32.const 4
5326-
i32.add
5327-
global.set $~lib/memory/__stack_pointer
5328-
local.get $5
5329-
return
5330-
)
53315178
(func $~lib/util/number/dtoa<f32> (param $value f32) (result i32)
53325179
(local $value|1 f64)
53335180
(local $isSingle i32)
@@ -5346,7 +5193,7 @@
53465193
i32.const 4
53475194
i32.eq
53485195
drop
5349-
block $~lib/util/number/dtoa_impl|inlined.2 (result i32)
5196+
block $~lib/util/number/dtoa_impl|inlined.0 (result i32)
53505197
local.get $value
53515198
f64.promote_f32
53525199
local.set $value|1
@@ -5357,7 +5204,7 @@
53575204
f64.eq
53585205
if
53595206
i32.const 32
5360-
br $~lib/util/number/dtoa_impl|inlined.2
5207+
br $~lib/util/number/dtoa_impl|inlined.0
53615208
end
53625209
local.get $value|1
53635210
local.get $value|1
@@ -5371,15 +5218,15 @@
53715218
f64.ne
53725219
if
53735220
i32.const 64
5374-
br $~lib/util/number/dtoa_impl|inlined.2
5221+
br $~lib/util/number/dtoa_impl|inlined.0
53755222
end
53765223
i32.const 96
53775224
i32.const 144
53785225
local.get $value|1
53795226
f64.const 0
53805227
f64.lt
53815228
select
5382-
br $~lib/util/number/dtoa_impl|inlined.2
5229+
br $~lib/util/number/dtoa_impl|inlined.0
53835230
end
53845231
i32.const 176
53855232
local.get $value|1
@@ -5399,7 +5246,7 @@
53995246
local.get $size
54005247
memory.copy
54015248
local.get $result
5402-
br $~lib/util/number/dtoa_impl|inlined.2
5249+
br $~lib/util/number/dtoa_impl|inlined.0
54035250
end
54045251
local.set $5
54055252
global.get $~lib/memory/__stack_pointer
@@ -5427,7 +5274,7 @@
54275274
i32.const 4
54285275
i32.eq
54295276
drop
5430-
block $~lib/util/number/dtoa_impl|inlined.3 (result i32)
5277+
block $~lib/util/number/dtoa_impl|inlined.1 (result i32)
54315278
local.get $value
54325279
local.set $value|1
54335280
i32.const 0
@@ -5437,7 +5284,7 @@
54375284
f64.eq
54385285
if
54395286
i32.const 32
5440-
br $~lib/util/number/dtoa_impl|inlined.3
5287+
br $~lib/util/number/dtoa_impl|inlined.1
54415288
end
54425289
local.get $value|1
54435290
local.get $value|1
@@ -5451,15 +5298,15 @@
54515298
f64.ne
54525299
if
54535300
i32.const 64
5454-
br $~lib/util/number/dtoa_impl|inlined.3
5301+
br $~lib/util/number/dtoa_impl|inlined.1
54555302
end
54565303
i32.const 96
54575304
i32.const 144
54585305
local.get $value|1
54595306
f64.const 0
54605307
f64.lt
54615308
select
5462-
br $~lib/util/number/dtoa_impl|inlined.3
5309+
br $~lib/util/number/dtoa_impl|inlined.1
54635310
end
54645311
i32.const 176
54655312
local.get $value|1
@@ -5479,7 +5326,7 @@
54795326
local.get $size
54805327
memory.copy
54815328
local.get $result
5482-
br $~lib/util/number/dtoa_impl|inlined.3
5329+
br $~lib/util/number/dtoa_impl|inlined.1
54835330
end
54845331
local.set $5
54855332
global.get $~lib/memory/__stack_pointer

0 commit comments

Comments
 (0)