Reviewers: Igor Sheludko,
Message:
PTAL
Description:
Get rid of the "spare buffer" cache.
BUG=
Please review this at https://codereview.chromium.org/446923002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+13, -52 lines):
M src/arm/assembler-arm.cc
M src/arm64/assembler-arm64.cc
M src/assembler.cc
M src/ia32/assembler-ia32.cc
M src/isolate.h
M src/isolate.cc
M src/x64/assembler-x64.cc
M src/x87/assembler-x87.cc
Index: src/arm/assembler-arm.cc
diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc
index
7831ead1d220ae295c8f56c6472ab31dad419aa9..1c690a8a6d720169f44c5e20ceafb4a300f80b7d
100644
--- a/src/arm/assembler-arm.cc
+++ b/src/arm/assembler-arm.cc
@@ -3202,8 +3202,8 @@ void Assembler::GrowBuffer() {
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ < 4*KB) {
- desc.buffer_size = 4*KB;
+ if (buffer_size_ == 0) {
+ desc.buffer_size = kMinimalBufferSize;
} else if (buffer_size_ < 1*MB) {
desc.buffer_size = 2*buffer_size_;
} else {
Index: src/arm64/assembler-arm64.cc
diff --git a/src/arm64/assembler-arm64.cc b/src/arm64/assembler-arm64.cc
index
a9b2a83ed95b1fb95f56f7af38e0619ee2be396a..a51b22ad9a5789875922002a54bdb28897e9934a
100644
--- a/src/arm64/assembler-arm64.cc
+++ b/src/arm64/assembler-arm64.cc
@@ -2771,8 +2771,8 @@ void Assembler::GrowBuffer() {
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ < 4 * KB) {
- desc.buffer_size = 4 * KB;
+ if (buffer_size_ == 0) {
+ desc.buffer_size = kMinimalBufferSize;
} else if (buffer_size_ < 1 * MB) {
desc.buffer_size = 2 * buffer_size_;
} else {
Index: src/assembler.cc
diff --git a/src/assembler.cc b/src/assembler.cc
index
0ee20c7ee00f232a2d7fd11797b9b091888c0ec6..c35c81cc9f3f59dfbd85fc8e8ae5fba3e5095147
100644
--- a/src/assembler.cc
+++ b/src/assembler.cc
@@ -136,14 +136,7 @@ AssemblerBase::AssemblerBase(Isolate* isolate, void*
buffer, int buffer_size)
}
if (buffer == NULL) {
// Do our own buffer management.
- if (buffer_size <= kMinimalBufferSize) {
- buffer_size = kMinimalBufferSize;
- if (isolate->assembler_spare_buffer() != NULL) {
- buffer = isolate->assembler_spare_buffer();
- isolate->set_assembler_spare_buffer(NULL);
- }
- }
- if (buffer == NULL) buffer = NewArray<byte>(buffer_size);
+ buffer = NewArray<byte>(buffer_size);
own_buffer_ = true;
} else {
// Use externally provided buffer instead.
@@ -158,15 +151,7 @@ AssemblerBase::AssemblerBase(Isolate* isolate, void*
buffer, int buffer_size)
AssemblerBase::~AssemblerBase() {
- if (own_buffer_) {
- if (isolate() != NULL &&
- isolate()->assembler_spare_buffer() == NULL &&
- buffer_size_ == kMinimalBufferSize) {
- isolate()->set_assembler_spare_buffer(buffer_);
- } else {
- DeleteArray(buffer_);
- }
- }
+ if (own_buffer_) DeleteArray(buffer_);
}
Index: src/ia32/assembler-ia32.cc
diff --git a/src/ia32/assembler-ia32.cc b/src/ia32/assembler-ia32.cc
index
5f80e07b56d8b0879f7c09a853815bfd27125ba1..e4fb3325596b53e71aaec3f4221a3ff0cdc6988e
100644
--- a/src/ia32/assembler-ia32.cc
+++ b/src/ia32/assembler-ia32.cc
@@ -2497,8 +2497,8 @@ void Assembler::GrowBuffer() {
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ < 4*KB) {
- desc.buffer_size = 4*KB;
+ if (buffer_size_ == 0) {
+ desc.buffer_size = kMinimalBufferSize;
} else {
desc.buffer_size = 2*buffer_size_;
}
@@ -2527,13 +2527,7 @@ void Assembler::GrowBuffer() {
MemMove(rc_delta + reloc_info_writer.pos(), reloc_info_writer.pos(),
desc.reloc_size);
- // Switch buffers.
- if (isolate()->assembler_spare_buffer() == NULL &&
- buffer_size_ == kMinimalBufferSize) {
- isolate()->set_assembler_spare_buffer(buffer_);
- } else {
- DeleteArray(buffer_);
- }
+ DeleteArray(buffer_);
buffer_ = desc.buffer;
buffer_size_ = desc.buffer_size;
pc_ += pc_delta;
Index: src/isolate.cc
diff --git a/src/isolate.cc b/src/isolate.cc
index
293f7ab77eadaa791d2c8138265f97c28148877e..215296d735cc5b8b9698cfc67d9dc0cfa3bd7208
100644
--- a/src/isolate.cc
+++ b/src/isolate.cc
@@ -1645,9 +1645,6 @@ Isolate::~Isolate() {
delete entry_stack_;
entry_stack_ = NULL;
- delete[] assembler_spare_buffer_;
- assembler_spare_buffer_ = NULL;
-
delete unicode_cache_;
unicode_cache_ = NULL;
Index: src/isolate.h
diff --git a/src/isolate.h b/src/isolate.h
index
cf1de10be21f50cdcc34176c0e1d708c2546e372..9ef6fc732a9f9f64c22fd4449ce28834a0107083
100644
--- a/src/isolate.h
+++ b/src/isolate.h
@@ -340,8 +340,6 @@ typedef List<HeapObject*> DebugObjectCache;
V(int, serialize_partial_snapshot_cache_capacity,
0) \
V(Object**, serialize_partial_snapshot_cache,
NULL) \
/* Assembler state.
*/ \
- /* A previously allocated buffer of kMinimalBufferSize bytes, or NULL.
*/ \
- V(byte*, assembler_spare_buffer,
NULL) \
V(FatalErrorCallback, exception_behavior,
NULL) \
V(LogEventCallback, event_logger,
NULL) \
V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback,
NULL) \
Index: src/x64/assembler-x64.cc
diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
index
2568cc082204ae839dcf376a416d43b05ed978fb..e428e8ee7771d22360e0aac45e1b2ea53de41b2e
100644
--- a/src/x64/assembler-x64.cc
+++ b/src/x64/assembler-x64.cc
@@ -331,8 +331,8 @@ void Assembler::GrowBuffer() {
// Compute new buffer size.
CodeDesc desc; // the new buffer
- if (buffer_size_ < 4*KB) {
- desc.buffer_size = 4*KB;
+ if (buffer_size_ == 0) {
+ desc.buffer_size = kMinimalBufferSize;
} else {
desc.buffer_size = 2*buffer_size_;
}
@@ -363,14 +363,7 @@ void Assembler::GrowBuffer() {
MemMove(rc_delta + reloc_info_writer.pos(), reloc_info_writer.pos(),
desc.reloc_size);
- // Switch buffers.
- if (isolate() != NULL &&
- isolate()->assembler_spare_buffer() == NULL &&
- buffer_size_ == kMinimalBufferSize) {
- isolate()->set_assembler_spare_buffer(buffer_);
- } else {
- DeleteArray(buffer_);
- }
+ DeleteArray(buffer_);
buffer_ = desc.buffer;
buffer_size_ = desc.buffer_size;
pc_ += pc_delta;
Index: src/x87/assembler-x87.cc
diff --git a/src/x87/assembler-x87.cc b/src/x87/assembler-x87.cc
index
cb40dac65167426fc64e744cd8d099d474c7af27..7061053e6efc8bd6964ca9dd4c9a51a82a2b615a
100644
--- a/src/x87/assembler-x87.cc
+++ b/src/x87/assembler-x87.cc
@@ -1910,13 +1910,7 @@ void Assembler::GrowBuffer() {
MemMove(rc_delta + reloc_info_writer.pos(), reloc_info_writer.pos(),
desc.reloc_size);
- // Switch buffers.
- if (isolate()->assembler_spare_buffer() == NULL &&
- buffer_size_ == kMinimalBufferSize) {
- isolate()->set_assembler_spare_buffer(buffer_);
- } else {
- DeleteArray(buffer_);
- }
+ DeleteArray(buffer_);
buffer_ = desc.buffer;
buffer_size_ = desc.buffer_size;
pc_ += pc_delta;
--
--
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.