Changeset 134934 in webkit
- Timestamp:
- Nov 16, 2012 5:19:56 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r134916 r134934 1 2012-11-16 Ulan Degenbaev <ulan@chromium.org> 2 3 [V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer 4 https://bugs.webkit.org/show_bug.cgi?id=94463 5 6 Reviewed by Kentaro Hara. 7 8 Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred. 9 10 * ManualTests/typed-array-memory.html: 11 1 12 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com> 2 13 -
trunk/ManualTests/typed-array-memory.html
r126196 r134934 137 137 " return getV8Statistics().amount_of_external_allocated_memory;\n" + 138 138 "}\n" + 139 "function collectGarbage() {\n" + 140 " for (var i = 0; i < 10; i++) gc();\n" + 141 "}\n" + 142 "var before = externalMemory();\n" + 139 "var KB = 1024;\n" + 140 "var MB = KB * KB;\n" + 141 "var noise = KB;\n" + 143 142 "self.onmessage = function(e) {\n" + 144 " var now = externalMemory();\n" + 145 " e.data = null;\n" + 146 " collectGarbage();\n" + 143 " var before = externalMemory();\n" + 144 " e.data;\n" + 147 145 " var after = externalMemory();\n" + 148 " self.postMessage(before + ' ' + now + ' ' + after);\n" + 146 " if (after > before + MB - noise) {\n" + 147 " self.postMessage('PASS: Amount of external memory increased.');\n" + 148 " } else {\n" + 149 " self.postMessage('FAIL: Amount of external memory did not increase.');\n" + 150 " }\n" + 149 151 "}\n"; 150 152 … … 159 161 try { 160 162 var before = externalMemory(); 161 worker. webkitPostMessage(buffer, [buffer]);163 worker.postMessage(buffer, [buffer]); 162 164 var now = externalMemory(); 163 165 if (now > before - MB + noise) { -
trunk/Source/WebCore/ChangeLog
r134932 r134934 1 2012-11-16 Ulan Degenbaev <ulan@chromium.org> 2 3 [V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer 4 https://bugs.webkit.org/show_bug.cgi?id=94463 5 6 Reviewed by Kentaro Hara. 7 8 Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred. 9 10 Test: ManualTests/typed-array-memory.html 11 12 * bindings/v8/SerializedScriptValue.cpp: 13 1 14 2012-11-16 Sheriff Bot <webkit.review.bot@gmail.com> 2 15 -
trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
r134447 r134934 42 42 #include "SharedBuffer.h" 43 43 #include "V8ArrayBuffer.h" 44 #include "V8ArrayBufferCustom.h" 44 45 #include "V8ArrayBufferView.h" 45 46 #include "V8Binding.h" … … 1648 1649 const void* bufferStart = m_buffer + m_position; 1649 1650 RefPtr<ArrayBuffer> arrayBuffer = ArrayBuffer::create(bufferStart, byteLength); 1651 arrayBuffer->setDeallocationObserver(V8ArrayBufferDeallocationObserver::instance()); 1652 v8::V8::AdjustAmountOfExternalAllocatedMemory(arrayBuffer->byteLength()); 1650 1653 m_position += byteLength; 1651 1654 return arrayBuffer.release(); … … 2035 2038 v8::Handle<v8::Object> result = m_arrayBuffers.at(index); 2036 2039 if (result.IsEmpty()) { 2037 result = toV8Object(ArrayBuffer::create(m_arrayBufferContents->at(index)).get(), v8::Handle<v8::Object>(), m_reader.getIsolate()); 2040 RefPtr<ArrayBuffer> buffer = ArrayBuffer::create(m_arrayBufferContents->at(index)); 2041 buffer->setDeallocationObserver(V8ArrayBufferDeallocationObserver::instance()); 2042 v8::V8::AdjustAmountOfExternalAllocatedMemory(buffer->byteLength()); 2043 result = toV8Object(buffer.get(), v8::Handle<v8::Object>(), m_reader.getIsolate()); 2038 2044 m_arrayBuffers[index] = result; 2039 2045 }
Note: See TracChangeset
for help on using the changeset viewer.