Revision: 22947
Author: [email protected]
Date: Wed Aug 6 17:48:31 2014 UTC
Log: We should never allocate a 0-sized buffer, so never grow from 0.
BUG=
[email protected]
Review URL: https://codereview.chromium.org/446933003
http://code.google.com/p/v8/source/detail?r=22947
Modified:
/branches/bleeding_edge/src/arm/assembler-arm.cc
/branches/bleeding_edge/src/arm64/assembler-arm64.cc
/branches/bleeding_edge/src/assembler.cc
/branches/bleeding_edge/src/ia32/assembler-ia32.cc
/branches/bleeding_edge/src/lithium.cc
/branches/bleeding_edge/src/x64/assembler-x64.cc
=======================================
--- /branches/bleeding_edge/src/arm/assembler-arm.cc Wed Aug 6 16:56:52
2014 UTC
+++ /branches/bleeding_edge/src/arm/assembler-arm.cc Wed Aug 6 17:48:31
2014 UTC
@@ -3202,9 +3202,7 @@
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ == 0) {
- desc.buffer_size = kMinimalBufferSize;
- } else if (buffer_size_ < 1*MB) {
+ if (buffer_size_ < 1 * MB) {
desc.buffer_size = 2*buffer_size_;
} else {
desc.buffer_size = buffer_size_ + 1*MB;
=======================================
--- /branches/bleeding_edge/src/arm64/assembler-arm64.cc Wed Aug 6
16:56:52 2014 UTC
+++ /branches/bleeding_edge/src/arm64/assembler-arm64.cc Wed Aug 6
17:48:31 2014 UTC
@@ -2771,9 +2771,7 @@
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ == 0) {
- desc.buffer_size = kMinimalBufferSize;
- } else if (buffer_size_ < 1 * MB) {
+ if (buffer_size_ < 1 * MB) {
desc.buffer_size = 2 * buffer_size_;
} else {
desc.buffer_size = buffer_size_ + 1 * MB;
=======================================
--- /branches/bleeding_edge/src/assembler.cc Wed Aug 6 16:56:52 2014 UTC
+++ /branches/bleeding_edge/src/assembler.cc Wed Aug 6 17:48:31 2014 UTC
@@ -134,15 +134,10 @@
if (FLAG_mask_constants_with_cookie && isolate != NULL) {
jit_cookie_ = isolate->random_number_generator()->NextInt();
}
- if (buffer == NULL) {
- // Do our own buffer management.
- buffer = NewArray<byte>(buffer_size);
- own_buffer_ = true;
- } else {
- // Use externally provided buffer instead.
- DCHECK(buffer_size > 0);
- own_buffer_ = false;
- }
+ own_buffer_ = buffer == NULL;
+ if (buffer_size == 0) buffer_size = kMinimalBufferSize;
+ DCHECK(buffer_size > 0);
+ if (own_buffer_) buffer = NewArray<byte>(buffer_size);
buffer_ = static_cast<byte*>(buffer);
buffer_size_ = buffer_size;
=======================================
--- /branches/bleeding_edge/src/ia32/assembler-ia32.cc Wed Aug 6 16:56:52
2014 UTC
+++ /branches/bleeding_edge/src/ia32/assembler-ia32.cc Wed Aug 6 17:48:31
2014 UTC
@@ -2497,11 +2497,8 @@
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ == 0) {
- desc.buffer_size = kMinimalBufferSize;
- } else {
- desc.buffer_size = 2*buffer_size_;
- }
+ desc.buffer_size = 2 * buffer_size_;
+
// Some internal data structures overflow for very large buffers,
// they must ensure that kMaximalBufferSize is not too large.
if ((desc.buffer_size > kMaximalBufferSize) ||
=======================================
--- /branches/bleeding_edge/src/lithium.cc Wed Aug 6 17:16:13 2014 UTC
+++ /branches/bleeding_edge/src/lithium.cc Wed Aug 6 17:48:31 2014 UTC
@@ -457,8 +457,7 @@
Handle<Code> LChunk::Codegen() {
- MacroAssembler assembler(info()->isolate(), NULL,
- Assembler::kMinimalBufferSize);
+ MacroAssembler assembler(info()->isolate(), NULL, 0);
LOG_CODE_EVENT(info()->isolate(),
CodeStartLinePosInfoRecordEvent(
assembler.positions_recorder()));
=======================================
--- /branches/bleeding_edge/src/x64/assembler-x64.cc Wed Aug 6 16:56:52
2014 UTC
+++ /branches/bleeding_edge/src/x64/assembler-x64.cc Wed Aug 6 17:48:31
2014 UTC
@@ -331,11 +331,8 @@
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ == 0) {
- desc.buffer_size = kMinimalBufferSize;
- } else {
- desc.buffer_size = 2*buffer_size_;
- }
+ desc.buffer_size = 2 * buffer_size_;
+
// Some internal data structures overflow for very large buffers,
// they must ensure that kMaximalBufferSize is not too large.
if ((desc.buffer_size > kMaximalBufferSize) ||
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.