Chromium Code Reviews| Index: src/objects.cc |
| diff --git a/src/objects.cc b/src/objects.cc |
| index 6f38bdc5872084c4bdeb673b954804fdbf2893ab..9e24a692c6a0deddda3b4839ccb1d7fcb1f42c59 100644 |
| --- a/src/objects.cc |
| +++ b/src/objects.cc |
| @@ -3326,6 +3326,15 @@ void JSObject::MigrateToMap(Handle<JSObject> object, Handle<Map> new_map, |
| // When adding code here, add a DisallowHeapAllocation too. |
| } |
| +void JSObject::SetObjectPrototype(Handle<JSObject> object, |
|
Toon Verwaest
2016/07/18 14:36:21
Can't you just use JSObject::SetPrototype?
If not,
|
| + Handle<Object> proto) { |
| + // object.__proto__ = proto; |
| + Handle<Map> old_map = Handle<Map>(object->map()); |
| + Handle<Map> new_map = Map::Copy(old_map, "SetObjectPrototype"); |
| + Map::SetPrototype(new_map, proto, FAST_PROTOTYPE); |
| + JSObject::MigrateToMap(object, new_map); |
| +} |
| + |
| int Map::NumberOfFields() { |
| DescriptorArray* descriptors = instance_descriptors(); |
| int result = 0; |