Zap prototype transitions in release mode, too.
authorjarin@chromium.org <jarin@chromium.org>
Wed, 12 Nov 2014 10:01:45 +0000 (10:01 +0000)
committerjarin@chromium.org <jarin@chromium.org>
Wed, 12 Nov 2014 10:02:19 +0000 (10:02 +0000)
R=ulan@chromium.org
BUG=431559
LOG=n

Review URL: https://codereview.chromium.org/715233002

Cr-Commit-Position: refs/heads/master@{#25287}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/objects-inl.h

index e7dcd63..55b8830 100644 (file)
@@ -5368,12 +5368,10 @@ void Map::SetPrototypeTransitions(
     Handle<Map> map, Handle<FixedArray> proto_transitions) {
   EnsureHasTransitionArray(map);
   int old_number_of_transitions = map->NumberOfProtoTransitions();
-#ifdef DEBUG
-  if (map->HasPrototypeTransitions()) {
+  if (Heap::ShouldZapGarbage() && map->HasPrototypeTransitions()) {
     DCHECK(map->GetPrototypeTransitions() != *proto_transitions);
     map->ZapPrototypeTransitions();
   }
-#endif
   map->transitions()->SetPrototypeTransitions(*proto_transitions);
   map->SetNumberOfProtoTransitions(old_number_of_transitions);
 }