Revision: 4880
Author: lukezarko
Date: Wed Jun 16 08:56:49 2010
Log: [Isolates] Removal of miscellaneous statics from the backend.
Review URL: http://codereview.chromium.org/2804005
http://code.google.com/p/v8/source/detail?r=4880
Modified:
/branches/experimental/isolates/src/arm/disasm-arm.cc
/branches/experimental/isolates/src/arm/virtual-frame-arm.cc
/branches/experimental/isolates/src/arm/virtual-frame-arm.h
/branches/experimental/isolates/src/disasm.h
/branches/experimental/isolates/src/disassembler.cc
/branches/experimental/isolates/src/ia32/disasm-ia32.cc
/branches/experimental/isolates/src/ia32/macro-assembler-ia32.cc
/branches/experimental/isolates/src/isolate.h
/branches/experimental/isolates/src/mips/disasm-mips.cc
/branches/experimental/isolates/src/virtual-frame-light-inl.h
/branches/experimental/isolates/src/x64/disasm-x64.cc
/branches/experimental/isolates/src/x64/macro-assembler-x64.cc
=======================================
--- /branches/experimental/isolates/src/arm/disasm-arm.cc Mon May 31
21:48:19 2010
+++ /branches/experimental/isolates/src/arm/disasm-arm.cc Wed Jun 16
08:56:49 2010
@@ -1302,9 +1302,8 @@
const char* NameConverter::NameOfAddress(byte* addr) const {
- static v8::internal::EmbeddedVector<char, 32> tmp_buffer;
- v8::internal::OS::SNPrintF(tmp_buffer, "%p", addr);
- return tmp_buffer.start();
+ v8::internal::OS::SNPrintF(tmp_buffer_, "%p", addr);
+ return tmp_buffer_.start();
}
=======================================
--- /branches/experimental/isolates/src/arm/virtual-frame-arm.cc Wed Jun 2
07:19:54 2010
+++ /branches/experimental/isolates/src/arm/virtual-frame-arm.cc Wed Jun 16
08:56:49 2010
@@ -413,9 +413,6 @@
{ R0_TOS, R1_R0_TOS, R0_R1_TOS, R0_R1_TOS, R1_R0_TOS };
-bool VirtualFrame::SpilledScope::is_spilled_ = false;
-
-
void VirtualFrame::Drop(int count) {
ASSERT(count >= 0);
ASSERT(height() >= count);
=======================================
--- /branches/experimental/isolates/src/arm/virtual-frame-arm.h Wed Jun 2
07:19:54 2010
+++ /branches/experimental/isolates/src/arm/virtual-frame-arm.h Wed Jun 16
08:56:49 2010
@@ -55,23 +55,26 @@
class SpilledScope BASE_EMBEDDED {
public:
explicit SpilledScope(VirtualFrame* frame)
- : old_is_spilled_(is_spilled_) {
+ : old_is_spilled_(
+ Isolate::Current()->is_virtual_frame_in_spilled_scope()) {
if (frame != NULL) {
- if (!is_spilled_) {
+ if (!old_is_spilled_) {
frame->SpillAll();
} else {
frame->AssertIsSpilled();
}
}
- is_spilled_ = true;
+ Isolate::Current()->set_is_virtual_frame_in_spilled_scope(true);
}
~SpilledScope() {
- is_spilled_ = old_is_spilled_;
- }
- static bool is_spilled() { return is_spilled_; }
+ Isolate::Current()->set_is_virtual_frame_in_spilled_scope(
+ old_is_spilled_);
+ }
+ static bool is_spilled() {
+ return Isolate::Current()->is_virtual_frame_in_spilled_scope();
+ }
private:
- static bool is_spilled_;
int old_is_spilled_;
SpilledScope() { }
=======================================
--- /branches/experimental/isolates/src/disasm.h Fri Feb 27 05:00:32 2009
+++ /branches/experimental/isolates/src/disasm.h Wed Jun 16 08:56:49 2010
@@ -44,6 +44,9 @@
virtual const char* NameOfAddress(byte* addr) const;
virtual const char* NameOfConstant(byte* addr) const;
virtual const char* NameInCode(byte* addr) const;
+
+ protected:
+ v8::internal::EmbeddedVector<char, 128> tmp_buffer_;
};
=======================================
--- /branches/experimental/isolates/src/disassembler.cc Wed Jun 9 16:02:44
2010
+++ /branches/experimental/isolates/src/disassembler.cc Wed Jun 16 08:56:49
2010
@@ -61,24 +61,24 @@
Code* code() const { return code_; }
private:
Code* code_;
+
+ EmbeddedVector<char, 128> v8_buffer_;
};
const char* V8NameConverter::NameOfAddress(byte* pc) const {
- static v8::internal::EmbeddedVector<char, 128> buffer;
-
const char* name = Builtins::Lookup(pc);
if (name != NULL) {
- OS::SNPrintF(buffer, "%s (%p)", name, pc);
- return buffer.start();
+ OS::SNPrintF(v8_buffer_, "%s (%p)", name, pc);
+ return v8_buffer_.start();
}
if (code_ != NULL) {
int offs = static_cast<int>(pc - code_->instruction_start());
// print as code offset, if it seems reasonable
if (0 <= offs && offs < code_->instruction_size()) {
- OS::SNPrintF(buffer, "%d (%p)", offs, pc);
- return buffer.start();
+ OS::SNPrintF(v8_buffer_, "%d (%p)", offs, pc);
+ return v8_buffer_.start();
}
}
=======================================
--- /branches/experimental/isolates/src/ia32/disasm-ia32.cc Wed Jun 9
16:02:44 2010
+++ /branches/experimental/isolates/src/ia32/disasm-ia32.cc Wed Jun 16
08:56:49 2010
@@ -242,6 +242,7 @@
}
+// TODO(isolates): This appears to act morally as a constant. Is it safe?
static InstructionTable instruction_table;
@@ -1388,9 +1389,8 @@
const char* NameConverter::NameOfAddress(byte* addr) const {
- static v8::internal::EmbeddedVector<char, 32> tmp_buffer;
- v8::internal::OS::SNPrintF(tmp_buffer, "%p", addr);
- return tmp_buffer.start();
+ v8::internal::OS::SNPrintF(tmp_buffer_, "%p", addr);
+ return tmp_buffer_.start();
}
=======================================
--- /branches/experimental/isolates/src/ia32/macro-assembler-ia32.cc Thu
Jun 10 10:14:01 2010
+++ /branches/experimental/isolates/src/ia32/macro-assembler-ia32.cc Wed
Jun 16 08:56:49 2010
@@ -408,7 +408,7 @@
sub(Operand(esp), Immediate(argc * kPointerSize));
// Get the required frame alignment for the OS.
- static const int kFrameAlignment = OS::ActivationFrameAlignment();
+ const int kFrameAlignment = OS::ActivationFrameAlignment();
if (kFrameAlignment > 0) {
ASSERT(IsPowerOf2(kFrameAlignment));
and_(esp, -kFrameAlignment);
=======================================
--- /branches/experimental/isolates/src/isolate.h Tue Jun 15 12:28:12 2010
+++ /branches/experimental/isolates/src/isolate.h Wed Jun 16 08:56:49 2010
@@ -119,6 +119,18 @@
Address try_catch_handler_address_;
};
+#if defined(V8_TARGET_ARCH_ARM)
+
+#define
ISOLATE_PLATFORM_INIT_LIST(V) \
+ /* VirtualFrame::SpilledScope state
*/ \
+ V(bool, is_virtual_frame_in_spilled_scope, false)
+
+#else
+
+#define ISOLATE_PLATFORM_INIT_LIST(V)
+
+#endif
+
#define
ISOLATE_INIT_ARRAY_LIST(V) \
/* SerializerDeserializer state.
*/ \
V(Object*, serialize_partial_snapshot_cache,
kPartialSnapshotCacheCapacity)
@@ -127,7 +139,8 @@
/* AssertNoZoneAllocation state.
*/ \
V(bool, zone_allow_allocation,
true) \
/* SerializerDeserializer state.
*/ \
- V(int, serialize_partial_snapshot_cache_length, 0)
+ V(int, serialize_partial_snapshot_cache_length,
0) \
+ ISOLATE_PLATFORM_INIT_LIST(V)
class Isolate {
public:
=======================================
--- /branches/experimental/isolates/src/mips/disasm-mips.cc Mon May 17
08:41:35 2010
+++ /branches/experimental/isolates/src/mips/disasm-mips.cc Wed Jun 16
08:56:49 2010
@@ -711,9 +711,8 @@
const char* NameConverter::NameOfAddress(byte_* addr) const {
- static v8::internal::EmbeddedVector<char, 32> tmp_buffer;
- v8::internal::OS::SNPrintF(tmp_buffer, "%p", addr);
- return tmp_buffer.start();
+ v8::internal::OS::SNPrintF(tmp_buffer_, "%p", addr);
+ return tmp_buffer_.start();
}
=======================================
--- /branches/experimental/isolates/src/virtual-frame-light-inl.h Wed Jun
2 07:19:54 2010
+++ /branches/experimental/isolates/src/virtual-frame-light-inl.h Wed Jun
16 08:56:49 2010
@@ -81,8 +81,9 @@
VirtualFrame::RegisterAllocationScope::RegisterAllocationScope(
CodeGenerator* cgen)
: cgen_(cgen),
- old_is_spilled_(SpilledScope::is_spilled_) {
- SpilledScope::is_spilled_ = false;
+ old_is_spilled_(
+ Isolate::Current()->is_virtual_frame_in_spilled_scope()) {
+ Isolate::Current()->set_is_virtual_frame_in_spilled_scope(false);
if (old_is_spilled_) {
VirtualFrame* frame = cgen->frame();
if (frame != NULL) {
@@ -93,7 +94,7 @@
VirtualFrame::RegisterAllocationScope::~RegisterAllocationScope() {
- SpilledScope::is_spilled_ = old_is_spilled_;
+
Isolate::Current()->set_is_virtual_frame_in_spilled_scope(old_is_spilled_);
if (old_is_spilled_) {
VirtualFrame* frame = cgen_->frame();
if (frame != NULL) {
=======================================
--- /branches/experimental/isolates/src/x64/disasm-x64.cc Mon May 17
08:41:35 2010
+++ /branches/experimental/isolates/src/x64/disasm-x64.cc Wed Jun 16
08:56:49 2010
@@ -267,8 +267,10 @@
}
+// TODO(isolates): This appears to act morally as a constant. Is it safe?
static InstructionTable instruction_table;
+
static InstructionDesc cmov_instructions[16] = {
{"cmovo", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
{"cmovno", TWO_OPERANDS_INSTR, REG_OPER_OP_ORDER, false},
@@ -1593,9 +1595,8 @@
const char* NameConverter::NameOfAddress(byte* addr) const {
- static v8::internal::EmbeddedVector<char, 32> tmp_buffer;
- v8::internal::OS::SNPrintF(tmp_buffer, "%p", addr);
- return tmp_buffer.start();
+ v8::internal::OS::SNPrintF(tmp_buffer_, "%p", addr);
+ return tmp_buffer_.start();
}
=======================================
--- /branches/experimental/isolates/src/x64/macro-assembler-x64.cc Thu Jun
10 10:14:01 2010
+++ /branches/experimental/isolates/src/x64/macro-assembler-x64.cc Wed Jun
16 08:56:49 2010
@@ -2102,7 +2102,7 @@
#endif
// Get the required frame alignment for the OS.
- static const int kFrameAlignment = OS::ActivationFrameAlignment();
+ const int kFrameAlignment = OS::ActivationFrameAlignment();
if (kFrameAlignment > 0) {
ASSERT(IsPowerOf2(kFrameAlignment));
movq(kScratchRegister, Immediate(-kFrameAlignment));
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev