Make MASM InstructionSelection reentrant
authorSimon Hausmann <simon.hausmann@digia.com>
Tue, 11 Dec 2012 10:17:55 +0000 (11:17 +0100)
committerErik Verbruggen <erik.verbruggen@digia.com>
Tue, 11 Dec 2012 14:52:30 +0000 (15:52 +0100)
commitbcdddfda8ca81752b249540b0abaefb46eb5f766
treedd91ea6476825121e58279a0090158a9c87a56ae
parent381ce0e902254f39b411f3b21548943720e3db0c
Make MASM InstructionSelection reentrant

The isel is currently not reentrant because the MacroAssembler's instruction
output buffer is inaccessible and can only be reset by destroying the instance
and re-creating it.

This patch moves assembler specific code into an Assembler subclass and changes
isel to instantiate and use it instead of subclassing JSC::MacroAssembler.

Change-Id: Ic633214c67f475195202459698077e47a75ece2f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
qv4isel_masm.cpp
qv4isel_masm_p.h