Skip to content

Commit 4213eac

Browse files
committed
Remove all usage of JERRY_NUMBER_TYPE_FLOAT64, only leave the config behind
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
1 parent 64ad71e commit 4213eac

19 files changed

+8
-225
lines changed

jerry-core/api/jerry-snapshot.c

-4
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,7 @@ snapshot_write_to_buffer_by_offset (uint8_t *buffer_p, /**< buffer */
123123
/**
124124
* Maximum snapshot write buffer offset.
125125
*/
126-
#if !JERRY_NUMBER_TYPE_FLOAT64
127-
#define JERRY_SNAPSHOT_MAXIMUM_WRITE_OFFSET (0x7fffff >> 1)
128-
#else /* JERRY_NUMBER_TYPE_FLOAT64 */
129126
#define JERRY_SNAPSHOT_MAXIMUM_WRITE_OFFSET (UINT32_MAX >> 1)
130-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
131127

132128
/**
133129
* Save snapshot helper.

jerry-core/api/jerryscript.c

-2
Original file line numberDiff line numberDiff line change
@@ -6592,9 +6592,7 @@ static jerry_typedarray_mapping_t jerry_typedarray_mappings[] = {
65926592
TYPEDARRAY_ENTRY (INT8, INT8, 0), TYPEDARRAY_ENTRY (UINT16, UINT16, 1),
65936593
TYPEDARRAY_ENTRY (INT16, INT16, 1), TYPEDARRAY_ENTRY (UINT32, UINT32, 2),
65946594
TYPEDARRAY_ENTRY (INT32, INT32, 2), TYPEDARRAY_ENTRY (FLOAT32, FLOAT32, 2),
6595-
#if JERRY_NUMBER_TYPE_FLOAT64
65966595
TYPEDARRAY_ENTRY (FLOAT64, FLOAT64, 3),
6597-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
65986596
#if JERRY_BUILTIN_BIGINT
65996597
TYPEDARRAY_ENTRY (BIGINT64, BIGINT64, 3), TYPEDARRAY_ENTRY (BIGUINT64, BIGUINT64, 3),
66006598
#endif /* JERRY_BUILTIN_BIGINT */

jerry-core/config.h

-7
Original file line numberDiff line numberDiff line change
@@ -666,13 +666,6 @@
666666
* Cross component requirements check.
667667
*/
668668

669-
/**
670-
* The date module can only use the float 64 number types.
671-
*/
672-
#if JERRY_BUILTIN_DATE && !JERRY_NUMBER_TYPE_FLOAT64
673-
#error "Date does not support float32"
674-
#endif /* JERRY_BUILTIN_DATE && !JERRY_NUMBER_TYPE_FLOAT64 */
675-
676669
/**
677670
* Source name related types into a single guard
678671
*/

jerry-core/ecma/base/ecma-error-messages.inc.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -475,10 +475,8 @@ ECMA_ERROR_DEF (ECMA_ERR_ARGUMENT_THIS_NOT_BOOLEAN_OBJECT, "Argument 'this' is n
475475
ECMA_ERROR_DEF (ECMA_ERR_CANNOT_DECLARE_SAME_PRIVATE_FIELD_TWICE, "Cannot declare same private field twice")
476476
#if JERRY_BUILTIN_TYPEDARRAY
477477
ECMA_ERROR_DEF (ECMA_ERR_CONSTRUCTOR_FLOAT32_ARRAY_REQUIRES_NEW, "Constructor Float32Array requires 'new'")
478-
#endif /* JERRY_BUILTIN_TYPEDARRAY */
479-
#if JERRY_BUILTIN_TYPEDARRAY && JERRY_NUMBER_TYPE_FLOAT64
480478
ECMA_ERROR_DEF (ECMA_ERR_CONSTRUCTOR_FLOAT64_ARRAY_REQUIRES_NEW, "Constructor Float64Array requires 'new'")
481-
#endif /* JERRY_BUILTIN_TYPEDARRAY && JERRY_NUMBER_TYPE_FLOAT64 */
479+
#endif /* JERRY_BUILTIN_TYPEDARRAY */
482480
ECMA_ERROR_DEF (ECMA_ERR_FUNCTION_PROTOTYPE_NOT_A_CONSTRUCTOR, "Function.prototype is not a constructor")
483481
#if JERRY_MODULE_SYSTEM
484482
ECMA_ERROR_DEF (ECMA_ERR_IMPORTED_BINDING_SHADOWS_LOCAL_VARIABLE, "Imported binding shadows local variable")

jerry-core/ecma/base/ecma-globals.h

+2-32
Original file line numberDiff line numberDiff line change
@@ -218,45 +218,23 @@ enum
218218
#endif /* JERRY_BUILTIN_GLOBAL_THIS */
219219
};
220220

221-
#if !JERRY_NUMBER_TYPE_FLOAT64
222221
/**
223222
* Maximum integer number for an ecma value
224223
*/
225-
#define ECMA_INTEGER_NUMBER_MAX 0x7fffff
226-
/**
227-
* Maximum integer number for an ecma value (shifted left with ECMA_DIRECT_SHIFT)
228-
*/
229-
#define ECMA_INTEGER_NUMBER_MAX_SHIFTED 0x7fffff0
230-
#else /* JERRY_NUMBER_TYPE_FLOAT64 */
231-
/**
232-
* Maximum integer number for an ecma value
233-
*/
234-
#define ECMA_INTEGER_NUMBER_MAX 0x7ffffff
224+
#define ECMA_INTEGER_NUMBER_MAX 0x7ffffff
235225
/**
236226
* Maximum integer number for an ecma value (shifted left with ECMA_DIRECT_SHIFT)
237227
*/
238228
#define ECMA_INTEGER_NUMBER_MAX_SHIFTED 0x7ffffff0
239-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
240229

241-
#if !JERRY_NUMBER_TYPE_FLOAT64
242-
/**
243-
* Minimum integer number for an ecma value
244-
*/
245-
#define ECMA_INTEGER_NUMBER_MIN -0x7fffff
246-
/**
247-
* Minimum integer number for an ecma value (shifted left with ECMA_DIRECT_SHIFT)
248-
*/
249-
#define ECMA_INTEGER_NUMBER_MIN_SHIFTED -0x7fffff0
250-
#else /* JERRY_NUMBER_TYPE_FLOAT64 */
251230
/**
252231
* Minimum integer number for an ecma value
253232
*/
254-
#define ECMA_INTEGER_NUMBER_MIN -0x8000000
233+
#define ECMA_INTEGER_NUMBER_MIN -0x8000000
255234
/**
256235
* Minimum integer number for an ecma value (shifted left with ECMA_DIRECT_SHIFT)
257236
*/
258237
#define ECMA_INTEGER_NUMBER_MIN_SHIFTED (-0x7fffffff - 1) /* -0x80000000 */
259-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
260238

261239
#if ECMA_DIRECT_SHIFT != 4
262240
#error "Please update ECMA_INTEGER_NUMBER_MIN/MAX_SHIFTED according to the new value of ECMA_DIRECT_SHIFT."
@@ -270,11 +248,7 @@ enum
270248
/**
271249
* Maximum integer number, which if squared, still fits in ecma_integer_value_t
272250
*/
273-
#if !JERRY_NUMBER_TYPE_FLOAT64
274-
#define ECMA_INTEGER_MULTIPLY_MAX 0xb50
275-
#else /* JERRY_NUMBER_TYPE_FLOAT64 */
276251
#define ECMA_INTEGER_MULTIPLY_MAX 0x2d41
277-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
278252

279253
/**
280254
* Checks whether the error flag is set.
@@ -1333,11 +1307,7 @@ typedef struct
13331307
/**
13341308
* Description of an ecma-number
13351309
*/
1336-
#if JERRY_NUMBER_TYPE_FLOAT64
13371310
typedef double ecma_number_t;
1338-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
1339-
typedef float ecma_number_t;
1340-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
13411311

13421312
/**
13431313
* Convert double to an ecma-number.

jerry-core/ecma/base/ecma-helpers-conversion.c

-44
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
* @{
3131
*/
3232

33-
#if JERRY_NUMBER_TYPE_FLOAT64
34-
3533
/**
3634
* \addtogroup ecmahelpersbigintegers Helpers for operations intermediate 128-bit integers
3735
* @{
@@ -250,28 +248,6 @@ ecma_uint64_normalize_shift (uint64_t n) /**< integer to count leading zeros in
250248
* @}
251249
*/
252250

253-
/**
254-
* Number.MAX_VALUE exponent part when using 64 bit float representation.
255-
*/
256-
#define NUMBER_MAX_DECIMAL_EXPONENT 308
257-
/**
258-
* Number.MIN_VALUE exponent part when using 64 bit float representation.
259-
*/
260-
#define NUMBER_MIN_DECIMAL_EXPONENT -324
261-
262-
#elif !JERRY_NUMBER_TYPE_FLOAT64
263-
264-
/**
265-
* Number.MAX_VALUE exponent part when using 32 bit float representation.
266-
*/
267-
#define NUMBER_MAX_DECIMAL_EXPONENT 38
268-
/**
269-
* Number.MIN_VALUE exponent part when using 32 bit float representation.
270-
*/
271-
#define NUMBER_MIN_DECIMAL_EXPONENT -45
272-
273-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
274-
275251
/**
276252
* Value of epsilon
277253
*/
@@ -532,7 +508,6 @@ ecma_utf8_string_to_number (const lit_utf8_byte_t *str_p, /**< utf-8 string */
532508
return sign ? -ECMA_NUMBER_ZERO : ECMA_NUMBER_ZERO;
533509
}
534510

535-
#if JERRY_NUMBER_TYPE_FLOAT64
536511
/*
537512
* 128-bit mantissa storage
538513
*
@@ -625,25 +600,6 @@ ecma_utf8_string_to_number (const lit_utf8_byte_t *str_p, /**< utf-8 string */
625600
JERRY_ASSERT (significand < (1ull << ECMA_NUMBER_FRACTION_WIDTH));
626601

627602
return ecma_number_create (sign, (uint32_t) binary_exponent, significand);
628-
#elif !JERRY_NUMBER_TYPE_FLOAT64
629-
/* Less precise conversion */
630-
ecma_number_t num = (ecma_number_t) (uint32_t) fraction_uint64;
631-
632-
ecma_number_t m = e_sign ? (ecma_number_t) 0.1 : (ecma_number_t) 10.0;
633-
634-
while (e)
635-
{
636-
if (e % 2)
637-
{
638-
num *= m;
639-
}
640-
641-
m *= m;
642-
e /= 2;
643-
}
644-
645-
return num;
646-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
647603
} /* ecma_utf8_string_to_number */
648604

