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

Side by Side Diff: src/elements.h

Issue 467013003: Add interceptor support for symbols (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Updated to filter out non-symbol keys from for-in enumeration Created 6 years, 3 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 | « src/arguments.h ('k') | src/elements.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_ELEMENTS_H_ 5 #ifndef V8_ELEMENTS_H_
6 #define V8_ELEMENTS_H_ 6 #define V8_ELEMENTS_H_
7 7
8 #include "src/elements-kind.h" 8 #include "src/elements-kind.h"
9 #include "src/heap/heap.h" 9 #include "src/heap/heap.h"
10 #include "src/isolate.h" 10 #include "src/isolate.h"
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 Handle<FixedArrayBase> to, 162 Handle<FixedArrayBase> to,
163 ElementsKind from_kind) { 163 ElementsKind from_kind) {
164 CopyElements( 164 CopyElements(
165 *from_holder, 0, from_kind, to, 0, kCopyToEndAndInitializeToHole); 165 *from_holder, 0, from_kind, to, 0, kCopyToEndAndInitializeToHole);
166 } 166 }
167 167
168 MUST_USE_RESULT virtual MaybeHandle<FixedArray> AddElementsToFixedArray( 168 MUST_USE_RESULT virtual MaybeHandle<FixedArray> AddElementsToFixedArray(
169 Handle<Object> receiver, 169 Handle<Object> receiver,
170 Handle<JSObject> holder, 170 Handle<JSObject> holder,
171 Handle<FixedArray> to, 171 Handle<FixedArray> to,
172 Handle<FixedArrayBase> from) = 0; 172 Handle<FixedArrayBase> from,
173 FixedArray::KeyFilter filter) = 0;
173 174
174 MUST_USE_RESULT inline MaybeHandle<FixedArray> AddElementsToFixedArray( 175 MUST_USE_RESULT inline MaybeHandle<FixedArray> AddElementsToFixedArray(
175 Handle<Object> receiver, 176 Handle<Object> receiver,
176 Handle<JSObject> holder, 177 Handle<JSObject> holder,
177 Handle<FixedArray> to) { 178 Handle<FixedArray> to,
179 FixedArray::KeyFilter filter) {
178 return AddElementsToFixedArray( 180 return AddElementsToFixedArray(
179 receiver, holder, to, handle(holder->elements())); 181 receiver, holder, to, handle(holder->elements()), filter);
180 } 182 }
181 183
182 // Returns a shared ElementsAccessor for the specified ElementsKind. 184 // Returns a shared ElementsAccessor for the specified ElementsKind.
183 static ElementsAccessor* ForKind(ElementsKind elements_kind) { 185 static ElementsAccessor* ForKind(ElementsKind elements_kind) {
184 DCHECK(elements_kind < kElementsKindCount); 186 DCHECK(elements_kind < kElementsKindCount);
185 return elements_accessors_[elements_kind]; 187 return elements_accessors_[elements_kind];
186 } 188 }
187 189
188 static ElementsAccessor* ForArray(Handle<FixedArrayBase> array); 190 static ElementsAccessor* ForArray(Handle<FixedArrayBase> array);
189 191
(...skipping 26 matching lines...) Expand all
216 void CheckArrayAbuse(Handle<JSObject> obj, const char* op, uint32_t key, 218 void CheckArrayAbuse(Handle<JSObject> obj, const char* op, uint32_t key,
217 bool allow_appending = false); 219 bool allow_appending = false);
218 220
219 MUST_USE_RESULT MaybeHandle<Object> ArrayConstructInitializeElements( 221 MUST_USE_RESULT MaybeHandle<Object> ArrayConstructInitializeElements(
220 Handle<JSArray> array, 222 Handle<JSArray> array,
221 Arguments* args); 223 Arguments* args);
222 224
223 } } // namespace v8::internal 225 } } // namespace v8::internal
224 226
225 #endif // V8_ELEMENTS_H_ 227 #endif // V8_ELEMENTS_H_
OLDNEW
« no previous file with comments | « src/arguments.h ('k') | src/elements.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698