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

Side by Side Diff: src/handles.cc

Issue 118374: Introduce an API to force the deletion of a property ignoring... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 6 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/handles.h ('k') | src/ia32/macro-assembler-ia32.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 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 215
216 Handle<Object> ForceSetProperty(Handle<JSObject> object, 216 Handle<Object> ForceSetProperty(Handle<JSObject> object,
217 Handle<Object> key, 217 Handle<Object> key,
218 Handle<Object> value, 218 Handle<Object> value,
219 PropertyAttributes attributes) { 219 PropertyAttributes attributes) {
220 CALL_HEAP_FUNCTION( 220 CALL_HEAP_FUNCTION(
221 Runtime::ForceSetObjectProperty(object, key, value, attributes), Object); 221 Runtime::ForceSetObjectProperty(object, key, value, attributes), Object);
222 } 222 }
223 223
224 224
225 Handle<Object> ForceDeleteProperty(Handle<JSObject> object,
226 Handle<Object> key) {
227 CALL_HEAP_FUNCTION(Runtime::ForceDeleteObjectProperty(object, key), Object);
228 }
229
230
225 Handle<Object> IgnoreAttributesAndSetLocalProperty( 231 Handle<Object> IgnoreAttributesAndSetLocalProperty(
226 Handle<JSObject> object, 232 Handle<JSObject> object,
227 Handle<String> key, 233 Handle<String> key,
228 Handle<Object> value, 234 Handle<Object> value,
229 PropertyAttributes attributes) { 235 PropertyAttributes attributes) {
230 CALL_HEAP_FUNCTION(object-> 236 CALL_HEAP_FUNCTION(object->
231 IgnoreAttributesAndSetLocalProperty(*key, *value, attributes), Object); 237 IgnoreAttributesAndSetLocalProperty(*key, *value, attributes), Object);
232 } 238 }
233 239
240
234 Handle<Object> SetPropertyWithInterceptor(Handle<JSObject> object, 241 Handle<Object> SetPropertyWithInterceptor(Handle<JSObject> object,
235 Handle<String> key, 242 Handle<String> key,
236 Handle<Object> value, 243 Handle<Object> value,
237 PropertyAttributes attributes) { 244 PropertyAttributes attributes) {
238 CALL_HEAP_FUNCTION(object->SetPropertyWithInterceptor(*key, 245 CALL_HEAP_FUNCTION(object->SetPropertyWithInterceptor(*key,
239 *value, 246 *value,
240 attributes), 247 attributes),
241 Object); 248 Object);
242 } 249 }
243 250
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 } else { 308 } else {
302 return Factory::undefined_value(); 309 return Factory::undefined_value();
303 } 310 }
304 } 311 }
305 return GetProperty(obj, key); 312 return GetProperty(obj, key);
306 } 313 }
307 314
308 315
309 Handle<Object> DeleteElement(Handle<JSObject> obj, 316 Handle<Object> DeleteElement(Handle<JSObject> obj,
310 uint32_t index) { 317 uint32_t index) {
311 CALL_HEAP_FUNCTION(obj->DeleteElement(index), Object); 318 CALL_HEAP_FUNCTION(obj->DeleteElement(index, JSObject::NORMAL_DELETION),
319 Object);
312 } 320 }
313 321
314 322
315 Handle<Object> DeleteProperty(Handle<JSObject> obj, 323 Handle<Object> DeleteProperty(Handle<JSObject> obj,
316 Handle<String> prop) { 324 Handle<String> prop) {
317 CALL_HEAP_FUNCTION(obj->DeleteProperty(*prop), Object); 325 CALL_HEAP_FUNCTION(obj->DeleteProperty(*prop, JSObject::NORMAL_DELETION),
326 Object);
318 } 327 }
319 328
320 329
321 Handle<Object> LookupSingleCharacterStringFromCode(uint32_t index) { 330 Handle<Object> LookupSingleCharacterStringFromCode(uint32_t index) {
322 CALL_HEAP_FUNCTION(Heap::LookupSingleCharacterStringFromCode(index), Object); 331 CALL_HEAP_FUNCTION(Heap::LookupSingleCharacterStringFromCode(index), Object);
323 } 332 }
324 333
325 334
326 Handle<String> SubString(Handle<String> str, int start, int end) { 335 Handle<String> SubString(Handle<String> str, int start, int end) {
327 CALL_HEAP_FUNCTION(str->Slice(start, end), String); 336 CALL_HEAP_FUNCTION(str->Slice(start, end), String);
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 Handle<Map> new_map = Factory::CopyMapDropTransitions(old_map); 741 Handle<Map> new_map = Factory::CopyMapDropTransitions(old_map);
733 obj->set_map(*new_map); 742 obj->set_map(*new_map);
734 new_map->set_needs_loading(true); 743 new_map->set_needs_loading(true);
735 // Store the lazy loading info in the constructor field. We'll 744 // Store the lazy loading info in the constructor field. We'll
736 // reestablish the constructor from the fixed array after loading. 745 // reestablish the constructor from the fixed array after loading.
737 new_map->set_constructor(*arr); 746 new_map->set_constructor(*arr);
738 ASSERT(!obj->IsLoaded()); 747 ASSERT(!obj->IsLoaded());
739 } 748 }
740 749
741 } } // namespace v8::internal 750 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/handles.h ('k') | src/ia32/macro-assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698