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
|