Skip to content

Commit 1223b99

Browse files
committed
Inline some hot functions
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
1 parent f088e8c commit 1223b99

File tree

2 files changed

+26
-34
lines changed

2 files changed

+26
-34
lines changed

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

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ JERRY_STATIC_ASSERT (sizeof (ecma_value_t) * JERRY_BITSINBYTE >= ECMA_VALUE_SIZE
3535
*
3636
* @return type field
3737
*/
38-
ecma_type_t __attr_pure___
38+
ecma_type_t __attr_pure___ __attr_always_inline___
3939
ecma_get_value_type_field (ecma_value_t value) /**< ecma value */
4040
{
4141
return (ecma_type_t) jrt_extract_bit_field (value,
@@ -48,7 +48,7 @@ ecma_get_value_type_field (ecma_value_t value) /**< ecma value */
4848
*
4949
* @return value field
5050
*/
51-
static uintptr_t __attr_pure___
51+
static uintptr_t __attr_pure___ __attr_always_inline___
5252
ecma_get_value_value_field (ecma_value_t value) /**< ecma value */
5353
{
5454
return (uintptr_t) jrt_extract_bit_field (value,
@@ -61,7 +61,7 @@ ecma_get_value_value_field (ecma_value_t value) /**< ecma value */
6161
*
6262
* @return ecma value with updated field
6363
*/
64-
static ecma_value_t __attr_pure___
64+
static ecma_value_t __attr_pure___ __attr_always_inline___
6565
ecma_set_value_type_field (ecma_value_t value, /**< ecma value to set field in */
6666
ecma_type_t type_field) /**< new field value */
6767
{
@@ -76,7 +76,7 @@ ecma_set_value_type_field (ecma_value_t value, /**< ecma value to set field in *
7676
*
7777
* @return ecma value with updated field
7878
*/
79-
static ecma_value_t __attr_pure___
79+
static ecma_value_t __attr_pure___ __attr_always_inline___
8080
ecma_set_value_value_field (ecma_value_t value, /**< ecma value to set field in */
8181
uintptr_t value_field) /**< new field value */
8282
{
@@ -247,12 +247,10 @@ ecma_check_value_type_is_spec_defined (ecma_value_t value) /**< ecma value */
247247
ecma_value_t __attr_const___ __attr_always_inline___
248248
ecma_make_simple_value (const ecma_simple_value_t value) /**< simple value */
249249
{
250-
ecma_value_t ret_value = 0;
250+
ecma_value_t ret_value = 0u;
251251

252-
ret_value = ecma_set_value_type_field (ret_value, ECMA_TYPE_SIMPLE);
253-
ret_value = ecma_set_value_value_field (ret_value, value);
254-
255-
return ret_value;
252+
return ecma_set_value_type_field (ret_value, ECMA_TYPE_SIMPLE)
253+
| ecma_set_value_value_field (ret_value, value);
256254
} /* ecma_make_simple_value */
257255

258256
/**
@@ -266,56 +264,50 @@ ecma_make_number_value (const ecma_number_t *num_p) /**< number to reference in
266264
mem_cpointer_t num_cp;
267265
ECMA_SET_NON_NULL_POINTER (num_cp, num_p);
268266

269-
ecma_value_t ret_value = 0;
270-
271-
ret_value = ecma_set_value_type_field (ret_value, ECMA_TYPE_NUMBER);
272-
ret_value = ecma_set_value_value_field (ret_value, num_cp);
267+
ecma_value_t ret_value = 0u;
273268

274-
return ret_value;
269+
return ecma_set_value_type_field (ret_value, ECMA_TYPE_NUMBER)
270+
| ecma_set_value_value_field (ret_value, num_cp);
275271
} /* ecma_make_number_value */
276272

277273
/**
278274
* String value constructor
279275
*/
280-
ecma_value_t __attr_const___
276+
ecma_value_t __attr_const___ __attr_always_inline___
281277
ecma_make_string_value (const ecma_string_t *ecma_string_p) /**< string to reference in value */
282278
{
283279
JERRY_ASSERT (ecma_string_p != NULL);
284280

285281
mem_cpointer_t string_cp;
286282
ECMA_SET_NON_NULL_POINTER (string_cp, ecma_string_p);
287283

288-
ecma_value_t ret_value = 0;
289-
290-
ret_value = ecma_set_value_type_field (ret_value, ECMA_TYPE_STRING);
291-
ret_value = ecma_set_value_value_field (ret_value, string_cp);
284+
ecma_value_t ret_value = 0u;
292285

293-
return ret_value;
286+
return ecma_set_value_type_field (ret_value, ECMA_TYPE_STRING)
287+
| ecma_set_value_value_field (ret_value, string_cp);
294288
} /* ecma_make_string_value */
295289

296290
/**
297291
* Object value constructor
298292
*/
299-
ecma_value_t __attr_const___
293+
ecma_value_t __attr_const___ __attr_always_inline___
300294
ecma_make_object_value (const ecma_object_t *object_p) /**< object to reference in value */
301295
{
302296
JERRY_ASSERT (object_p != NULL);
303297

304298
mem_cpointer_t object_cp;
305299
ECMA_SET_NON_NULL_POINTER (object_cp, object_p);
306300

307-
ecma_value_t ret_value = 0;
308-
309-
ret_value = ecma_set_value_type_field (ret_value, ECMA_TYPE_OBJECT);
310-
ret_value = ecma_set_value_value_field (ret_value, object_cp);
301+
ecma_value_t ret_value = 0u;
311302

312-
return ret_value;
303+
return ecma_set_value_type_field (ret_value, ECMA_TYPE_OBJECT)
304+
| ecma_set_value_value_field (ret_value, object_cp);
313305
} /* ecma_make_object_value */
314306

315307
/**
316308
* Error value constructor
317309
*/
318-
ecma_value_t __attr_const___
310+
ecma_value_t __attr_const___ __attr_always_inline___
319311
ecma_make_error_value (ecma_value_t value) /**< original ecma value */
320312
{
321313
/* Error values cannot be converted. */
@@ -328,7 +320,7 @@ ecma_make_error_value (ecma_value_t value) /**< original ecma value */
328320
/**
329321
* Error value constructor
330322
*/
331-
ecma_value_t __attr_const___
323+
ecma_value_t __attr_const___ __attr_always_inline___
332324
ecma_make_error_obj_value (const ecma_object_t *object_p) /**< object to reference in value */
333325
{
334326
return ecma_make_error_value (ecma_make_object_value (object_p));
@@ -339,7 +331,7 @@ ecma_make_error_obj_value (const ecma_object_t *object_p) /**< object to referen
339331
*
340332
* @return the pointer
341333
*/
342-
ecma_number_t *__attr_pure___
334+
ecma_number_t *__attr_pure___ __attr_always_inline___
343335
ecma_get_number_from_value (ecma_value_t value) /**< ecma value */
344336
{
345337
JERRY_ASSERT (ecma_get_value_type_field (value) == ECMA_TYPE_NUMBER);
@@ -353,7 +345,7 @@ ecma_get_number_from_value (ecma_value_t value) /**< ecma value */
353345
*
354346
* @return the pointer
355347
*/
356-
ecma_string_t *__attr_pure___
348+
ecma_string_t *__attr_pure___ __attr_always_inline___
357349
ecma_get_string_from_value (ecma_value_t value) /**< ecma value */
358350
{
359351
JERRY_ASSERT (ecma_get_value_type_field (value) == ECMA_TYPE_STRING);
@@ -367,7 +359,7 @@ ecma_get_string_from_value (ecma_value_t value) /**< ecma value */
367359
*
368360
* @return the pointer
369361
*/
370-
ecma_object_t *__attr_pure___
362+
ecma_object_t *__attr_pure___ __attr_always_inline___
371363
ecma_get_object_from_value (ecma_value_t value) /**< ecma value */
372364
{
373365
JERRY_ASSERT (ecma_get_value_type_field (value) == ECMA_TYPE_OBJECT);
@@ -381,7 +373,7 @@ ecma_get_object_from_value (ecma_value_t value) /**< ecma value */
381373
*
382374
* @return ecma value
383375
*/
384-
ecma_value_t __attr_pure___
376+
ecma_value_t __attr_pure___ __attr_always_inline___
385377
ecma_get_value_from_error_value (ecma_value_t value) /**< ecma value */
386378
{
387379
JERRY_ASSERT (ecma_is_value_error (value));

jerry-core/jrt/jrt-bit-fields.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*
2222
* @return bit-field's value
2323
*/
24-
uint64_t __attr_const___
24+
uint64_t __attr_const___ __attr_always_inline___
2525
jrt_extract_bit_field (uint64_t container, /**< container to extract bit-field from */
2626
size_t lsb, /**< least significant bit of the value
2727
* to be extracted */
@@ -42,7 +42,7 @@ jrt_extract_bit_field (uint64_t container, /**< container to extract bit-field f
4242
*
4343
* @return bit-field's value
4444
*/
45-
uint64_t __attr_const___
45+
uint64_t __attr_const___ __attr_always_inline___
4646
jrt_set_bit_field_value (uint64_t container, /**< container to insert bit-field to */
4747
uint64_t new_bit_field_value, /**< value of bit-field to insert */
4848
size_t lsb, /**< least significant bit of the value

0 commit comments

Comments
 (0)