Handlify Map::RawCopy
BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/235183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
4268ce0abd
commit
ac659f3882
@ -6765,31 +6765,20 @@ Object* JSObject::SlowReverseLookup(Object* value) {
|
||||
}
|
||||
|
||||
|
||||
Handle<Map> Map::RawCopy(Handle<Map> map,
|
||||
int instance_size) {
|
||||
CALL_HEAP_FUNCTION(map->GetIsolate(),
|
||||
map->RawCopy(instance_size),
|
||||
Map);
|
||||
}
|
||||
|
||||
|
||||
MaybeObject* Map::RawCopy(int instance_size) {
|
||||
Map* result;
|
||||
MaybeObject* maybe_result =
|
||||
GetHeap()->AllocateMap(instance_type(), instance_size);
|
||||
if (!maybe_result->To(&result)) return maybe_result;
|
||||
|
||||
result->set_prototype(prototype());
|
||||
result->set_constructor(constructor());
|
||||
result->set_bit_field(bit_field());
|
||||
result->set_bit_field2(bit_field2());
|
||||
int new_bit_field3 = bit_field3();
|
||||
Handle<Map> Map::RawCopy(Handle<Map> map, int instance_size) {
|
||||
Handle<Map> result = map->GetIsolate()->factory()->NewMap(
|
||||
map->instance_type(), instance_size);
|
||||
result->set_prototype(map->prototype());
|
||||
result->set_constructor(map->constructor());
|
||||
result->set_bit_field(map->bit_field());
|
||||
result->set_bit_field2(map->bit_field2());
|
||||
int new_bit_field3 = map->bit_field3();
|
||||
new_bit_field3 = OwnsDescriptors::update(new_bit_field3, true);
|
||||
new_bit_field3 = NumberOfOwnDescriptorsBits::update(new_bit_field3, 0);
|
||||
new_bit_field3 = EnumLengthBits::update(new_bit_field3,
|
||||
kInvalidEnumCacheSentinel);
|
||||
new_bit_field3 = Deprecated::update(new_bit_field3, false);
|
||||
if (!is_dictionary_map()) {
|
||||
if (!map->is_dictionary_map()) {
|
||||
new_bit_field3 = IsUnstable::update(new_bit_field3, false);
|
||||
}
|
||||
result->set_bit_field3(new_bit_field3);
|
||||
|
@ -6412,7 +6412,6 @@ class Map: public HeapObject {
|
||||
static Handle<Map> CurrentMapForDeprecatedInternal(Handle<Map> map);
|
||||
|
||||
static Handle<Map> RawCopy(Handle<Map> map, int instance_size);
|
||||
MUST_USE_RESULT MaybeObject* RawCopy(int instance_size);
|
||||
static Handle<Map> CopyDropDescriptors(Handle<Map> map);
|
||||
static Handle<Map> CopyReplaceDescriptors(
|
||||
Handle<Map> map,
|
||||
|
Loading…
Reference in New Issue
Block a user