Revision: 19105
Author:   [email protected]
Date:     Wed Feb  5 15:22:54 2014 UTC
Log:      Fix for buildbot failure after r19102.

[email protected]

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

Modified:
 /branches/bleeding_edge/src/hydrogen-check-elimination.cc
 /branches/bleeding_edge/src/hydrogen-instructions.h

=======================================
--- /branches/bleeding_edge/src/hydrogen-check-elimination.cc Wed Feb 5 13:39:55 2014 UTC +++ /branches/bleeding_edge/src/hydrogen-check-elimination.cc Wed Feb 5 15:22:54 2014 UTC
@@ -285,7 +285,8 @@
           HGraph* graph = instr->block()->graph();
           HCheckMaps* new_check_maps =
               HCheckMaps::New(graph->zone(), NULL, instr->value(),
-                              intersection, instr->typecheck());
+                              intersection, instr->typecheck(),
+                              instr->has_migration_target());
           if (entry->check_ != NULL &&
               entry->check_->block() == instr->block()) {
             // There is a check in the same block so replace it with a more
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.h Wed Feb 5 13:39:55 2014 UTC +++ /branches/bleeding_edge/src/hydrogen-instructions.h Wed Feb 5 15:22:54 2014 UTC
@@ -2647,22 +2647,29 @@
  public:
   static HCheckMaps* New(Zone* zone, HValue* context, HValue* value,
                          Handle<Map> map, CompilationInfo* info,
-                         HValue *typecheck = NULL);
+                         HValue* typecheck = NULL);
   static HCheckMaps* New(Zone* zone, HValue* context,
                          HValue* value, SmallMapList* maps,
-                         HValue *typecheck = NULL) {
+                         HValue* typecheck = NULL) {
     HCheckMaps* check_map = new(zone) HCheckMaps(value, zone, typecheck);
     for (int i = 0; i < maps->length(); i++) {
       check_map->Add(maps->at(i), zone);
     }
     return check_map;
   }
+ // HCheckMaps creation method safe for using during concurrent compilation
+  // (does not dereference maps handles).
   static HCheckMaps* New(Zone* zone, HValue* context,
                          HValue* value, UniqueSet<Map>* maps,
-                         HValue *typecheck = NULL) {
+                         HValue* typecheck,
+                         bool has_migration_target) {
     HCheckMaps* check_map = new(zone) HCheckMaps(value, zone, typecheck);
     for (int i = 0; i < maps->size(); i++) {
-      check_map->Add(maps->at(i).handle(), zone);
+      check_map->map_set_.Add(maps->at(i), zone);
+    }
+    if (has_migration_target) {
+      check_map->has_migration_target_ = true;
+      check_map->SetGVNFlag(kChangesNewSpacePromotion);
     }
     return check_map;
   }

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