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

Reply via email to