Refinement of exception handling code in 'multiplication' and 'assignment' opcode handlers.

This commit is contained in:
Ruben Ayrapetyan
2014-07-22 17:23:29 +04:00
parent 739d19be5b
commit f0abfbb31b
4 changed files with 173 additions and 132 deletions
+16 -13
View File
@@ -105,6 +105,22 @@ ecma_MakeNumberValue( ecma_Number_t* num_p) /**< number to reference in value */
return number_value;
} /* ecma_MakeNumberValue */
/**
* String value constructor
*/
ecma_Value_t
ecma_make_string_value( ecma_ArrayFirstChunk_t* ecma_string_p) /**< string to reference in value */
{
JERRY_ASSERT( ecma_string_p != NULL );
ecma_Value_t string_value;
string_value.m_ValueType = ECMA_TYPE_STRING;
ecma_SetPointer( string_value.m_Value, ecma_string_p);
return string_value;
} /* ecma_make_string_value */
/**
* Object value constructor
*/
@@ -342,19 +358,6 @@ ecma_is_completion_value_throw( ecma_CompletionValue_t value) /**< completion va
return ( value.type == ECMA_COMPLETION_TYPE_THROW );
} /* ecma_is_completion_value_throw */
/**
* Check if the completion value is normal or throw value.
*
* @return true - if the completion type is normal or throw,
* false - otherwise.
*/
bool
ecma_is_completion_value_normal_or_throw( ecma_CompletionValue_t value) /**< completion value */
{
return ecma_is_completion_value_normal( value)
|| ecma_is_completion_value_throw( value);
} /* ecma_is_completion_value_normal_or_throw */
/**
* Check if the completion value is specified normal simple value.
*
+1 -1
View File
@@ -49,6 +49,7 @@ extern bool ecma_IsValueTrue( ecma_Value_t value);
extern ecma_Value_t ecma_MakeSimpleValue( ecma_SimpleValue_t value);
extern ecma_Value_t ecma_MakeNumberValue( ecma_Number_t* num_p);
extern ecma_Value_t ecma_make_string_value( ecma_ArrayFirstChunk_t* ecma_string_p);
extern ecma_Value_t ecma_MakeObjectValue( ecma_Object_t* object_p);
extern ecma_Value_t ecma_CopyValue( const ecma_Value_t value);
extern void ecma_FreeValue( const ecma_Value_t value);
@@ -61,7 +62,6 @@ extern void ecma_free_completion_value( ecma_CompletionValue_t completion_value)
extern bool ecma_is_completion_value_normal( ecma_CompletionValue_t value);
extern bool ecma_is_completion_value_throw( ecma_CompletionValue_t value);
extern bool ecma_is_completion_value_normal_or_throw( ecma_CompletionValue_t value);
extern bool ecma_is_completion_value_normal_simple_value( ecma_CompletionValue_t value, ecma_SimpleValue_t simple_value);
extern bool ecma_IsCompletionValueNormalFalse( ecma_CompletionValue_t value);
extern bool ecma_IsCompletionValueNormalTrue( ecma_CompletionValue_t value);