Fix crash when using the built-in regexp syntax
authorSimon Hausmann <simon.hausmann@digia.com>
Wed, 23 Jan 2013 10:50:01 +0000 (11:50 +0100)
committerLars Knoll <lars.knoll@digia.com>
Wed, 23 Jan 2013 12:11:48 +0000 (13:11 +0100)
commitf71bf94fc9b78309ca237c33f9b0a7a726a6afea
tree69a50abd18eb4de076eff2d8ca39b309e37ae917
parent10b68524f674df1c8f447f41beae35edafb8fed9
Fix crash when using the built-in regexp syntax

When /someregexp/ appears in the source, we generate a new regexp
object in the MASM back-end at run-time. That object is memory
managed but it's never marked, because we only store its address
in the generated code.

This patch adds a way for the code generator to collect values that
are generated like this and encoded only in the code directly, and
therefore require extra book-keeping when collecting the roots.

Change-Id: Ia4cc3f4578e2e7e4378ea7ab1a32c66f0e6ab4bf
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
qv4functionobject.h
qv4isel_masm.cpp
qv4isel_masm_p.h
qv4mm.cpp