History log of /external/vixl/src/macro-assembler-interface.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f4ba40fc419a9d484da9be1df051ad03327ce4f4 19-Jan-2017 Pierre Langlois <pierre.langlois@arm.com> Remove pool blocking and assembler enablement from the API

The MacroAssemblerInsterface and AssemblerBase classes define methods
that should not be used directly. Instead, scope utilities should be
used.

This patch hides the following methods from the user:
~~~
void MacroAssemblerInterface::SetAllowMacroInstructions(bool allow);
void AssemblerBase::SetAllowAssembler();

void MacroAssemblerInterface::BlockPools();
void MacroAssemblerInterface::ReleasePools();
void MacroAssemblerInterface::EnsureEmitPoolsFor(size_t size);
~~~

Change-Id: I26b55c560cd94a2158757ca969c6bf95f7ba743b
/external/vixl/src/macro-assembler-interface.h
fb37b5d8438252728469290fa35a779817faea00 18-Jan-2017 Pierre Langlois <pierre.langlois@arm.com> Add tests for pool blocking in nested ExactAssemblyScope

On top of adding tests, this patch adds a new top-level
MacroAssembler::ArePoolsBlocked() API method. This is useful for testing
that the pools are actually blocked or not, and that nesting does not
accidentally unblock them.

Change-Id: If3845c6686ef45ddf1d28b8876ffd349731cdd9d
/external/vixl/src/macro-assembler-interface.h
4c5d65bf4d3a5fcc6ccb5cd19fed81e2b735789b 06-Dec-2016 Pierre Langlois <pierre.langlois@arm.com> Include AllowMacroInstructions methods in release mode

The SetAllowMacroInstructions and AllowMacroInstructions methods were
only included if VIXL_DEBUG was defined. While this is understandable,
these methods are virtual and part of the MacroAssemblerInterface, which
means the vtable of macro-assemblers has a different layout depending on
VIXL_DEBUG. This can produce strange errors when headers are used
incorrectly by the user, for instance if linking with a library compiled
with VIXL_DEBUG defined by mistake.

Additionally, this patch explicitely marks overriden methods of the
MacroAssemblerInterface as virtual, as well as adding missing "internal"
namespaces for AssemblerBase.

Change-Id: I2f4595bd5990c944381b177809853e33354e9244
/external/vixl/src/macro-assembler-interface.h
8d191abf32edf41421f68f35585e4fce8da4d50c 29-Nov-2016 Alexandre Rames <alexandre.rames@linaro.org> AArch32: Use the shared scopes `CodeBufferCheckScope` and `EmissionCheckScope`.

This patch continues toward the goal of unifying code-generation scopes for all
backends.

The new scopes differ from the existing AArch32 mechanisms, so a few tests for
literal and veneer pools needed to be updated.

The patch also adds AArch32 tests for the new scopes.

Change-Id: Ia6a93e6e860b47e703b6c9034fefa405810c18a0
/external/vixl/src/macro-assembler-interface.h
306a129a6af474aef7a65d984482a28b4a2a5ffe 31-Oct-2016 Alexandre Rames <alexandre.rames@linaro.org> Add a virtual destructor for `MacroAssemblerInterface`.

This avoids issues if users can delete an instance of a derived class
through a pointer to the base class.

Change-Id: I2f12c59f9e794d502060a7d98dda63abe019f3a6
/external/vixl/src/macro-assembler-interface.h
07d1aa5b941ace15deb01e5df2c79e677039c4ae 25-Oct-2016 Alexandre Rames <alexandre.rames@linaro.org> AArch64: follow the design guidelines for `ExactAssemblyScope`.

Change-Id: I5b942e033681c69f5e6cac3a669b3b3ebacbf1f8
/external/vixl/src/macro-assembler-interface.h
c0b25f28106fbbbf8880e0b259de1a639ea1e73f 19-Oct-2016 Alexandre Rames <alexandre.rames@linaro.org> Follow the design guidelines for the AArch64 `EmissionCheckScope`.

It uses a newly defined `MacroAssemblerInterface` class.

Change-Id: I10ba663ec047d1ea320610bc2d5565de24d9686b
/external/vixl/src/macro-assembler-interface.h