Revision: 14808
Author:   [email protected]
Date:     Fri May 24 08:20:48 2013
Log:      trace compare_nil_ic state in --trace-ic output

BUG=
[email protected]

Review URL: https://codereview.chromium.org/15735020
http://code.google.com/p/v8/source/detail?r=14808

Modified:
 /branches/bleeding_edge/src/code-stubs.cc
 /branches/bleeding_edge/src/code-stubs.h
 /branches/bleeding_edge/src/ic.cc

=======================================
--- /branches/bleeding_edge/src/code-stubs.cc   Fri May 24 04:44:55 2013
+++ /branches/bleeding_edge/src/code-stubs.cc   Fri May 24 08:20:48 2013
@@ -432,6 +432,23 @@
     }
   }
 }
+
+
+void CompareNilICStub::Types::TraceTransition(Types to) const {
+  #ifdef DEBUG
+  if (!FLAG_trace_ic) return;
+  char buffer[100];
+  NoAllocationStringAllocator allocator(buffer,
+ static_cast<unsigned>(sizeof(buffer)));
+  StringStream stream(&allocator);
+  stream.Add("[CompareNilIC : ");
+  Print(&stream);
+  stream.Add("=>");
+  to.Print(&stream);
+  stream.Add("]\n");
+  stream.OutputToStdOut();
+  #endif
+}


 void CompareNilICStub::PrintName(StringStream* stream) {
@@ -578,17 +595,19 @@


 void ToBooleanStub::Types::TraceTransition(Types to) const {
+  #ifdef DEBUG
   if (!FLAG_trace_ic) return;
   char buffer[100];
   NoAllocationStringAllocator allocator(buffer,
static_cast<unsigned>(sizeof(buffer)));
   StringStream stream(&allocator);
-  stream.Add("[ToBooleanIC (");
+  stream.Add("[ToBooleanIC : ");
   Print(&stream);
-  stream.Add("->");
+  stream.Add("=>");
   to.Print(&stream);
-  stream.Add(")]\n");
+  stream.Add("]\n");
   stream.OutputToStdOut();
+  #endif
 }


=======================================
--- /branches/bleeding_edge/src/code-stubs.h    Fri May 24 04:44:55 2013
+++ /branches/bleeding_edge/src/code-stubs.h    Fri May 24 08:20:48 2013
@@ -1084,6 +1084,7 @@
     }

     void Print(StringStream* stream) const;
+    void TraceTransition(Types to) const;
   };

// At most 6 different types can be distinguished, because the Code object
=======================================
--- /branches/bleeding_edge/src/ic.cc   Fri May 24 04:44:55 2013
+++ /branches/bleeding_edge/src/ic.cc   Fri May 24 08:20:48 2013
@@ -2928,7 +2928,9 @@
   // types must be supported as a result of the miss.
   bool already_monomorphic = stub.IsMonomorphic();

+  CompareNilICStub::Types old_types = stub.GetTypes();
   stub.Record(object);
+  old_types.TraceTransition(stub.GetTypes());

   EqualityKind kind = stub.GetKind();
   NilValue nil = stub.GetNilValue();

--
--
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/groups/opt_out.


Reply via email to