649605
/**

jerry-core/ecma/base/ecma-helpers-number.h

-60
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@
2323
/**
2424
* Binary representation of an ecma-number
2525
*/
26-
#if JERRY_NUMBER_TYPE_FLOAT64
2726
typedef uint64_t ecma_binary_num_t;
28-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
29-
typedef uint32_t ecma_binary_num_t;
30-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
3127

3228
/**
3329
* Makes it possible to read/write the binary representation of an ecma_number_t
@@ -50,11 +46,7 @@ ecma_number_t ecma_number_create (bool sign, uint32_t biased_exp, uint64_t fract
5046
/**
5147
* Maximum number of significant decimal digits that an ecma-number can store
5248
*/
53-
#if JERRY_NUMBER_TYPE_FLOAT64
5449
#define ECMA_NUMBER_MAX_DIGITS (19)
55-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
56-
#define ECMA_NUMBER_MAX_DIGITS (9)
57-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
5850

5951
/**
6052
* Width of sign field
@@ -70,59 +62,35 @@ ecma_number_t ecma_number_create (bool sign, uint32_t biased_exp, uint64_t fract
7062
* See also:
7163
* IEEE-754 2008, 3.6, Table 3.5
7264
*/
73-
#if JERRY_NUMBER_TYPE_FLOAT64
7465
#define ECMA_NUMBER_BIASED_EXP_WIDTH (11)
75-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
76-
#define ECMA_NUMBER_BIASED_EXP_WIDTH (8)
77-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
7866

