summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2009-07-29 07:26:08 (GMT)
committerAlan Alpert <alan.alpert@nokia.com>2009-07-29 07:26:08 (GMT)
commita7cc30b30df53d6a70208c25f6c12a9f229b3ea6 (patch)
tree7764192081a6f36113bc7c2f32419fa36ed7013b /src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
parentfb7d86cf23227302d48db279ec589221d11a1f6a (diff)
parent3b00ee50810206a20a5bb1b06e1dfaf593aae7ed (diff)
downloadQt-a7cc30b30df53d6a70208c25f6c12a9f229b3ea6.zip
Qt-a7cc30b30df53d6a70208c25f6c12a9f229b3ea6.tar.gz
Qt-a7cc30b30df53d6a70208c25f6c12a9f229b3ea6.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.h17
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));