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

Side by Side Diff: src/objects.h

Issue 649603003: Keyed stores to super with numeric keys. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix the patch to match the spec for primitives Created 6 years, 2 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') | src/objects.cc » ('J')
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 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 Handle<Object> object, Handle<Name> key, Handle<Object> value, 1119 Handle<Object> object, Handle<Name> key, Handle<Object> value,
1120 StrictMode strict_mode, 1120 StrictMode strict_mode,
1121 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED); 1121 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED);
1122 1122
1123 MUST_USE_RESULT static MaybeHandle<Object> SetProperty( 1123 MUST_USE_RESULT static MaybeHandle<Object> SetProperty(
1124 LookupIterator* it, Handle<Object> value, StrictMode strict_mode, 1124 LookupIterator* it, Handle<Object> value, StrictMode strict_mode,
1125 StoreFromKeyed store_mode, 1125 StoreFromKeyed store_mode,
1126 StorePropertyMode data_store_mode = NORMAL_PROPERTY); 1126 StorePropertyMode data_store_mode = NORMAL_PROPERTY);
1127 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty( 1127 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyProperty(
1128 LookupIterator* it, Handle<Object> value, StrictMode strict_mode); 1128 LookupIterator* it, Handle<Object> value, StrictMode strict_mode);
1129 MUST_USE_RESULT static MaybeHandle<Object> WriteToReadOnlyElement(
1130 Isolate* isolate, Handle<Object> receiver, uint32_t index,
1131 Handle<Object> value, StrictMode strict_mode);
1129 static Handle<Object> SetDataProperty(LookupIterator* it, 1132 static Handle<Object> SetDataProperty(LookupIterator* it,
1130 Handle<Object> value); 1133 Handle<Object> value);
1131 MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty( 1134 MUST_USE_RESULT static MaybeHandle<Object> AddDataProperty(
1132 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes, 1135 LookupIterator* it, Handle<Object> value, PropertyAttributes attributes,
1133 StrictMode strict_mode, StoreFromKeyed store_mode); 1136 StrictMode strict_mode, StoreFromKeyed store_mode);
1134 MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement( 1137 MUST_USE_RESULT static inline MaybeHandle<Object> GetPropertyOrElement(
1135 Handle<Object> object, 1138 Handle<Object> object,
1136 Handle<Name> key); 1139 Handle<Name> key);
1137 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty( 1140 MUST_USE_RESULT static inline MaybeHandle<Object> GetProperty(
1138 Isolate* isolate, 1141 Isolate* isolate,
(...skipping 25 matching lines...) Expand all
1164 Isolate* isolate, 1167 Isolate* isolate,
1165 Handle<Object> object, 1168 Handle<Object> object,
1166 uint32_t index); 1169 uint32_t index);
1167 1170
1168 MUST_USE_RESULT static MaybeHandle<Object> GetElementWithReceiver( 1171 MUST_USE_RESULT static MaybeHandle<Object> GetElementWithReceiver(
1169 Isolate* isolate, 1172 Isolate* isolate,
1170 Handle<Object> object, 1173 Handle<Object> object,
1171 Handle<Object> receiver, 1174 Handle<Object> receiver,
1172 uint32_t index); 1175 uint32_t index);
1173 1176
1177 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithReceiver(
1178 Isolate* isolate, Handle<Object> object, Handle<Object> receiver,
1179 uint32_t index, Handle<Object> value, StrictMode strict_mode);
1180
1174 static inline Handle<Object> GetPrototypeSkipHiddenPrototypes( 1181 static inline Handle<Object> GetPrototypeSkipHiddenPrototypes(
1175 Isolate* isolate, Handle<Object> receiver); 1182 Isolate* isolate, Handle<Object> receiver);
1176 1183
1177 // Returns the permanent hash code associated with this object. May return 1184 // Returns the permanent hash code associated with this object. May return
1178 // undefined if not yet created. 1185 // undefined if not yet created.
1179 Object* GetHash(); 1186 Object* GetHash();
1180 1187
1181 // Returns the permanent hash code associated with this object depending on 1188 // Returns the permanent hash code associated with this object depending on
1182 // the actual object type. May create and store a hash code if needed and none 1189 // the actual object type. May create and store a hash code if needed and none
1183 // exists. 1190 // exists.
(...skipping 1059 matching lines...) Expand 10 before | Expand all | Expand 10 after
2243 Handle<Object> receiver, 2250 Handle<Object> receiver,
2244 Handle<Object> structure, 2251 Handle<Object> structure,
2245 uint32_t index, 2252 uint32_t index,
2246 Handle<Object> holder); 2253 Handle<Object> holder);
2247 2254
2248 MUST_USE_RESULT static Maybe<PropertyAttributes> 2255 MUST_USE_RESULT static Maybe<PropertyAttributes>
2249 GetElementAttributeWithInterceptor(Handle<JSObject> object, 2256 GetElementAttributeWithInterceptor(Handle<JSObject> object,
2250 Handle<JSReceiver> receiver, 2257 Handle<JSReceiver> receiver,
2251 uint32_t index, bool continue_search); 2258 uint32_t index, bool continue_search);
2252 MUST_USE_RESULT static Maybe<PropertyAttributes> 2259 MUST_USE_RESULT static Maybe<PropertyAttributes>
2260 GetElementAttributeFromInterceptor(Handle<JSObject> object,
2261 Handle<Object> receiver,
2262 uint32_t index);
2263 MUST_USE_RESULT static Maybe<PropertyAttributes>
2253 GetElementAttributeWithoutInterceptor(Handle<JSObject> object, 2264 GetElementAttributeWithoutInterceptor(Handle<JSObject> object,
2254 Handle<JSReceiver> receiver, 2265 Handle<JSReceiver> receiver,
2255 uint32_t index, 2266 uint32_t index,
2256 bool continue_search); 2267 bool continue_search);
2257 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback( 2268 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithCallback(
2258 Handle<JSObject> object, 2269 Handle<Object> object, Handle<Object> structure, uint32_t index,
2259 Handle<Object> structure, 2270 Handle<Object> value, Handle<JSObject> holder, StrictMode strict_mode);
2260 uint32_t index,
2261 Handle<Object> value,
2262 Handle<JSObject> holder,
2263 StrictMode strict_mode);
2264 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor( 2271 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithInterceptor(
2265 Handle<JSObject> object, 2272 Handle<JSObject> object,
2266 uint32_t index, 2273 uint32_t index,
2267 Handle<Object> value, 2274 Handle<Object> value,
2268 PropertyAttributes attributes, 2275 PropertyAttributes attributes,
2269 StrictMode strict_mode, 2276 StrictMode strict_mode,
2270 bool check_prototype, 2277 bool check_prototype,
2271 SetPropertyMode set_mode); 2278 SetPropertyMode set_mode);
2272 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithoutInterceptor( 2279 MUST_USE_RESULT static MaybeHandle<Object> SetElementWithoutInterceptor(
2273 Handle<JSObject> object, 2280 Handle<JSObject> object,
(...skipping 8584 matching lines...) Expand 10 before | Expand all | Expand 10 after
10858 } else { 10865 } else {
10859 value &= ~(1 << bit_position); 10866 value &= ~(1 << bit_position);
10860 } 10867 }
10861 return value; 10868 return value;
10862 } 10869 }
10863 }; 10870 };
10864 10871
10865 } } // namespace v8::internal 10872 } } // namespace v8::internal
10866 10873
10867 #endif // V8_OBJECTS_H_ 10874 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « no previous file | src/objects.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698