7967
/**
8068
* Exponent bias
8169
*/
82-
#if JERRY_NUMBER_TYPE_FLOAT64
8370
#define ECMA_NUMBER_EXPONENT_BIAS (1023)
84-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
85-
#define ECMA_NUMBER_EXPONENT_BIAS (127)
86-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
8771

8872
/**
8973
* Width of fraction field
9074
*
9175
* See also:
9276
* IEEE-754 2008, 3.6, Table 3.5
9377
*/
94-
#if JERRY_NUMBER_TYPE_FLOAT64
9578
#define ECMA_NUMBER_FRACTION_WIDTH (52)
96-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
97-
#define ECMA_NUMBER_FRACTION_WIDTH (23)
98-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
9979

10080
/**
10181
* Sign bit in ecma-numbers
10282
*/
103-
#if JERRY_NUMBER_TYPE_FLOAT64
10483
#define ECMA_NUMBER_SIGN_BIT 0x8000000000000000ull
105-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
106-
#define ECMA_NUMBER_SIGN_BIT 0x7f800000u;
107-
#endif /* !JERRY_NUMBER_TYPE_FLOAT64 */
10884

10985
/**
11086
* Binary representation of an IEEE-754 QNaN value.
11187
*/
112-
#if JERRY_NUMBER_TYPE_FLOAT64
11388
#define ECMA_NUMBER_BINARY_QNAN 0x7ff8000000000000ull
114-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
115-
#define ECMA_NUMBER_BINARY_QNAN 0x7fc00000u
116-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
11789

