diff options
author | Lars Knoll <lars.knoll@digia.com> | 2012-11-16 23:07:10 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-19 10:28:56 +0100 |
commit | d7416a80faa4e8b32824975b712f6756eda7b18f (patch) | |
tree | a3a865df1e636bee34c00ff03d18509b485be28c /qmljs_runtime.h | |
parent | d6553a206bf3c263159764ab222cb7f43ed1da10 (diff) |
Rename Context to ExecutionContext
This is so it'll map to the name used in the
ECMAScript spec once the other refactorings
are in.
Change-Id: I8dcc7ad43b457ce50e7123c57bc4c770bcda8d11
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'qmljs_runtime.h')
-rw-r--r-- | qmljs_runtime.h | 412 |
1 files changed, 206 insertions, 206 deletions
diff --git a/qmljs_runtime.h b/qmljs_runtime.h index 072367cba2..98c628cf9c 100644 --- a/qmljs_runtime.h +++ b/qmljs_runtime.h @@ -75,7 +75,7 @@ enum TypeHint { struct Object; struct String; struct PropertyDescriptor; -struct Context; +struct ExecutionContext; struct FunctionObject; struct BooleanObject; struct NumberObject; @@ -208,21 +208,21 @@ struct Value static Value fromObject(Object *o); #ifndef QMLJS_LLVM_RUNTIME - static Value fromString(Context *ctx, const QString &fromString); + static Value fromString(ExecutionContext *ctx, const QString &fromString); #endif static double toInteger(double fromNumber); static int toInt32(double value); static unsigned int toUInt32(double value); - inline int toUInt16(Context *ctx); - inline int toInt32(Context *ctx); - inline unsigned int toUInt32(Context *ctx); - inline Bool toBoolean(Context *ctx) const; - inline double toInteger(Context *ctx) const; - double toNumber(Context *ctx) const; - inline String *toString(Context *ctx) const; - inline Value toObject(Context *ctx) const; + inline int toUInt16(ExecutionContext *ctx); + inline int toInt32(ExecutionContext *ctx); + inline unsigned int toUInt32(ExecutionContext *ctx); + inline Bool toBoolean(ExecutionContext *ctx) const; + inline double toInteger(ExecutionContext *ctx) const; + double toNumber(ExecutionContext *ctx) const; + inline String *toString(ExecutionContext *ctx) const; + inline Value toObject(ExecutionContext *ctx) const; inline bool isPrimitive() const { return !isObject(); } #if CPU(X86_64) @@ -260,7 +260,7 @@ struct Value ErrorObject *asErrorObject() const; ActivationObject *asArgumentsObject() const; - Value property(Context *ctx, String *name) const; + Value property(ExecutionContext *ctx, String *name) const; // Section 9.12 bool sameValue(Value other); @@ -269,182 +269,182 @@ struct Value extern "C" { // context -Value __qmljs_call_activation_property(Context *, String *name, Value *args, int argc); -Value __qmljs_call_property(Context *context, Value base, String *name, Value *args, int argc); -Value __qmljs_call_value(Context *context, Value thisObject, Value func, Value *args, int argc); +Value __qmljs_call_activation_property(ExecutionContext *, String *name, Value *args, int argc); +Value __qmljs_call_property(ExecutionContext *context, Value base, String *name, Value *args, int argc); +Value __qmljs_call_value(ExecutionContext *context, Value thisObject, Value func, Value *args, int argc); -Value __qmljs_construct_activation_property(Context *, String *name, Value *args, int argc); -Value __qmljs_construct_property(Context *context, Value base, String *name, Value *args, int argc); -Value __qmljs_construct_value(Context *context, Value func, Value *args, int argc); +Value __qmljs_construct_activation_property(ExecutionContext *, String *name, Value *args, int argc); +Value __qmljs_construct_property(ExecutionContext *context, Value base, String *name, Value *args, int argc); +Value __qmljs_construct_value(ExecutionContext *context, Value func, Value *args, int argc); -Value __qmljs_builtin_typeof(Value val, Context *context); -void __qmljs_builtin_throw(Value val, Context *context); +Value __qmljs_builtin_typeof(Value val, ExecutionContext *context); +void __qmljs_builtin_throw(Value val, ExecutionContext *context); // constructors -Value __qmljs_init_closure(IR::Function *clos, Context *ctx); -Value __qmljs_init_native_function(void (*code)(Context *), Context *ctx); +Value __qmljs_init_closure(IR::Function *clos, ExecutionContext *ctx); +Value __qmljs_init_native_function(void (*code)(ExecutionContext *), ExecutionContext *ctx); Bool __qmljs_is_function(Value value); // string literals -Value __qmljs_string_literal_undefined(Context *ctx); -Value __qmljs_string_literal_null(Context *ctx); -Value __qmljs_string_literal_true(Context *ctx); -Value __qmljs_string_literal_false(Context *ctx); -Value __qmljs_string_literal_object(Context *ctx); -Value __qmljs_string_literal_boolean(Context *ctx); -Value __qmljs_string_literal_number(Context *ctx); -Value __qmljs_string_literal_string(Context *ctx); -Value __qmljs_string_literal_function(Context *ctx); +Value __qmljs_string_literal_undefined(ExecutionContext *ctx); +Value __qmljs_string_literal_null(ExecutionContext *ctx); +Value __qmljs_string_literal_true(ExecutionContext *ctx); +Value __qmljs_string_literal_false(ExecutionContext *ctx); +Value __qmljs_string_literal_object(ExecutionContext *ctx); +Value __qmljs_string_literal_boolean(ExecutionContext *ctx); +Value __qmljs_string_literal_number(ExecutionContext *ctx); +Value __qmljs_string_literal_string(ExecutionContext *ctx); +Value __qmljs_string_literal_function(ExecutionContext *ctx); // strings -String *__qmljs_string_from_utf8(Context *ctx, const char *s); -int __qmljs_string_length(Context *ctx, String *string); -double __qmljs_string_to_number(Context *ctx, String *string); -Value __qmljs_string_from_number(Context *ctx, double number); -Bool __qmljs_string_compare(Context *ctx, String *left, String *right); +String *__qmljs_string_from_utf8(ExecutionContext *ctx, const char *s); +int __qmljs_string_length(ExecutionContext *ctx, String *string); +double __qmljs_string_to_number(ExecutionContext *ctx, String *string); +Value __qmljs_string_from_number(ExecutionContext *ctx, double number); +Bool __qmljs_string_compare(ExecutionContext *ctx, String *left, String *right); Bool __qmljs_string_equal(String *left, String *right); -String *__qmljs_string_concat(Context *ctx, String *first, String *second); -String *__qmljs_identifier_from_utf8(Context *ctx, const char *s); +String *__qmljs_string_concat(ExecutionContext *ctx, String *first, String *second); +String *__qmljs_identifier_from_utf8(ExecutionContext *ctx, const char *s); // objects -Value __qmljs_object_default_value(Context *ctx, Value object, int typeHint); -Value __qmljs_throw_type_error(Context *ctx); -Value __qmljs_new_object(Context *ctx); -Value __qmljs_new_boolean_object(Context *ctx, bool boolean); -Value __qmljs_new_number_object(Context *ctx, double n); -Value __qmljs_new_string_object(Context *ctx, String *string); -void __qmljs_set_activation_property(Context *ctx, String *name, Value value); -void __qmljs_set_property(Context *ctx, Value object, String *name, Value value); -Value __qmljs_get_property(Context *ctx, Value object, String *name); -Value __qmljs_get_activation_property(Context *ctx, String *name); - -Value __qmljs_get_element(Context *ctx, Value object, Value index); -void __qmljs_set_element(Context *ctx, Value object, Value index, Value value); +Value __qmljs_object_default_value(ExecutionContext *ctx, Value object, int typeHint); +Value __qmljs_throw_type_error(ExecutionContext *ctx); +Value __qmljs_new_object(ExecutionContext *ctx); +Value __qmljs_new_boolean_object(ExecutionContext *ctx, bool boolean); +Value __qmljs_new_number_object(ExecutionContext *ctx, double n); +Value __qmljs_new_string_object(ExecutionContext *ctx, String *string); +void __qmljs_set_activation_property(ExecutionContext *ctx, String *name, Value value); +void __qmljs_set_property(ExecutionContext *ctx, Value object, String *name, Value value); +Value __qmljs_get_property(ExecutionContext *ctx, Value object, String *name); +Value __qmljs_get_activation_property(ExecutionContext *ctx, String *name); + +Value __qmljs_get_element(ExecutionContext *ctx, Value object, Value index); +void __qmljs_set_element(ExecutionContext *ctx, Value object, Value index, Value value); // For each -Value __qmljs_foreach_iterator_object(Value in, Context *ctx); +Value __qmljs_foreach_iterator_object(Value in, ExecutionContext *ctx); Value __qmljs_foreach_next_property_name(Value foreach_iterator); // context -Value __qmljs_get_thisObject(Context *ctx); +Value __qmljs_get_thisObject(ExecutionContext *ctx); // type conversion and testing -Value __qmljs_to_primitive(Value value, Context *ctx, int typeHint); -Bool __qmljs_to_boolean(Value value, Context *ctx); -double __qmljs_to_number(Value value, Context *ctx); -double __qmljs_to_integer(Value value, Context *ctx); -int __qmljs_to_int32(Value value, Context *ctx); -unsigned short __qmljs_to_uint16(Value value, Context *ctx); -Value __qmljs_to_string(Value value, Context *ctx); -Value __qmljs_to_object(Value value, Context *ctx); +Value __qmljs_to_primitive(Value value, ExecutionContext *ctx, int typeHint); +Bool __qmljs_to_boolean(Value value, ExecutionContext *ctx); +double __qmljs_to_number(Value value, ExecutionContext *ctx); +double __qmljs_to_integer(Value value, ExecutionContext *ctx); +int __qmljs_to_int32(Value value, ExecutionContext *ctx); +unsigned short __qmljs_to_uint16(Value value, ExecutionContext *ctx); +Value __qmljs_to_string(Value value, ExecutionContext *ctx); +Value __qmljs_to_object(Value value, ExecutionContext *ctx); //uint __qmljs_check_object_coercible(Context *ctx, Value *result, Value *value); -Bool __qmljs_is_callable(Value value, Context *ctx); -Value __qmljs_default_value(Value value, Context *ctx, int typeHint); +Bool __qmljs_is_callable(Value value, ExecutionContext *ctx); +Value __qmljs_default_value(Value value, ExecutionContext *ctx, int typeHint); -Bool __qmljs_equal(Value x, Value y, Context *ctx); +Bool __qmljs_equal(Value x, Value y, ExecutionContext *ctx); Bool __qmljs_strict_equal(Value x, Value y); // unary operators -Value __qmljs_uplus(Value value, Context *ctx); -Value __qmljs_uminus(Value value, Context *ctx); -Value __qmljs_compl(Value value, Context *ctx); -Value __qmljs_not(Value value, Context *ctx); - -Value __qmljs_delete_subscript(Context *ctx, Value base, Value index); -Value __qmljs_delete_member(Context *ctx, Value base, String *name); -Value __qmljs_delete_property(Context *ctx, String *name); -Value __qmljs_delete_value(Context *ctx, Value value); - -Value __qmljs_typeof(Value value, Context *ctx); -void __qmljs_throw(Value value, Context *context); +Value __qmljs_uplus(Value value, ExecutionContext *ctx); +Value __qmljs_uminus(Value value, ExecutionContext *ctx); +Value __qmljs_compl(Value value, ExecutionContext *ctx); +Value __qmljs_not(Value value, ExecutionContext *ctx); + +Value __qmljs_delete_subscript(ExecutionContext *ctx, Value base, Value index); +Value __qmljs_delete_member(ExecutionContext *ctx, Value base, String *name); +Value __qmljs_delete_property(ExecutionContext *ctx, String *name); +Value __qmljs_delete_value(ExecutionContext *ctx, Value value); + +Value __qmljs_typeof(Value value, ExecutionContext *ctx); +void __qmljs_throw(Value value, ExecutionContext *context); // actually returns a jmp_buf * -void *__qmljs_create_exception_handler(Context *context); -void __qmljs_delete_exception_handler(Context *context); -Value __qmljs_get_exception(Context *context); +void *__qmljs_create_exception_handler(ExecutionContext *context); +void __qmljs_delete_exception_handler(ExecutionContext *context); +Value __qmljs_get_exception(ExecutionContext *context); // binary operators -typedef Value (*BinOp)(Value left, Value right, Context *ctx); - -Value __qmljs_instanceof(Value left, Value right, Context *ctx); -Value __qmljs_in(Value left, Value right, Context *ctx); -Value __qmljs_bit_or(Value left, Value right, Context *ctx); -Value __qmljs_bit_xor(Value left, Value right, Context *ctx); -Value __qmljs_bit_and(Value left, Value right, Context *ctx); -Value __qmljs_add(Value left, Value right, Context *ctx); -Value __qmljs_sub(Value left, Value right, Context *ctx); -Value __qmljs_mul(Value left, Value right, Context *ctx); -Value __qmljs_div(Value left, Value right, Context *ctx); -Value __qmljs_mod(Value left, Value right, Context *ctx); -Value __qmljs_shl(Value left, Value right, Context *ctx); -Value __qmljs_shr(Value left, Value right, Context *ctx); -Value __qmljs_ushr(Value left, Value right, Context *ctx); -Value __qmljs_gt(Value left, Value right, Context *ctx); -Value __qmljs_lt(Value left, Value right, Context *ctx); -Value __qmljs_ge(Value left, Value right, Context *ctx); -Value __qmljs_le(Value left, Value right, Context *ctx); -Value __qmljs_eq(Value left, Value right, Context *ctx); -Value __qmljs_ne(Value left, Value right, Context *ctx); -Value __qmljs_se(Value left, Value right, Context *ctx); -Value __qmljs_sne(Value left, Value right, Context *ctx); - -Value __qmljs_add_helper(Value left, Value right, Context *ctx); - -void __qmljs_inplace_bit_and_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_bit_or_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_bit_xor_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_add_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_sub_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_mul_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_div_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_mod_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_shl_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_shr_name(Value value, String *name, Context *ctx); -void __qmljs_inplace_ushr_name(Value value, String *name, Context *ctx); - -void __qmljs_inplace_bit_and_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_bit_or_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_bit_xor_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_add_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_sub_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_mul_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_div_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_mod_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_shl_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_shr_element(Value base, Value index, Value value, Context *ctx); -void __qmljs_inplace_ushr_element(Value base, Value index, Value value, Context *ctx); - -void __qmljs_inplace_bit_and_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_bit_or_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_bit_xor_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_add_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_sub_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_mul_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_div_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_mod_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_shl_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_shr_member(Value value, Value base, String *name, Context *ctx); -void __qmljs_inplace_ushr_member(Value value, Value base, String *name, Context *ctx); - -Bool __qmljs_cmp_gt(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_lt(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_ge(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_le(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_eq(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_ne(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_se(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_sne(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_instanceof(Value left, Value right, Context *ctx); -Bool __qmljs_cmp_in(Value left, Value right, Context *ctx); +typedef Value (*BinOp)(Value left, Value right, ExecutionContext *ctx); + +Value __qmljs_instanceof(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_in(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_bit_or(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_bit_xor(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_bit_and(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_add(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_sub(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_mul(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_div(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_mod(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_shl(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_shr(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_ushr(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_gt(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_lt(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_ge(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_le(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_eq(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_ne(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_se(Value left, Value right, ExecutionContext *ctx); +Value __qmljs_sne(Value left, Value right, ExecutionContext *ctx); + +Value __qmljs_add_helper(Value left, Value right, ExecutionContext *ctx); + +void __qmljs_inplace_bit_and_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_bit_or_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_bit_xor_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_add_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_sub_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_mul_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_div_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_mod_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_shl_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_shr_name(Value value, String *name, ExecutionContext *ctx); +void __qmljs_inplace_ushr_name(Value value, String *name, ExecutionContext *ctx); + +void __qmljs_inplace_bit_and_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_bit_or_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_bit_xor_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_add_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_sub_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_mul_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_div_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_mod_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_shl_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_shr_element(Value base, Value index, Value value, ExecutionContext *ctx); +void __qmljs_inplace_ushr_element(Value base, Value index, Value value, ExecutionContext *ctx); + +void __qmljs_inplace_bit_and_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_bit_or_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_bit_xor_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_add_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_sub_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_mul_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_div_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_mod_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_shl_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_shr_member(Value value, Value base, String *name, ExecutionContext *ctx); +void __qmljs_inplace_ushr_member(Value value, Value base, String *name, ExecutionContext *ctx); + +Bool __qmljs_cmp_gt(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_lt(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_ge(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_le(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_eq(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_ne(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_se(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_sne(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_instanceof(Value left, Value right, ExecutionContext *ctx); +Bool __qmljs_cmp_in(Value left, Value right, ExecutionContext *ctx); } // extern "C" -inline int Value::toUInt16(Context *ctx) +inline int Value::toUInt16(ExecutionContext *ctx) { return __qmljs_to_uint16(*this, ctx); } -inline int Value::toInt32(Context *ctx) +inline int Value::toInt32(ExecutionContext *ctx) { if (isConvertibleToInt()) return int_32; @@ -452,7 +452,7 @@ inline int Value::toInt32(Context *ctx) return Value::toInt32(__qmljs_to_number(*this, ctx)); } -inline unsigned int Value::toUInt32(Context *ctx) +inline unsigned int Value::toUInt32(ExecutionContext *ctx) { if (isConvertibleToInt()) return (unsigned) int_32; @@ -460,29 +460,29 @@ inline unsigned int Value::toUInt32(Context *ctx) return toUInt32(__qmljs_to_number(*this, ctx)); } -inline Bool Value::toBoolean(Context *ctx) const +inline Bool Value::toBoolean(ExecutionContext *ctx) const { return __qmljs_to_boolean(*this, ctx); } -inline double Value::toInteger(Context *ctx) const +inline double Value::toInteger(ExecutionContext *ctx) const { return __qmljs_to_integer(*this, ctx); } -inline double Value::toNumber(Context *ctx) const +inline double Value::toNumber(ExecutionContext *ctx) const { return __qmljs_to_number(*this, ctx); } -inline String *Value::toString(Context *ctx) const +inline String *Value::toString(ExecutionContext *ctx) const { Value v = __qmljs_to_string(*this, ctx); assert(v.isString()); return v.stringValue(); } -inline Value Value::toObject(Context *ctx) const +inline Value Value::toObject(ExecutionContext *ctx) const { return __qmljs_to_object(*this, ctx); } @@ -570,9 +570,9 @@ inline bool Value::sameValue(Value other) { #include <qmljs_math.h> -struct Context { +struct ExecutionContext { ExecutionEngine *engine; - Context *parent; + ExecutionContext *parent; Object *activation; Value thisObject; Value *arguments; @@ -596,10 +596,10 @@ struct Context { void init(ExecutionEngine *eng); - void initCallContext(Context *parent, const Value that, FunctionObject *f, Value *args, unsigned argc); + void initCallContext(ExecutionContext *parent, const Value that, FunctionObject *f, Value *args, unsigned argc); void leaveCallContext(); - void initConstructorContext(Context *parent, Value that, FunctionObject *f, Value *args, unsigned argc); + void initConstructorContext(ExecutionContext *parent, Value that, FunctionObject *f, Value *args, unsigned argc); void leaveConstructorContext(FunctionObject *f); void wireUpPrototype(FunctionObject *f); @@ -615,14 +615,14 @@ struct Context { extern "C" { // type conversion and testing -inline Value __qmljs_to_primitive(Value value, Context *ctx, int typeHint) +inline Value __qmljs_to_primitive(Value value, ExecutionContext *ctx, int typeHint) { if (!value.isObject()) return value; return __qmljs_default_value(value, ctx, typeHint); } -inline Bool __qmljs_to_boolean(Value value, Context *ctx) +inline Bool __qmljs_to_boolean(Value value, ExecutionContext *ctx) { switch (value.type()) { case Value::Undefined_Type: @@ -642,7 +642,7 @@ inline Bool __qmljs_to_boolean(Value value, Context *ctx) } } -inline double __qmljs_to_number(Value value, Context *ctx) +inline double __qmljs_to_number(Value value, ExecutionContext *ctx) { switch (value.type()) { case Value::Undefined_Type: @@ -664,7 +664,7 @@ inline double __qmljs_to_number(Value value, Context *ctx) } } -inline double __qmljs_to_integer(Value value, Context *ctx) +inline double __qmljs_to_integer(Value value, ExecutionContext *ctx) { if (value.isConvertibleToInt()) return value.int_32; @@ -672,7 +672,7 @@ inline double __qmljs_to_integer(Value value, Context *ctx) return Value::toInteger(__qmljs_to_number(value, ctx)); } -inline int __qmljs_to_int32(Value value, Context *ctx) +inline int __qmljs_to_int32(Value value, ExecutionContext *ctx) { if (value.isConvertibleToInt()) return value.int_32; @@ -680,7 +680,7 @@ inline int __qmljs_to_int32(Value value, Context *ctx) return Value::toInt32(__qmljs_to_number(value, ctx)); } -inline unsigned short __qmljs_to_uint16(Value value, Context *ctx) +inline unsigned short __qmljs_to_uint16(Value value, ExecutionContext *ctx) { if (value.isConvertibleToInt()) return (ushort)(uint)value.integerValue(); @@ -706,7 +706,7 @@ inline unsigned short __qmljs_to_uint16(Value value, Context *ctx) return (unsigned short)number; } -inline Value __qmljs_to_string(Value value, Context *ctx) +inline Value __qmljs_to_string(Value value, ExecutionContext *ctx) { switch (value.type()) { case Value::Undefined_Type: @@ -742,7 +742,7 @@ inline Value __qmljs_to_string(Value value, Context *ctx) } // switch } -inline Value __qmljs_to_object(Value value, Context *ctx) +inline Value __qmljs_to_object(Value value, ExecutionContext *ctx) { switch (value.type()) { case Value::Undefined_Type: @@ -781,7 +781,7 @@ inline uint __qmljs_check_object_coercible(Context *ctx, Value *result, Value *v } */ -inline Bool __qmljs_is_callable(Value value, Context * /*ctx*/) +inline Bool __qmljs_is_callable(Value value, ExecutionContext * /*ctx*/) { if (value.isObject()) return __qmljs_is_function(value); @@ -789,7 +789,7 @@ inline Bool __qmljs_is_callable(Value value, Context * /*ctx*/) return false; } -inline Value __qmljs_default_value(Value value, Context *ctx, int typeHint) +inline Value __qmljs_default_value(Value value, ExecutionContext *ctx, int typeHint) { if (value.isObject()) return __qmljs_object_default_value(ctx, value, typeHint); @@ -798,7 +798,7 @@ inline Value __qmljs_default_value(Value value, Context *ctx, int typeHint) // unary operators -inline Value __qmljs_typeof(Value value, Context *ctx) +inline Value __qmljs_typeof(Value value, ExecutionContext *ctx) { switch (value.type()) { case Value::Undefined_Type: @@ -825,7 +825,7 @@ inline Value __qmljs_typeof(Value value, Context *ctx) } } -inline Value __qmljs_uplus(Value value, Context *ctx) +inline Value __qmljs_uplus(Value value, ExecutionContext *ctx) { TRACE1(value); @@ -836,7 +836,7 @@ inline Value __qmljs_uplus(Value value, Context *ctx) return Value::fromDouble(n); } -inline Value __qmljs_uminus(Value value, Context *ctx) +inline Value __qmljs_uminus(Value value, ExecutionContext *ctx) { TRACE1(value); @@ -846,7 +846,7 @@ inline Value __qmljs_uminus(Value value, Context *ctx) return Value::fromDouble(-n); } -inline Value __qmljs_compl(Value value, Context *ctx) +inline Value __qmljs_compl(Value value, ExecutionContext *ctx) { TRACE1(value); @@ -859,7 +859,7 @@ inline Value __qmljs_compl(Value value, Context *ctx) return Value::fromInt32(~n); } -inline Value __qmljs_not(Value value, Context *ctx) +inline Value __qmljs_not(Value value, ExecutionContext *ctx) { TRACE1(value); @@ -868,7 +868,7 @@ inline Value __qmljs_not(Value value, Context *ctx) } // binary operators -inline Value __qmljs_bit_or(Value left, Value right, Context *ctx) +inline Value __qmljs_bit_or(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -880,7 +880,7 @@ inline Value __qmljs_bit_or(Value left, Value right, Context *ctx) return Value::fromInt32(lval | rval); } -inline Value __qmljs_bit_xor(Value left, Value right, Context *ctx) +inline Value __qmljs_bit_xor(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -892,7 +892,7 @@ inline Value __qmljs_bit_xor(Value left, Value right, Context *ctx) return Value::fromInt32(lval ^ rval); } -inline Value __qmljs_bit_and(Value left, Value right, Context *ctx) +inline Value __qmljs_bit_and(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -904,7 +904,7 @@ inline Value __qmljs_bit_and(Value left, Value right, Context *ctx) return Value::fromInt32(lval & rval); } -inline Value __qmljs_add(Value left, Value right, Context *ctx) +inline Value __qmljs_add(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -919,7 +919,7 @@ inline Value __qmljs_add(Value left, Value right, Context *ctx) return __qmljs_add_helper(left, right, ctx); } -inline Value __qmljs_sub(Value left, Value right, Context *ctx) +inline Value __qmljs_sub(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -933,7 +933,7 @@ inline Value __qmljs_sub(Value left, Value right, Context *ctx) return Value::fromDouble(lval - rval); } -inline Value __qmljs_mul(Value left, Value right, Context *ctx) +inline Value __qmljs_mul(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -947,7 +947,7 @@ inline Value __qmljs_mul(Value left, Value right, Context *ctx) return Value::fromDouble(lval * rval); } -inline Value __qmljs_div(Value left, Value right, Context *ctx) +inline Value __qmljs_div(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -956,7 +956,7 @@ inline Value __qmljs_div(Value left, Value right, Context *ctx) return Value::fromDouble(lval / rval); } -inline Value __qmljs_mod(Value left, Value right, Context *ctx) +inline Value __qmljs_mod(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -970,7 +970,7 @@ inline Value __qmljs_mod(Value left, Value right, Context *ctx) // ### unsigned shl missing? -inline Value __qmljs_shl(Value left, Value right, Context *ctx) +inline Value __qmljs_shl(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -982,7 +982,7 @@ inline Value __qmljs_shl(Value left, Value right, Context *ctx) return Value::fromInt32(lval << rval); } -inline Value __qmljs_shr(Value left, Value right, Context *ctx) +inline Value __qmljs_shr(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -994,7 +994,7 @@ inline Value __qmljs_shr(Value left, Value right, Context *ctx) return Value::fromInt32(lval >> rval); } -inline Value __qmljs_ushr(Value left, Value right, Context *ctx) +inline Value __qmljs_ushr(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1006,49 +1006,49 @@ inline Value __qmljs_ushr(Value left, Value right, Context *ctx) return Value::fromInt32(lval >> rval); } -inline Value __qmljs_gt(Value left, Value right, Context *ctx) +inline Value __qmljs_gt(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return Value::fromBoolean(__qmljs_cmp_gt(left, right, ctx)); } -inline Value __qmljs_lt(Value left, Value right, Context *ctx) +inline Value __qmljs_lt(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return Value::fromBoolean(__qmljs_cmp_lt(left, right, ctx)); } -inline Value __qmljs_ge(Value left, Value right, Context *ctx) +inline Value __qmljs_ge(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return Value::fromBoolean(__qmljs_cmp_ge(left, right, ctx)); } -inline Value __qmljs_le(Value left, Value right, Context *ctx) +inline Value __qmljs_le(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return Value::fromBoolean(__qmljs_cmp_le(left, right, ctx)); } -inline Value __qmljs_eq(Value left, Value right, Context *ctx) +inline Value __qmljs_eq(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return Value::fromBoolean(__qmljs_cmp_eq(left, right, ctx)); } -inline Value __qmljs_ne(Value left, Value right, Context *ctx) +inline Value __qmljs_ne(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return Value::fromBoolean(!__qmljs_cmp_eq(left, right, ctx)); } -inline Value __qmljs_se(Value left, Value right, Context *) +inline Value __qmljs_se(Value left, Value right, ExecutionContext *) { TRACE2(left, right); @@ -1056,7 +1056,7 @@ inline Value __qmljs_se(Value left, Value right, Context *) return Value::fromBoolean(r); } -inline Value __qmljs_sne(Value left, Value right, Context *) +inline Value __qmljs_sne(Value left, Value right, ExecutionContext *) { TRACE2(left, right); @@ -1064,7 +1064,7 @@ inline Value __qmljs_sne(Value left, Value right, Context *) return Value::fromBoolean(r); } -inline Bool __qmljs_cmp_gt(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_gt(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1084,7 +1084,7 @@ inline Bool __qmljs_cmp_gt(Value left, Value right, Context *ctx) } } -inline Bool __qmljs_cmp_lt(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_lt(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1104,7 +1104,7 @@ inline Bool __qmljs_cmp_lt(Value left, Value right, Context *ctx) } } -inline Bool __qmljs_cmp_ge(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_ge(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1124,7 +1124,7 @@ inline Bool __qmljs_cmp_ge(Value left, Value right, Context *ctx) } } -inline Bool __qmljs_cmp_le(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_le(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1144,7 +1144,7 @@ inline Bool __qmljs_cmp_le(Value left, Value right, Context *ctx) } } -inline Bool __qmljs_cmp_eq(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_eq(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1159,28 +1159,28 @@ inline Bool __qmljs_cmp_eq(Value left, Value right, Context *ctx) return __qmljs_equal(left, right, ctx); } -inline Bool __qmljs_cmp_ne(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_ne(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); return !__qmljs_cmp_eq(left, right, ctx); } -inline Bool __qmljs_cmp_se(Value left, Value right, Context *) +inline Bool __qmljs_cmp_se(Value left, Value right, ExecutionContext *) { TRACE2(left, right); return __qmljs_strict_equal(left, right); } -inline Bool __qmljs_cmp_sne(Value left, Value right, Context *) +inline Bool __qmljs_cmp_sne(Value left, Value right, ExecutionContext *) { TRACE2(left, right); return ! __qmljs_strict_equal(left, right); } -inline Bool __qmljs_cmp_instanceof(Value left, Value right, Context *ctx) +inline Bool __qmljs_cmp_instanceof(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); @@ -1188,7 +1188,7 @@ inline Bool __qmljs_cmp_instanceof(Value left, Value right, Context *ctx) return v.booleanValue(); } -inline uint __qmljs_cmp_in(Value left, Value right, Context *ctx) +inline uint __qmljs_cmp_in(Value left, Value right, ExecutionContext *ctx) { TRACE2(left, right); |