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

Side by Side Diff: src/objects.h

Issue 409603002: Reduce usage of StoreMode. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | 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 "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assert-scope.h" 9 #include "src/assert-scope.h"
10 #include "src/builtins.h" 10 #include "src/builtins.h"
(...skipping 2139 matching lines...) Expand 10 before | Expand all | Expand 10 after
2150 enum ExecutableAccessorInfoHandling { 2150 enum ExecutableAccessorInfoHandling {
2151 DEFAULT_HANDLING, 2151 DEFAULT_HANDLING,
2152 DONT_FORCE_FIELD 2152 DONT_FORCE_FIELD
2153 }; 2153 };
2154 2154
2155 MUST_USE_RESULT static MaybeHandle<Object> SetOwnPropertyIgnoreAttributes( 2155 MUST_USE_RESULT static MaybeHandle<Object> SetOwnPropertyIgnoreAttributes(
2156 Handle<JSObject> object, 2156 Handle<JSObject> object,
2157 Handle<Name> key, 2157 Handle<Name> key,
2158 Handle<Object> value, 2158 Handle<Object> value,
2159 PropertyAttributes attributes, 2159 PropertyAttributes attributes,
2160 StoreMode mode = ALLOW_AS_CONSTANT,
2161 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK, 2160 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK,
2162 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, 2161 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED,
2163 ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); 2162 ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING);
2164 2163
2165 static void AddProperty(Handle<JSObject> object, 2164 static void AddProperty(Handle<JSObject> object, Handle<Name> key,
2166 Handle<Name> key, 2165 Handle<Object> value, PropertyAttributes attributes);
2167 Handle<Object> value,
2168 PropertyAttributes attributes,
2169 StoreMode mode = ALLOW_AS_CONSTANT);
2170 2166
2171 // Extend the receiver with a single fast property appeared first in the 2167 // Extend the receiver with a single fast property appeared first in the
2172 // passed map. This also extends the property backing store if necessary. 2168 // passed map. This also extends the property backing store if necessary.
2173 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); 2169 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map);
2174 2170
2175 // Migrates the given object to a map whose field representations are the 2171 // Migrates the given object to a map whose field representations are the
2176 // lowest upper bound of all known representations for that field. 2172 // lowest upper bound of all known representations for that field.
2177 static void MigrateInstance(Handle<JSObject> instance); 2173 static void MigrateInstance(Handle<JSObject> instance);
2178 2174
2179 // Migrates the given object only if the target map is already available, 2175 // Migrates the given object only if the target map is already available,
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
2643 Handle<Object> value, 2639 Handle<Object> value,
2644 PropertyAttributes attributes); 2640 PropertyAttributes attributes);
2645 2641
2646 static void SetPropertyToFieldWithAttributes(LookupResult* lookup, 2642 static void SetPropertyToFieldWithAttributes(LookupResult* lookup,
2647 Handle<Name> name, 2643 Handle<Name> name,
2648 Handle<Object> value, 2644 Handle<Object> value,
2649 PropertyAttributes attributes); 2645 PropertyAttributes attributes);
2650 static void GeneralizeFieldRepresentation(Handle<JSObject> object, 2646 static void GeneralizeFieldRepresentation(Handle<JSObject> object,
2651 int modify_index, 2647 int modify_index,
2652 Representation new_representation, 2648 Representation new_representation,
2653 Handle<HeapType> new_field_type, 2649 Handle<HeapType> new_field_type);
2654 StoreMode store_mode);
2655 2650
2656 static void UpdateAllocationSite(Handle<JSObject> object, 2651 static void UpdateAllocationSite(Handle<JSObject> object,
2657 ElementsKind to_kind); 2652 ElementsKind to_kind);
2658 2653
2659 // Used from Object::GetProperty(). 2654 // Used from Object::GetProperty().
2660 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithFailedAccessCheck( 2655 MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithFailedAccessCheck(
2661 LookupIterator* it); 2656 LookupIterator* it);
2662 2657
2663 MUST_USE_RESULT static MaybeHandle<Object> GetElementWithCallback( 2658 MUST_USE_RESULT static MaybeHandle<Object> GetElementWithCallback(
2664 Handle<JSObject> object, 2659 Handle<JSObject> object,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2726 Handle<JSObject> object, 2721 Handle<JSObject> object,
2727 LookupResult* lookup, 2722 LookupResult* lookup,
2728 Handle<Name> name, 2723 Handle<Name> name,
2729 Handle<Object> value, 2724 Handle<Object> value,
2730 PropertyAttributes attributes); 2725 PropertyAttributes attributes);
2731 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithFailedAccessCheck( 2726 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithFailedAccessCheck(
2732 LookupIterator* it, Handle<Object> value, StrictMode strict_mode); 2727 LookupIterator* it, Handle<Object> value, StrictMode strict_mode);
2733 2728
2734 // Add a property to an object. 2729 // Add a property to an object.
2735 MUST_USE_RESULT static MaybeHandle<Object> AddPropertyInternal( 2730 MUST_USE_RESULT static MaybeHandle<Object> AddPropertyInternal(
2736 Handle<JSObject> object, 2731 Handle<JSObject> object, Handle<Name> name, Handle<Object> value,
2737 Handle<Name> name, 2732 PropertyAttributes attributes, StoreFromKeyed store_mode,
2738 Handle<Object> value, 2733 ExtensibilityCheck extensibility_check, TransitionFlag flag);
2739 PropertyAttributes attributes,
2740 StrictMode strict_mode,
2741 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED,
2742 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK,
2743 StoreMode mode = ALLOW_AS_CONSTANT,
2744 TransitionFlag flag = INSERT_TRANSITION);
2745 2734
2746 // Add a property to a fast-case object. 2735 // Add a property to a fast-case object.
2747 static void AddFastProperty(Handle<JSObject> object, 2736 static void AddFastProperty(Handle<JSObject> object,
2748 Handle<Name> name, 2737 Handle<Name> name,
2749 Handle<Object> value, 2738 Handle<Object> value,
2750 PropertyAttributes attributes, 2739 PropertyAttributes attributes,
2751 StoreFromKeyed store_mode, 2740 StoreFromKeyed store_mode,
2752 TransitionFlag flag); 2741 TransitionFlag flag);
2753 2742
2754 // Add a property to a slow-case object. 2743 // Add a property to a slow-case object.
(...skipping 8463 matching lines...) Expand 10 before | Expand all | Expand 10 after
11218 } else { 11207 } else {
11219 value &= ~(1 << bit_position); 11208 value &= ~(1 << bit_position);
11220 } 11209 }
11221 return value; 11210 return value;
11222 } 11211 }
11223 }; 11212 };
11224 11213
11225 } } // namespace v8::internal 11214 } } // namespace v8::internal
11226 11215
11227 #endif // V8_OBJECTS_H_ 11216 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « no previous file | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698