Revision: 23365
Author:   [email protected]
Date:     Mon Aug 25 15:17:06 2014 UTC
Log:      Introduce two new symbols for vector based ICs.

Vector based load ics need a premonomorphic and generic symbol.

[email protected]

Review URL: https://codereview.chromium.org/505763002
https://code.google.com/p/v8/source/detail?r=23365

Modified:
 /branches/bleeding_edge/include/v8.h
 /branches/bleeding_edge/src/heap/heap.cc
 /branches/bleeding_edge/src/heap/heap.h
 /branches/bleeding_edge/src/objects-inl.h
 /branches/bleeding_edge/src/objects.h

=======================================
--- /branches/bleeding_edge/include/v8.h        Mon Aug 25 08:56:31 2014 UTC
+++ /branches/bleeding_edge/include/v8.h        Mon Aug 25 15:17:06 2014 UTC
@@ -5693,7 +5693,7 @@
   static const int kNullValueRootIndex = 7;
   static const int kTrueValueRootIndex = 8;
   static const int kFalseValueRootIndex = 9;
-  static const int kEmptyStringRootIndex = 162;
+  static const int kEmptyStringRootIndex = 164;

// The external allocation limit should be below 256 MB on all architectures
   // to avoid that resource-constrained embedders run low on memory.
=======================================
--- /branches/bleeding_edge/src/heap/heap.cc    Fri Aug 22 13:02:11 2014 UTC
+++ /branches/bleeding_edge/src/heap/heap.cc    Mon Aug 25 15:17:06 2014 UTC
@@ -2863,6 +2863,8 @@
   set_elements_transition_symbol(*factory->NewPrivateSymbol());
   set_frozen_symbol(*factory->NewPrivateSymbol());
   set_megamorphic_symbol(*factory->NewPrivateSymbol());
+  set_premonomorphic_symbol(*factory->NewPrivateSymbol());
+  set_generic_symbol(*factory->NewPrivateSymbol());
   set_nonexistent_symbol(*factory->NewPrivateSymbol());
   set_normal_ic_symbol(*factory->NewPrivateSymbol());
   set_observed_symbol(*factory->NewPrivateSymbol());
=======================================
--- /branches/bleeding_edge/src/heap/heap.h     Mon Aug 25 08:56:31 2014 UTC
+++ /branches/bleeding_edge/src/heap/heap.h     Mon Aug 25 15:17:06 2014 UTC
@@ -183,6 +183,8 @@
V(Symbol, observed_symbol, ObservedSymbol) \ V(Symbol, uninitialized_symbol, UninitializedSymbol) \ V(Symbol, megamorphic_symbol, MegamorphicSymbol) \ + V(Symbol, premonomorphic_symbol, PremonomorphicSymbol) \ + V(Symbol, generic_symbol, GenericSymbol) \ V(Symbol, stack_trace_symbol, StackTraceSymbol) \ V(Symbol, detailed_stack_trace_symbol, DetailedStackTraceSymbol) \ V(Symbol, normal_ic_symbol, NormalICSymbol) \
=======================================
--- /branches/bleeding_edge/src/objects-inl.h   Mon Aug 25 07:02:19 2014 UTC
+++ /branches/bleeding_edge/src/objects-inl.h   Mon Aug 25 15:17:06 2014 UTC
@@ -7010,6 +7010,16 @@
 Handle<Object> TypeFeedbackInfo::MegamorphicSentinel(Isolate* isolate) {
   return isolate->factory()->megamorphic_symbol();
 }
+
+
+Handle<Object> TypeFeedbackInfo::PremonomorphicSentinel(Isolate* isolate) {
+  return isolate->factory()->megamorphic_symbol();
+}
+
+
+Handle<Object> TypeFeedbackInfo::GenericSentinel(Isolate* isolate) {
+  return isolate->factory()->generic_symbol();
+}


 Handle<Object> TypeFeedbackInfo::MonomorphicArraySentinel(Isolate* isolate,
=======================================
--- /branches/bleeding_edge/src/objects.h       Mon Aug 25 11:31:38 2014 UTC
+++ /branches/bleeding_edge/src/objects.h       Mon Aug 25 15:17:06 2014 UTC
@@ -8407,6 +8407,12 @@
   // The object that indicates a megamorphic state.
   static inline Handle<Object> MegamorphicSentinel(Isolate* isolate);

+  // The object that indicates a premonomorphic state.
+  static inline Handle<Object> PremonomorphicSentinel(Isolate* isolate);
+
+  // The object that indicates a generic state.
+  static inline Handle<Object> GenericSentinel(Isolate* isolate);
+
   // The object that indicates a monomorphic state of Array with
   // ElementsKind
   static inline Handle<Object> MonomorphicArraySentinel(Isolate* isolate,

--
--
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.

Reply via email to