Optimise string additions

Small optimisation for string additions, also add one more check
for exceptions in the code where required.

Change-Id: I6c14bc88ea5d03f7eeed0e0168c5195f9f823693
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Don't run the GC too often

Some test cases were badly trashing the GC, running it
way too often. Fix this by only running the GC after
we allocated more than 50% of the amount of available
items.

Change-Id: Icfe6d0730552ef2298963de706213ebc9e3e342c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Remove code that's not required anymore

The StackSaver class is not required anymore, as we don't
throw C++ exceptions anymore, and masm/moth generated code
always cleans up the JS stack.

Change-Id: If49d952230f8bd074f3b9353f56c07c8c5134752
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Minor optimisations

Remove a couple of function calls.

Change-Id: I5abc6d96df52787ee7c433239807c851eb9a6d41
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Don't initialize locals for simple script functions

There are not being used anyway.

Change-Id: Id61b023eeb9d61bbee2874a5fd5005ba9fb08fca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Move conversion of this object into generated code

When a non strict mode function uses the this object, we
need to make sure it's being correctly converted into a
object before being accessed. So far this was being done
by ScriptFunction::call. Move this into the generated code to
avoid overhead for methods not using 'this', and simplify our
ScriptFunction::call() implementation.

Change-Id: I739f4a89d29ed8082ce59e48d1523776224fc29d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Remove 2 unused macros

Change-Id: I095673b56166f47969583e9aff30bcef1e50a674
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Smaller optimisations

Change-Id: Idb35d57801472e73b4e77b83e129dbb2a484b734
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Generate inline code for "foo == null/undefined"

Change-Id: I81f5708034ed50207afde697e377e8f265cbcd1c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix XHR

Return after throwing an exception. Fixes the XHR autotest

Change-Id: Id3412eeb2c9867d3ad9bd64b3a81c4468c5b5bd5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix QQuickText hover event handling

Catch hover events only when the item contains either rich or styled
text, and make sure to ignore hover events as appropriate to propagate
them further.

Task-number: QTBUG-33842
Change-Id: Idef5be7c502711393ab532c4ace31663b0e0a872
Reviewed-by: Alan Alpert <aalpert@blackberry.com>