Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: src/objects.h

Issue 955433002: Prototype objects never share their map, and hence cannot be in deprecated state. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ic/handler-compiler.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 6050 matching lines...) Expand 10 before | Expand all | Expand 10 after
6061 inline void set_migration_target(bool value); 6061 inline void set_migration_target(bool value);
6062 inline bool is_migration_target(); 6062 inline bool is_migration_target();
6063 inline void set_counter(int value); 6063 inline void set_counter(int value);
6064 inline int counter(); 6064 inline int counter();
6065 inline void deprecate(); 6065 inline void deprecate();
6066 inline bool is_deprecated(); 6066 inline bool is_deprecated();
6067 inline bool CanBeDeprecated(); 6067 inline bool CanBeDeprecated();
6068 // Returns a non-deprecated version of the input. If the input was not 6068 // Returns a non-deprecated version of the input. If the input was not
6069 // deprecated, it is directly returned. Otherwise, the non-deprecated version 6069 // deprecated, it is directly returned. Otherwise, the non-deprecated version
6070 // is found by re-transitioning from the root of the transition tree using the 6070 // is found by re-transitioning from the root of the transition tree using the
6071 // descriptor array of the map. Returns NULL if no updated map is found. 6071 // descriptor array of the map. Returns MaybeHandle<Map>() if no updated map
6072 // This method also applies any pending migrations along the prototype chain. 6072 // is found.
6073 static MaybeHandle<Map> TryUpdate(Handle<Map> map) WARN_UNUSED_RESULT; 6073 static MaybeHandle<Map> TryUpdate(Handle<Map> map) WARN_UNUSED_RESULT;
6074 // Same as above, but does not touch the prototype chain.
6075 static MaybeHandle<Map> TryUpdateInternal(Handle<Map> map)
6076 WARN_UNUSED_RESULT;
6077 6074
6078 // Returns a non-deprecated version of the input. This method may deprecate 6075 // Returns a non-deprecated version of the input. This method may deprecate
6079 // existing maps along the way if encodings conflict. Not for use while 6076 // existing maps along the way if encodings conflict. Not for use while
6080 // gathering type feedback. Use TryUpdate in those cases instead. 6077 // gathering type feedback. Use TryUpdate in those cases instead.
6081 static Handle<Map> Update(Handle<Map> map); 6078 static Handle<Map> Update(Handle<Map> map);
6082 6079
6083 static Handle<Map> CopyDropDescriptors(Handle<Map> map); 6080 static Handle<Map> CopyDropDescriptors(Handle<Map> map);
6084 static Handle<Map> CopyInsertDescriptor(Handle<Map> map, 6081 static Handle<Map> CopyInsertDescriptor(Handle<Map> map,
6085 Descriptor* descriptor, 6082 Descriptor* descriptor,
6086 TransitionFlag flag); 6083 TransitionFlag flag);
(...skipping 4904 matching lines...) Expand 10 before | Expand all | Expand 10 after
10991 } else { 10988 } else {
10992 value &= ~(1 << bit_position); 10989 value &= ~(1 << bit_position);
10993 } 10990 }
10994 return value; 10991 return value;
10995 } 10992 }
10996 }; 10993 };
10997 10994
10998 } } // namespace v8::internal 10995 } } // namespace v8::internal
10999 10996
11000 #endif // V8_OBJECTS_H_ 10997 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/ic/handler-compiler.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698