| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 41f9d0d5ccdecae37ed1cf08206f09136a6f8476..ad18cd49d4ddcd1084d0a57c490cc810b48fab2d 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -2605,6 +2605,7 @@ class HCheckMaps: public HTemplateInstruction<2> {
|
| omit_ = true;
|
| for (int i = 0; i < map_set_.length(); i++) {
|
| Handle<Map> map = map_set_.at(i);
|
| + if (!map->CanTransition()) continue;
|
| map->AddDependentCompilationInfo(DependentCode::kPrototypeCheckGroup,
|
| info);
|
| }
|
| @@ -3229,10 +3230,10 @@ class HConstant: public HTemplateInstruction<0> {
|
| return handle_;
|
| }
|
|
|
| - bool InstanceOf(Handle<Map> map) {
|
| + bool HasMap(Handle<Map> map) {
|
| Handle<Object> constant_object = handle();
|
| - return constant_object->IsJSObject() &&
|
| - Handle<JSObject>::cast(constant_object)->map() == *map;
|
| + return constant_object->IsHeapObject() &&
|
| + Handle<HeapObject>::cast(constant_object)->map() == *map;
|
| }
|
|
|
| bool IsSpecialDouble() const {
|
|
|