11890
/**
11991
* Binary representation of an IEEE-754 Infinity value.
12092
*/
121-
#if JERRY_NUMBER_TYPE_FLOAT64
12293
#define ECMA_NUMBER_BINARY_INF 0x7ff0000000000000ull
123-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
124-
#define ECMA_NUMBER_BINARY_INF 0x7f800000u
125-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
12694

12795
/**
12896
* Binary representation of an IEEE-754 zero value.
@@ -134,73 +102,45 @@ ecma_number_t ecma_number_create (bool sign, uint32_t biased_exp, uint64_t fract
134102
*
135103
* See also: ECMA_262 v5, 15.7.3.3
136104
*/
137-
#if JERRY_NUMBER_TYPE_FLOAT64
138105
#define ECMA_NUMBER_MIN_VALUE ((ecma_number_t) 5e-324)
139-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
140-
#define ECMA_NUMBER_MIN_VALUE (FLT_MIN)
141-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
142106

143107
/**
144108
* Number.MAX_VALUE (i.e., the maximum value of ecma-number)
145109
*
146110
* See also: ECMA_262 v5, 15.7.3.2
147111
*/
148-
#if JERRY_NUMBER_TYPE_FLOAT64
149112
#define ECMA_NUMBER_MAX_VALUE ((ecma_number_t) 1.7976931348623157e+308)
150-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
151-
#define ECMA_NUMBER_MAX_VALUE (FLT_MAX)
152-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
153113

154114
/**
155115
* Number.EPSILON
156116
*
157117
* See also: ECMA_262 v6, 20.1.2.1
158118
*/
159-
#if JERRY_NUMBER_TYPE_FLOAT64
160119
#define ECMA_NUMBER_EPSILON ((ecma_number_t) 2.2204460492503130808472633361816e-16)
161-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
162-
#define ECMA_NUMBER_EPSILON ((ecma_number_t) 1.1920928955078125e-7)
163-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
164120

165121
/**
166122
* Number.MAX_SAFE_INTEGER
167123
*
168124
* See also: ECMA_262 v6, 20.1.2.6
169125
*/
170-
#if JERRY_NUMBER_TYPE_FLOAT64
171126
#define ECMA_NUMBER_MAX_SAFE_INTEGER ((ecma_number_t) 0x1FFFFFFFFFFFFF)
172-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
173-
#define ECMA_NUMBER_MAX_SAFE_INTEGER ((ecma_number_t) 0xFFFFFF)
174-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
175127

