diff options
author | kh <qtc-committer@nokia.com> | 2009-07-29 16:32:57 (GMT) |
---|---|---|
committer | kh <qtc-committer@nokia.com> | 2009-07-29 16:32:57 (GMT) |
commit | 91005e4878c76630390fd17afec2f283fcd5121d (patch) | |
tree | c9a997a7c542da025ff00549ea80bd517557c577 /src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h | |
parent | f21a36efaab400e086a8c1e87f91da595e4a4443 (diff) | |
parent | b2b626a936d778b89f8fbf33ac914d99876ec4b3 (diff) | |
download | Qt-91005e4878c76630390fd17afec2f283fcd5121d.zip Qt-91005e4878c76630390fd17afec2f283fcd5121d.tar.gz Qt-91005e4878c76630390fd17afec2f283fcd5121d.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h index 7a5a8d3..073906a 100644 --- a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h +++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h @@ -95,12 +95,14 @@ namespace JSC { void putIntUnchecked(int value) { + ASSERT(!(m_size > m_capacity - 4)); *reinterpret_cast<int*>(&m_buffer[m_size]) = value; m_size += 4; } void putInt64Unchecked(int64_t value) { + ASSERT(!(m_size > m_capacity - 8)); *reinterpret_cast<int64_t*>(&m_buffer[m_size]) = value; m_size += 8; } @@ -137,10 +139,19 @@ namespace JSC { return memcpy(result, m_buffer, m_size); } - private: - void grow() + protected: + void append(const char* data, int size) + { + if (m_size > m_capacity - size) + grow(size); + + memcpy(m_buffer + m_size, data, size); + m_size += size; + } + + void grow(int extraCapacity = 0) { - m_capacity += m_capacity / 2; + m_capacity += m_capacity / 2 + extraCapacity; if (m_buffer == m_inlineBuffer) { char* newBuffer = static_cast<char*>(fastMalloc(m_capacity)); |