| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1959 Object); | 1959 Object); |
| 1960 } | 1960 } |
| 1961 | 1961 |
| 1962 | 1962 |
| 1963 MaybeObject* JSReceiver::SetProperty(String* name, | 1963 MaybeObject* JSReceiver::SetProperty(String* name, |
| 1964 Object* value, | 1964 Object* value, |
| 1965 PropertyAttributes attributes, | 1965 PropertyAttributes attributes, |
| 1966 StrictModeFlag strict_mode, | 1966 StrictModeFlag strict_mode, |
| 1967 JSReceiver::StoreFromKeyed store_mode) { | 1967 JSReceiver::StoreFromKeyed store_mode) { |
| 1968 LookupResult result(GetIsolate()); | 1968 LookupResult result(GetIsolate()); |
| 1969 LocalLookup(name, &result); | 1969 LocalLookup(name, &result, true); |
| 1970 if (!result.IsFound()) { | 1970 if (!result.IsFound()) { |
| 1971 map()->LookupTransition(JSObject::cast(this), name, &result); | 1971 map()->LookupTransition(JSObject::cast(this), name, &result); |
| 1972 } | 1972 } |
| 1973 return SetProperty(&result, name, value, attributes, strict_mode, store_mode); | 1973 return SetProperty(&result, name, value, attributes, strict_mode, store_mode); |
| 1974 } | 1974 } |
| 1975 | 1975 |
| 1976 | 1976 |
| 1977 MaybeObject* JSObject::SetPropertyWithCallback(Object* structure, | 1977 MaybeObject* JSObject::SetPropertyWithCallback(Object* structure, |
| 1978 String* name, | 1978 String* name, |
| 1979 Object* value, | 1979 Object* value, |
| (...skipping 1033 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3013 } | 3013 } |
| 3014 | 3014 |
| 3015 Handle<Object> hresult; | 3015 Handle<Object> hresult; |
| 3016 if (!result->ToHandle(&hresult, isolate)) return result; | 3016 if (!result->ToHandle(&hresult, isolate)) return result; |
| 3017 | 3017 |
| 3018 if (FLAG_harmony_observation && map()->is_observed()) { | 3018 if (FLAG_harmony_observation && map()->is_observed()) { |
| 3019 if (lookup->IsTransition()) { | 3019 if (lookup->IsTransition()) { |
| 3020 EnqueueChangeRecord(self, "new", name, old_value); | 3020 EnqueueChangeRecord(self, "new", name, old_value); |
| 3021 } else { | 3021 } else { |
| 3022 LookupResult new_lookup(isolate); | 3022 LookupResult new_lookup(isolate); |
| 3023 self->LocalLookup(*name, &new_lookup); | 3023 self->LocalLookup(*name, &new_lookup, true); |
| 3024 ASSERT(!new_lookup.GetLazyValue()->IsTheHole()); | 3024 ASSERT(!new_lookup.GetLazyValue()->IsTheHole()); |
| 3025 if (!new_lookup.GetLazyValue()->SameValue(*old_value)) { | 3025 if (!new_lookup.GetLazyValue()->SameValue(*old_value)) { |
| 3026 EnqueueChangeRecord(self, "updated", name, old_value); | 3026 EnqueueChangeRecord(self, "updated", name, old_value); |
| 3027 } | 3027 } |
| 3028 } | 3028 } |
| 3029 } | 3029 } |
| 3030 | 3030 |
| 3031 return *hresult; | 3031 return *hresult; |
| 3032 } | 3032 } |
| 3033 | 3033 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 3055 | 3055 |
| 3056 MaybeObject* JSObject::SetLocalPropertyIgnoreAttributes( | 3056 MaybeObject* JSObject::SetLocalPropertyIgnoreAttributes( |
| 3057 String* name_raw, | 3057 String* name_raw, |
| 3058 Object* value_raw, | 3058 Object* value_raw, |
| 3059 PropertyAttributes attributes) { | 3059 PropertyAttributes attributes) { |
| 3060 // Make sure that the top context does not change when doing callbacks or | 3060 // Make sure that the top context does not change when doing callbacks or |
| 3061 // interceptor calls. | 3061 // interceptor calls. |
| 3062 AssertNoContextChange ncc; | 3062 AssertNoContextChange ncc; |
| 3063 Isolate* isolate = GetIsolate(); | 3063 Isolate* isolate = GetIsolate(); |
| 3064 LookupResult lookup(isolate); | 3064 LookupResult lookup(isolate); |
| 3065 LocalLookup(name_raw, &lookup); | 3065 LocalLookup(name_raw, &lookup, true); |
| 3066 if (!lookup.IsFound()) map()->LookupTransition(this, name_raw, &lookup); | 3066 if (!lookup.IsFound()) map()->LookupTransition(this, name_raw, &lookup); |
| 3067 // Check access rights if needed. | 3067 // Check access rights if needed. |
| 3068 if (IsAccessCheckNeeded()) { | 3068 if (IsAccessCheckNeeded()) { |
| 3069 if (!isolate->MayNamedAccess(this, name_raw, v8::ACCESS_SET)) { | 3069 if (!isolate->MayNamedAccess(this, name_raw, v8::ACCESS_SET)) { |
| 3070 return SetPropertyWithFailedAccessCheck(&lookup, | 3070 return SetPropertyWithFailedAccessCheck(&lookup, |
| 3071 name_raw, | 3071 name_raw, |
| 3072 value_raw, | 3072 value_raw, |
| 3073 false, | 3073 false, |
| 3074 kNonStrictMode); | 3074 kNonStrictMode); |
| 3075 } | 3075 } |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3162 } | 3162 } |
| 3163 | 3163 |
| 3164 Handle<Object> hresult; | 3164 Handle<Object> hresult; |
| 3165 if (!result->ToHandle(&hresult, isolate)) return result; | 3165 if (!result->ToHandle(&hresult, isolate)) return result; |
| 3166 | 3166 |
| 3167 if (FLAG_harmony_observation && map()->is_observed()) { | 3167 if (FLAG_harmony_observation && map()->is_observed()) { |
| 3168 if (lookup.IsTransition()) { | 3168 if (lookup.IsTransition()) { |
| 3169 EnqueueChangeRecord(self, "new", name, old_value); | 3169 EnqueueChangeRecord(self, "new", name, old_value); |
| 3170 } else { | 3170 } else { |
| 3171 LookupResult new_lookup(isolate); | 3171 LookupResult new_lookup(isolate); |
| 3172 self->LocalLookup(*name, &new_lookup); | 3172 self->LocalLookup(*name, &new_lookup, true); |
| 3173 ASSERT(!new_lookup.GetLazyValue()->IsTheHole()); | 3173 ASSERT(!new_lookup.GetLazyValue()->IsTheHole()); |
| 3174 if (old_value->IsTheHole() || | 3174 if (old_value->IsTheHole() || |
| 3175 new_lookup.GetAttributes() != old_attributes) { | 3175 new_lookup.GetAttributes() != old_attributes) { |
| 3176 EnqueueChangeRecord(self, "reconfigured", name, old_value); | 3176 EnqueueChangeRecord(self, "reconfigured", name, old_value); |
| 3177 } else if (!new_lookup.GetLazyValue()->SameValue(*old_value)) { | 3177 } else if (!new_lookup.GetLazyValue()->SameValue(*old_value)) { |
| 3178 EnqueueChangeRecord(self, "updated", name, old_value); | 3178 EnqueueChangeRecord(self, "updated", name, old_value); |
| 3179 } | 3179 } |
| 3180 } | 3180 } |
| 3181 } | 3181 } |
| 3182 | 3182 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3309 | 3309 |
| 3310 | 3310 |
| 3311 PropertyAttributes JSReceiver::GetLocalPropertyAttribute(String* name) { | 3311 PropertyAttributes JSReceiver::GetLocalPropertyAttribute(String* name) { |
| 3312 // Check whether the name is an array index. | 3312 // Check whether the name is an array index. |
| 3313 uint32_t index = 0; | 3313 uint32_t index = 0; |
| 3314 if (IsJSObject() && name->AsArrayIndex(&index)) { | 3314 if (IsJSObject() && name->AsArrayIndex(&index)) { |
| 3315 return GetLocalElementAttribute(index); | 3315 return GetLocalElementAttribute(index); |
| 3316 } | 3316 } |
| 3317 // Named property. | 3317 // Named property. |
| 3318 LookupResult lookup(GetIsolate()); | 3318 LookupResult lookup(GetIsolate()); |
| 3319 LocalLookup(name, &lookup); | 3319 LocalLookup(name, &lookup, true); |
| 3320 return GetPropertyAttributeForResult(this, &lookup, name, false); | 3320 return GetPropertyAttributeForResult(this, &lookup, name, false); |
| 3321 } | 3321 } |
| 3322 | 3322 |
| 3323 | 3323 |
| 3324 PropertyAttributes JSObject::GetElementAttributeWithReceiver( | 3324 PropertyAttributes JSObject::GetElementAttributeWithReceiver( |
| 3325 JSReceiver* receiver, uint32_t index, bool continue_search) { | 3325 JSReceiver* receiver, uint32_t index, bool continue_search) { |
| 3326 Isolate* isolate = GetIsolate(); | 3326 Isolate* isolate = GetIsolate(); |
| 3327 | 3327 |
| 3328 // Check access rights if needed. | 3328 // Check access rights if needed. |
| 3329 if (IsAccessCheckNeeded()) { | 3329 if (IsAccessCheckNeeded()) { |
| (...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4211 ASSERT(proto->IsJSGlobalObject()); | 4211 ASSERT(proto->IsJSGlobalObject()); |
| 4212 return JSGlobalObject::cast(proto)->DeleteProperty(name, mode); | 4212 return JSGlobalObject::cast(proto)->DeleteProperty(name, mode); |
| 4213 } | 4213 } |
| 4214 | 4214 |
| 4215 uint32_t index = 0; | 4215 uint32_t index = 0; |
| 4216 if (name->AsArrayIndex(&index)) { | 4216 if (name->AsArrayIndex(&index)) { |
| 4217 return DeleteElement(index, mode); | 4217 return DeleteElement(index, mode); |
| 4218 } | 4218 } |
| 4219 | 4219 |
| 4220 LookupResult lookup(isolate); | 4220 LookupResult lookup(isolate); |
| 4221 LocalLookup(name, &lookup); | 4221 LocalLookup(name, &lookup, true); |
| 4222 if (!lookup.IsFound()) return isolate->heap()->true_value(); | 4222 if (!lookup.IsFound()) return isolate->heap()->true_value(); |
| 4223 // Ignore attributes if forcing a deletion. | 4223 // Ignore attributes if forcing a deletion. |
| 4224 if (lookup.IsDontDelete() && mode != FORCE_DELETION) { | 4224 if (lookup.IsDontDelete() && mode != FORCE_DELETION) { |
| 4225 if (mode == STRICT_DELETION) { | 4225 if (mode == STRICT_DELETION) { |
| 4226 // Deleting a non-configurable property in strict mode. | 4226 // Deleting a non-configurable property in strict mode. |
| 4227 HandleScope scope(isolate); | 4227 HandleScope scope(isolate); |
| 4228 Handle<Object> args[2] = { Handle<Object>(name), Handle<Object>(this) }; | 4228 Handle<Object> args[2] = { Handle<Object>(name), Handle<Object>(this) }; |
| 4229 return isolate->Throw(*isolate->factory()->NewTypeError( | 4229 return isolate->Throw(*isolate->factory()->NewTypeError( |
| 4230 "strict_delete_property", HandleVector(args, 2))); | 4230 "strict_delete_property", HandleVector(args, 2))); |
| 4231 } | 4231 } |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4541 int number_of_own_descriptors = NumberOfOwnDescriptors(); | 4541 int number_of_own_descriptors = NumberOfOwnDescriptors(); |
| 4542 for (int i = 0; i < number_of_own_descriptors; i++) { | 4542 for (int i = 0; i < number_of_own_descriptors; i++) { |
| 4543 if (descs->GetType(i) == CALLBACKS && name->Equals(descs->GetKey(i))) { | 4543 if (descs->GetType(i) == CALLBACKS && name->Equals(descs->GetKey(i))) { |
| 4544 return descs->GetCallbacks(i); | 4544 return descs->GetCallbacks(i); |
| 4545 } | 4545 } |
| 4546 } | 4546 } |
| 4547 return NULL; | 4547 return NULL; |
| 4548 } | 4548 } |
| 4549 | 4549 |
| 4550 | 4550 |
| 4551 void JSReceiver::LocalLookup(String* name, LookupResult* result) { | 4551 void JSReceiver::LocalLookup( |
| 4552 String* name, LookupResult* result, bool search_hidden_prototypes) { |
| 4552 ASSERT(name->IsString()); | 4553 ASSERT(name->IsString()); |
| 4553 | 4554 |
| 4554 Heap* heap = GetHeap(); | 4555 Heap* heap = GetHeap(); |
| 4555 | 4556 |
| 4556 if (IsJSGlobalProxy()) { | 4557 if (IsJSGlobalProxy()) { |
| 4557 Object* proto = GetPrototype(); | 4558 Object* proto = GetPrototype(); |
| 4558 if (proto->IsNull()) return result->NotFound(); | 4559 if (proto->IsNull()) return result->NotFound(); |
| 4559 ASSERT(proto->IsJSGlobalObject()); | 4560 ASSERT(proto->IsJSGlobalObject()); |
| 4560 return JSReceiver::cast(proto)->LocalLookup(name, result); | 4561 return JSReceiver::cast(proto)->LocalLookup( |
| 4562 name, result, search_hidden_prototypes); |
| 4561 } | 4563 } |
| 4562 | 4564 |
| 4563 if (IsJSProxy()) { | 4565 if (IsJSProxy()) { |
| 4564 result->HandlerResult(JSProxy::cast(this)); | 4566 result->HandlerResult(JSProxy::cast(this)); |
| 4565 return; | 4567 return; |
| 4566 } | 4568 } |
| 4567 | 4569 |
| 4568 // Do not use inline caching if the object is a non-global object | 4570 // Do not use inline caching if the object is a non-global object |
| 4569 // that requires access checks. | 4571 // that requires access checks. |
| 4570 if (IsAccessCheckNeeded()) { | 4572 if (IsAccessCheckNeeded()) { |
| 4571 result->DisallowCaching(); | 4573 result->DisallowCaching(); |
| 4572 } | 4574 } |
| 4573 | 4575 |
| 4574 JSObject* js_object = JSObject::cast(this); | 4576 JSObject* js_object = JSObject::cast(this); |
| 4575 | 4577 |
| 4576 // Check __proto__ before interceptor. | 4578 // Check __proto__ before interceptor. |
| 4577 if (name->Equals(heap->Proto_symbol()) && !IsJSContextExtensionObject()) { | 4579 if (name->Equals(heap->Proto_symbol()) && !IsJSContextExtensionObject()) { |
| 4578 result->ConstantResult(js_object); | 4580 result->ConstantResult(js_object); |
| 4579 return; | 4581 return; |
| 4580 } | 4582 } |
| 4581 | 4583 |
| 4582 // Check for lookup interceptor except when bootstrapping. | 4584 // Check for lookup interceptor except when bootstrapping. |
| 4583 if (js_object->HasNamedInterceptor() && | 4585 if (js_object->HasNamedInterceptor() && |
| 4584 !heap->isolate()->bootstrapper()->IsActive()) { | 4586 !heap->isolate()->bootstrapper()->IsActive()) { |
| 4585 result->InterceptorResult(js_object); | 4587 result->InterceptorResult(js_object); |
| 4586 return; | 4588 return; |
| 4587 } | 4589 } |
| 4588 | 4590 |
| 4589 js_object->LocalLookupRealNamedProperty(name, result); | 4591 js_object->LocalLookupRealNamedProperty(name, result); |
| 4592 if (result->IsFound() || !search_hidden_prototypes) return; |
| 4593 |
| 4594 Object* proto = js_object->GetPrototype(); |
| 4595 if (!proto->IsJSReceiver()) return; |
| 4596 JSReceiver* receiver = JSReceiver::cast(proto); |
| 4597 if (receiver->map()->is_hidden_prototype()) { |
| 4598 receiver->LocalLookup(name, result, search_hidden_prototypes); |
| 4599 } |
| 4590 } | 4600 } |
| 4591 | 4601 |
| 4592 | 4602 |
| 4593 void JSReceiver::Lookup(String* name, LookupResult* result) { | 4603 void JSReceiver::Lookup(String* name, LookupResult* result) { |
| 4594 // Ecma-262 3rd 8.6.2.4 | 4604 // Ecma-262 3rd 8.6.2.4 |
| 4595 Heap* heap = GetHeap(); | 4605 Heap* heap = GetHeap(); |
| 4596 for (Object* current = this; | 4606 for (Object* current = this; |
| 4597 current != heap->null_value(); | 4607 current != heap->null_value(); |
| 4598 current = JSObject::cast(current)->GetPrototype()) { | 4608 current = JSObject::cast(current)->GetPrototype()) { |
| 4599 JSReceiver::cast(current)->LocalLookup(name, result); | 4609 JSReceiver::cast(current)->LocalLookup(name, result, false); |
| 4600 if (result->IsFound()) return; | 4610 if (result->IsFound()) return; |
| 4601 } | 4611 } |
| 4602 result->NotFound(); | 4612 result->NotFound(); |
| 4603 } | 4613 } |
| 4604 | 4614 |
| 4605 | 4615 |
| 4606 // Search object and its prototype chain for callback properties. | 4616 // Search object and its prototype chain for callback properties. |
| 4607 void JSObject::LookupCallbackProperty(String* name, LookupResult* result) { | 4617 void JSObject::LookupCallbackProperty(String* name, LookupResult* result) { |
| 4608 Heap* heap = GetHeap(); | 4618 Heap* heap = GetHeap(); |
| 4609 for (Object* current = this; | 4619 for (Object* current = this; |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4911 Handle<Object> old_value = isolate->factory()->the_hole_value(); | 4921 Handle<Object> old_value = isolate->factory()->the_hole_value(); |
| 4912 bool preexists = false; | 4922 bool preexists = false; |
| 4913 if (FLAG_harmony_observation && map()->is_observed()) { | 4923 if (FLAG_harmony_observation && map()->is_observed()) { |
| 4914 if (is_element) { | 4924 if (is_element) { |
| 4915 preexists = HasLocalElement(index); | 4925 preexists = HasLocalElement(index); |
| 4916 if (preexists && GetLocalElementAccessorPair(index) == NULL) { | 4926 if (preexists && GetLocalElementAccessorPair(index) == NULL) { |
| 4917 old_value = Object::GetElement(self, index); | 4927 old_value = Object::GetElement(self, index); |
| 4918 } | 4928 } |
| 4919 } else { | 4929 } else { |
| 4920 LookupResult lookup(isolate); | 4930 LookupResult lookup(isolate); |
| 4921 LocalLookup(*name, &lookup); | 4931 LocalLookup(*name, &lookup, true); |
| 4922 preexists = lookup.IsProperty(); | 4932 preexists = lookup.IsProperty(); |
| 4923 if (preexists) old_value = handle(lookup.GetLazyValue(), isolate); | 4933 if (preexists) old_value = handle(lookup.GetLazyValue(), isolate); |
| 4924 } | 4934 } |
| 4925 } | 4935 } |
| 4926 | 4936 |
| 4927 MaybeObject* result = is_element ? | 4937 MaybeObject* result = is_element ? |
| 4928 self->DefineElementAccessor(index, *getter, *setter, attributes) : | 4938 self->DefineElementAccessor(index, *getter, *setter, attributes) : |
| 4929 self->DefinePropertyAccessor(*name, *getter, *setter, attributes); | 4939 self->DefinePropertyAccessor(*name, *getter, *setter, attributes); |
| 4930 | 4940 |
| 4931 Handle<Object> hresult; | 4941 Handle<Object> hresult; |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5109 UNIMPLEMENTED(); | 5119 UNIMPLEMENTED(); |
| 5110 break; | 5120 break; |
| 5111 } | 5121 } |
| 5112 | 5122 |
| 5113 MaybeObject* maybe_ok = | 5123 MaybeObject* maybe_ok = |
| 5114 SetElementCallback(index, info, info->property_attributes()); | 5124 SetElementCallback(index, info, info->property_attributes()); |
| 5115 if (maybe_ok->IsFailure()) return maybe_ok; | 5125 if (maybe_ok->IsFailure()) return maybe_ok; |
| 5116 } else { | 5126 } else { |
| 5117 // Lookup the name. | 5127 // Lookup the name. |
| 5118 LookupResult result(isolate); | 5128 LookupResult result(isolate); |
| 5119 LocalLookup(name, &result); | 5129 LocalLookup(name, &result, true); |
| 5120 // ES5 forbids turning a property into an accessor if it's not | 5130 // ES5 forbids turning a property into an accessor if it's not |
| 5121 // configurable (that is IsDontDelete in ES3 and v8), see 8.6.1 (Table 5). | 5131 // configurable (that is IsDontDelete in ES3 and v8), see 8.6.1 (Table 5). |
| 5122 if (result.IsFound() && (result.IsReadOnly() || result.IsDontDelete())) { | 5132 if (result.IsFound() && (result.IsReadOnly() || result.IsDontDelete())) { |
| 5123 return isolate->heap()->undefined_value(); | 5133 return isolate->heap()->undefined_value(); |
| 5124 } | 5134 } |
| 5125 | 5135 |
| 5126 MaybeObject* maybe_ok = | 5136 MaybeObject* maybe_ok = |
| 5127 SetPropertyCallback(name, info, info->property_attributes()); | 5137 SetPropertyCallback(name, info, info->property_attributes()); |
| 5128 if (maybe_ok->IsFailure()) return maybe_ok; | 5138 if (maybe_ok->IsFailure()) return maybe_ok; |
| 5129 } | 5139 } |
| (...skipping 4493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9623 arg_count, mode); | 9633 arg_count, mode); |
| 9624 } | 9634 } |
| 9625 | 9635 |
| 9626 | 9636 |
| 9627 PropertyType JSObject::GetLocalPropertyType(String* name) { | 9637 PropertyType JSObject::GetLocalPropertyType(String* name) { |
| 9628 uint32_t index = 0; | 9638 uint32_t index = 0; |
| 9629 if (name->AsArrayIndex(&index)) { | 9639 if (name->AsArrayIndex(&index)) { |
| 9630 return GetLocalElementType(index); | 9640 return GetLocalElementType(index); |
| 9631 } | 9641 } |
| 9632 LookupResult lookup(GetIsolate()); | 9642 LookupResult lookup(GetIsolate()); |
| 9633 LocalLookup(name, &lookup); | 9643 LocalLookup(name, &lookup, true); |
| 9634 return lookup.type(); | 9644 return lookup.type(); |
| 9635 } | 9645 } |
| 9636 | 9646 |
| 9637 | 9647 |
| 9638 PropertyType JSObject::GetLocalElementType(uint32_t index) { | 9648 PropertyType JSObject::GetLocalElementType(uint32_t index) { |
| 9639 return GetElementsAccessor()->GetType(this, this, index); | 9649 return GetElementsAccessor()->GetType(this, this, index); |
| 9640 } | 9650 } |
| 9641 | 9651 |
| 9642 | 9652 |
| 9643 AccessorPair* JSObject::GetLocalPropertyAccessorPair(String* name) { | 9653 AccessorPair* JSObject::GetLocalPropertyAccessorPair(String* name) { |
| (...skipping 4224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13868 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); | 13878 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); |
| 13869 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); | 13879 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); |
| 13870 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); | 13880 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); |
| 13871 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); | 13881 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); |
| 13872 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); | 13882 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); |
| 13873 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); | 13883 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); |
| 13874 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); | 13884 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); |
| 13875 } | 13885 } |
| 13876 | 13886 |
| 13877 } } // namespace v8::internal | 13887 } } // namespace v8::internal |
| OLD | NEW |