| 265 | } |
| 266 | |
| 267 | Error Assembler::embed(const void* data, uint32_t size) { |
| 268 | if (_lastError) return _lastError; |
| 269 | |
| 270 | if (getRemainingSpace() < size) { |
| 271 | Error err = _code->growBuffer(&_section->_buffer, size); |
| 272 | if (ASMJIT_UNLIKELY(err != kErrorOk)) return setLastError(err); |
| 273 | } |
| 274 | |
| 275 | ::memcpy(_bufferPtr, data, size); |
| 276 | _bufferPtr += size; |
| 277 | |
| 278 | #if !defined(ASMJIT_DISABLE_LOGGING) |
| 279 | if (_globalOptions & kOptionLoggingEnabled) |
| 280 | _code->_logger->logBinary(data, size); |
| 281 | #endif // !ASMJIT_DISABLE_LOGGING |
| 282 | |
| 283 | return kErrorOk; |
| 284 | } |
| 285 | |
| 286 | Error Assembler::embedLabel(const Label& label) { |
| 287 | if (_lastError) return _lastError; |