Revision: 24604
Author:   [email protected]
Date:     Tue Oct 14 13:52:15 2014 UTC
Log:      Always initialize key_type_ in AST nodes

BUG=chromium:423117
LOG=n
[email protected]

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

Modified:
 /branches/bleeding_edge/src/ast.cc
 /branches/bleeding_edge/src/ast.h
 /branches/bleeding_edge/src/ic/ic.h

=======================================
--- /branches/bleeding_edge/src/ast.cc  Tue Oct 14 10:24:18 2014 UTC
+++ /branches/bleeding_edge/src/ast.cc  Tue Oct 14 13:52:15 2014 UTC
@@ -101,6 +101,7 @@
                        Expression* value, int pos, IdGen* id_gen)
     : Expression(zone, pos, num_ids(), id_gen),
       is_uninitialized_(false),
+      key_type_(ELEMENT),
       store_mode_(STANDARD_STORE),
       op_(op),
       target_(target),
=======================================
--- /branches/bleeding_edge/src/ast.h   Tue Oct 14 10:24:18 2014 UTC
+++ /branches/bleeding_edge/src/ast.h   Tue Oct 14 13:52:15 2014 UTC
@@ -1742,6 +1742,10 @@
   virtual KeyedAccessStoreMode GetStoreMode() OVERRIDE {
     return STANDARD_STORE;
   }
+  virtual IcCheckType GetKeyType() {
+    // PROPERTY key types currently aren't implemented for KeyedLoadICs.
+    return ELEMENT;
+  }
   bool IsUninitialized() { return !is_for_call_ && is_uninitialized_; }
   bool HasNoTypeInformation() {
     return is_uninitialized_;
@@ -2123,6 +2127,7 @@
       : Expression(zone, pos, num_ids(), id_gen),
         op_(op),
         is_prefix_(is_prefix),
+        key_type_(ELEMENT),
         store_mode_(STANDARD_STORE),
         expression_(expr) {}

=======================================
--- /branches/bleeding_edge/src/ic/ic.h Fri Oct 10 13:27:52 2014 UTC
+++ /branches/bleeding_edge/src/ic/ic.h Tue Oct 14 13:52:15 2014 UTC
@@ -547,7 +547,8 @@
   static ExtraICState ComputeExtraICState(StrictMode flag,
                                           KeyedAccessStoreMode mode) {
     return StrictModeState::encode(flag) |
-           ExtraICStateKeyedAccessStoreMode::encode(mode);
+           ExtraICStateKeyedAccessStoreMode::encode(mode) |
+           IcCheckTypeField::encode(ELEMENT);
   }

   static KeyedAccessStoreMode GetKeyedAccessStoreMode(

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