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

Side by Side Diff: src/accessors.cc

Issue 291153005: Consistently say 'own' property (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add new files Created 6 years, 7 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 | « include/v8.h ('k') | src/api.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 #include "v8.h" 5 #include "v8.h"
6 #include "accessors.h" 6 #include "accessors.h"
7 7
8 #include "compiler.h" 8 #include "compiler.h"
9 #include "contexts.h" 9 #include "contexts.h"
10 #include "deoptimizer.h" 10 #include "deoptimizer.h"
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate()); 176 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(info.GetIsolate());
177 HandleScope scope(isolate); 177 HandleScope scope(isolate);
178 Handle<JSObject> object = Handle<JSObject>::cast( 178 Handle<JSObject> object = Handle<JSObject>::cast(
179 Utils::OpenHandle(*info.This())); 179 Utils::OpenHandle(*info.This()));
180 Handle<Object> value = Utils::OpenHandle(*val); 180 Handle<Object> value = Utils::OpenHandle(*val);
181 // This means one of the object's prototypes is a JSArray and the 181 // This means one of the object's prototypes is a JSArray and the
182 // object does not have a 'length' property. Calling SetProperty 182 // object does not have a 'length' property. Calling SetProperty
183 // causes an infinite loop. 183 // causes an infinite loop.
184 if (!object->IsJSArray()) { 184 if (!object->IsJSArray()) {
185 MaybeHandle<Object> maybe_result = 185 MaybeHandle<Object> maybe_result =
186 JSObject::SetLocalPropertyIgnoreAttributes( 186 JSObject::SetOwnPropertyIgnoreAttributes(
187 object, isolate->factory()->length_string(), value, NONE); 187 object, isolate->factory()->length_string(), value, NONE);
188 maybe_result.Check(); 188 maybe_result.Check();
189 return; 189 return;
190 } 190 }
191 191
192 value = FlattenNumber(isolate, value); 192 value = FlattenNumber(isolate, value);
193 193
194 Handle<JSArray> array_handle = Handle<JSArray>::cast(object); 194 Handle<JSArray> array_handle = Handle<JSArray>::cast(object);
195 MaybeHandle<Object> maybe; 195 MaybeHandle<Object> maybe;
196 Handle<Object> uint32_v; 196 Handle<Object> uint32_v;
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 { 783 {
784 DisallowHeapAllocation no_allocation; 784 DisallowHeapAllocation no_allocation;
785 JSFunction* function_raw = FindInstanceOf<JSFunction>(isolate, *receiver); 785 JSFunction* function_raw = FindInstanceOf<JSFunction>(isolate, *receiver);
786 if (function_raw == NULL) return isolate->factory()->undefined_value(); 786 if (function_raw == NULL) return isolate->factory()->undefined_value();
787 function = Handle<JSFunction>(function_raw, isolate); 787 function = Handle<JSFunction>(function_raw, isolate);
788 } 788 }
789 789
790 if (!function->should_have_prototype()) { 790 if (!function->should_have_prototype()) {
791 // Since we hit this accessor, object will have no prototype property. 791 // Since we hit this accessor, object will have no prototype property.
792 MaybeHandle<Object> maybe_result = 792 MaybeHandle<Object> maybe_result =
793 JSObject::SetLocalPropertyIgnoreAttributes( 793 JSObject::SetOwnPropertyIgnoreAttributes(
794 receiver, isolate->factory()->prototype_string(), value, NONE); 794 receiver, isolate->factory()->prototype_string(), value, NONE);
795 return maybe_result.ToHandleChecked(); 795 return maybe_result.ToHandleChecked();
796 } 796 }
797 797
798 Handle<Object> old_value; 798 Handle<Object> old_value;
799 bool is_observed = *function == *receiver && function->map()->is_observed(); 799 bool is_observed = *function == *receiver && function->map()->is_observed();
800 if (is_observed) { 800 if (is_observed) {
801 if (function->has_prototype()) 801 if (function->has_prototype())
802 old_value = handle(function->prototype(), isolate); 802 old_value = handle(function->prototype(), isolate);
803 else 803 else
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
1338 info->set_data(Smi::FromInt(index)); 1338 info->set_data(Smi::FromInt(index));
1339 Handle<Object> getter = v8::FromCData(isolate, &ModuleGetExport); 1339 Handle<Object> getter = v8::FromCData(isolate, &ModuleGetExport);
1340 Handle<Object> setter = v8::FromCData(isolate, &ModuleSetExport); 1340 Handle<Object> setter = v8::FromCData(isolate, &ModuleSetExport);
1341 info->set_getter(*getter); 1341 info->set_getter(*getter);
1342 if (!(attributes & ReadOnly)) info->set_setter(*setter); 1342 if (!(attributes & ReadOnly)) info->set_setter(*setter);
1343 return info; 1343 return info;
1344 } 1344 }
1345 1345
1346 1346
1347 } } // namespace v8::internal 1347 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « include/v8.h ('k') | src/api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698