176128
/**
177129
* Number.MIN_SAFE_INTEGER
178130
*
179131
* See also: ECMA_262 v6, 20.1.2.8
180132
*/
181-
#if JERRY_NUMBER_TYPE_FLOAT64
182133
#define ECMA_NUMBER_MIN_SAFE_INTEGER ((ecma_number_t) -0x1FFFFFFFFFFFFF)
183-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
184-
#define ECMA_NUMBER_MIN_SAFE_INTEGER ((ecma_number_t) -0xFFFFFF)
185-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
186134

187135
/**
188136
* Number.MAX_VALUE exponent part
189137
*/
190-
#if JERRY_NUMBER_TYPE_FLOAT64
191138
#define NUMBER_MAX_DECIMAL_EXPONENT 308
192-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
193-
#define NUMBER_MAX_DECIMAL_EXPONENT 38
194-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
195139

196140
/**
197141
* Number.MIN_VALUE exponent part
198142
*/
199-
#if JERRY_NUMBER_TYPE_FLOAT64
200143
#define NUMBER_MIN_DECIMAL_EXPONENT -324
201-
#else /* !JERRY_NUMBER_TYPE_FLOAT64 */
202-
#define NUMBER_MIN_DECIMAL_EXPONENT -45
203-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
204144

205145
/**
206146
* Euler number

jerry-core/ecma/builtin-objects/ecma-builtin-dataview-prototype.c

-8
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ enum
4949
ECMA_DATAVIEW_PROTOTYPE_GET_INT32,
5050
ECMA_DATAVIEW_PROTOTYPE_GET_UINT32,
5151
ECMA_DATAVIEW_PROTOTYPE_GET_FLOAT32,
52-
#if JERRY_NUMBER_TYPE_FLOAT64
5352
ECMA_DATAVIEW_PROTOTYPE_GET_FLOAT64,
54-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
5553
#if JERRY_BUILTIN_BIGINT
5654
ECMA_DATAVIEW_PROTOTYPE_GET_BIGINT64,
5755
ECMA_DATAVIEW_PROTOTYPE_GET_BIGUINT64,
@@ -64,9 +62,7 @@ enum
6462
ECMA_DATAVIEW_PROTOTYPE_SET_INT32,
6563
ECMA_DATAVIEW_PROTOTYPE_SET_UINT32,
6664
ECMA_DATAVIEW_PROTOTYPE_SET_FLOAT32,
67-
#if JERRY_NUMBER_TYPE_FLOAT64
6865
ECMA_DATAVIEW_PROTOTYPE_SET_FLOAT64,
69-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
7066
#if JERRY_BUILTIN_BIGINT
7167
ECMA_DATAVIEW_PROTOTYPE_SET_BIGINT64,
7268
ECMA_DATAVIEW_PROTOTYPE_SET_BIGUINT64,
@@ -162,9 +158,7 @@ ecma_builtin_dataview_prototype_dispatch_routine (uint8_t builtin_routine_id, /*
162158
return ecma_builtin_dataview_prototype_object_getters (this_arg, builtin_routine_id);
163159
}
164160
case ECMA_DATAVIEW_PROTOTYPE_GET_FLOAT32:
165-
#if JERRY_NUMBER_TYPE_FLOAT64
166161
case ECMA_DATAVIEW_PROTOTYPE_GET_FLOAT64:
167-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
168162
case ECMA_DATAVIEW_PROTOTYPE_GET_INT16:
169163
case ECMA_DATAVIEW_PROTOTYPE_GET_INT32:
170164
case ECMA_DATAVIEW_PROTOTYPE_GET_UINT16:
@@ -183,9 +177,7 @@ ecma_builtin_dataview_prototype_dispatch_routine (uint8_t builtin_routine_id, /*
183177
id);
184178
}
185179
case ECMA_DATAVIEW_PROTOTYPE_SET_FLOAT32:
186-
#if JERRY_NUMBER_TYPE_FLOAT64
187180
case ECMA_DATAVIEW_PROTOTYPE_SET_FLOAT64:
188-
#endif /* JERRY_NUMBER_TYPE_FLOAT64 */
189181
case ECMA_DATAVIEW_PROTOTYPE_SET_INT16:
190182
case ECMA_DATAVIEW_PROTOTYPE_SET_INT32:
191183
case ECMA_DATAVIEW_PROTOTYPE_SET_UINT16:

0 commit comments

Comments
 (0)