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.