211
void NormalizeProperties(Handle<JSObject> object,
212
PropertyNormalizationMode mode,
213
int expected_additional_properties) {
214
CALL_HEAP_FUNCTION_VOID(object->GetIsolate(),
215
object->NormalizeProperties(
217
expected_additional_properties));
221
Handle<NumberDictionary> NormalizeElements(Handle<JSObject> object) {
222
CALL_HEAP_FUNCTION(object->GetIsolate(),
223
object->NormalizeElements(),
228
void TransformToFastProperties(Handle<JSObject> object,
229
int unused_property_fields) {
230
CALL_HEAP_FUNCTION_VOID(
231
object->GetIsolate(),
232
object->TransformToFastProperties(unused_property_fields));
236
Handle<NumberDictionary> NumberDictionarySet(
237
Handle<NumberDictionary> dictionary,
239
Handle<Object> value,
240
PropertyDetails details) {
241
CALL_HEAP_FUNCTION(dictionary->GetIsolate(),
242
dictionary->Set(index, *value, details),
247
211
void FlattenString(Handle<String> string) {
248
212
CALL_HEAP_FUNCTION_VOID(string->GetIsolate(), string->TryFlatten());
268
Handle<Object> SetProperty(Handle<JSReceiver> object,
270
Handle<Object> value,
271
PropertyAttributes attributes,
272
StrictModeFlag strict_mode) {
273
CALL_HEAP_FUNCTION(object->GetIsolate(),
274
object->SetProperty(*key, *value, attributes, strict_mode),
279
232
Handle<Object> SetProperty(Handle<Object> object,
280
233
Handle<Object> key,
281
234
Handle<Object> value,
306
Handle<Object> SetNormalizedProperty(Handle<JSObject> object,
308
Handle<Object> value,
309
PropertyDetails details) {
310
CALL_HEAP_FUNCTION(object->GetIsolate(),
311
object->SetNormalizedProperty(*key, *value, details),
316
259
Handle<Object> ForceDeleteProperty(Handle<JSObject> object,
317
260
Handle<Object> key) {
318
261
Isolate* isolate = object->GetIsolate();
325
Handle<Object> SetLocalPropertyIgnoreAttributes(
326
Handle<JSObject> object,
328
Handle<Object> value,
329
PropertyAttributes attributes) {
331
object->GetIsolate(),
332
object->SetLocalPropertyIgnoreAttributes(*key, *value, attributes),
337
void SetLocalPropertyNoThrow(Handle<JSObject> object,
339
Handle<Object> value,
340
PropertyAttributes attributes) {
341
Isolate* isolate = object->GetIsolate();
342
ASSERT(!isolate->has_pending_exception());
343
CHECK(!SetLocalPropertyIgnoreAttributes(
344
object, key, value, attributes).is_null());
345
CHECK(!isolate->has_pending_exception());
349
268
Handle<Object> SetPropertyWithInterceptor(Handle<JSObject> object,
350
269
Handle<String> key,
351
270
Handle<Object> value,
392
Handle<Object> GetPrototype(Handle<Object> obj) {
393
Handle<Object> result(obj->GetPrototype());
398
311
Handle<Object> SetPrototype(Handle<JSObject> obj, Handle<Object> value) {
399
312
const bool skip_hidden_prototypes = false;
400
313
CALL_HEAP_FUNCTION(obj->GetIsolate(),
405
Handle<Object> PreventExtensions(Handle<JSObject> object) {
406
CALL_HEAP_FUNCTION(object->GetIsolate(), object->PreventExtensions(), Object);
410
Handle<Object> SetHiddenProperty(Handle<JSObject> obj,
412
Handle<Object> value) {
413
CALL_HEAP_FUNCTION(obj->GetIsolate(),
414
obj->SetHiddenProperty(*key, *value),
419
int GetIdentityHash(Handle<JSReceiver> obj) {
420
CALL_AND_RETRY(obj->GetIsolate(),
421
obj->GetIdentityHash(ALLOW_CREATION),
422
return Smi::cast(__object__)->value(),
427
Handle<Object> DeleteElement(Handle<JSObject> obj,
429
CALL_HEAP_FUNCTION(obj->GetIsolate(),
430
obj->DeleteElement(index, JSObject::NORMAL_DELETION),
435
Handle<Object> DeleteProperty(Handle<JSObject> obj,
436
Handle<String> prop) {
437
CALL_HEAP_FUNCTION(obj->GetIsolate(),
438
obj->DeleteProperty(*prop, JSObject::NORMAL_DELETION),
443
318
Handle<Object> LookupSingleCharacterStringFromCode(uint32_t index) {
444
319
Isolate* isolate = Isolate::Current();
445
320
CALL_HEAP_FUNCTION(
460
Handle<Object> SetElement(Handle<JSObject> object,
462
Handle<Object> value,
463
StrictModeFlag strict_mode) {
464
if (object->HasExternalArrayElements()) {
465
if (!value->IsSmi() && !value->IsHeapNumber() && !value->IsUndefined()) {
467
Handle<Object> number = Execution::ToNumber(value, &has_exception);
468
if (has_exception) return Handle<Object>();
472
CALL_HEAP_FUNCTION(object->GetIsolate(),
473
object->SetElement(index, *value, strict_mode, true),
478
Handle<Object> SetOwnElement(Handle<JSObject> object,
480
Handle<Object> value,
481
StrictModeFlag strict_mode) {
482
ASSERT(!object->HasExternalArrayElements());
483
CALL_HEAP_FUNCTION(object->GetIsolate(),
484
object->SetElement(index, *value, strict_mode, false),
489
Handle<Object> TransitionElementsKind(Handle<JSObject> object,
490
ElementsKind to_kind) {
491
CALL_HEAP_FUNCTION(object->GetIsolate(),
492
object->TransitionElementsKind(to_kind),
497
335
Handle<JSObject> Copy(Handle<JSObject> obj) {
498
336
Isolate* isolate = obj->GetIsolate();
499
337
CALL_HEAP_FUNCTION(isolate,