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

Side by Side Diff: src/js/prologue.js

Issue 1416093006: Unify setting accessor properties in native code. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 1 month 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
« no previous file with comments | « src/js/messages.js ('k') | src/js/regexp.js » ('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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 (function(global, utils, extrasUtils) { 5 (function(global, utils, extrasUtils) {
6 6
7 "use strict"; 7 "use strict";
8 8
9 %CheckIsBootstrapping(); 9 %CheckIsBootstrapping();
10 10
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 SetFunctionName(f, key); 95 SetFunctionName(f, key);
96 %FunctionRemovePrototype(f); 96 %FunctionRemovePrototype(f);
97 %AddNamedProperty(object, key, f, attributes); 97 %AddNamedProperty(object, key, f, attributes);
98 %SetNativeFlag(f); 98 %SetNativeFlag(f);
99 } 99 }
100 %ToFastProperties(object); 100 %ToFastProperties(object);
101 } 101 }
102 102
103 103
104 // Helper function to install a getter-only accessor property. 104 // Helper function to install a getter-only accessor property.
105 function InstallGetter(object, name, getter, attributes) { 105 function InstallGetter(object, name, getter, attributes, prefix) {
106 %CheckIsBootstrapping(); 106 %CheckIsBootstrapping();
107 if (typeof attributes == "undefined") { 107 if (IS_UNDEFINED(attributes)) attributes = DONT_ENUM;
108 attributes = DONT_ENUM; 108 SetFunctionName(getter, name, IS_UNDEFINED(prefix) ? "get" : prefix);
109 }
110 SetFunctionName(getter, name, "get");
111 %FunctionRemovePrototype(getter); 109 %FunctionRemovePrototype(getter);
112 %DefineAccessorPropertyUnchecked(object, name, getter, null, attributes); 110 %DefineGetterPropertyUnchecked(object, name, getter, attributes);
113 %SetNativeFlag(getter); 111 %SetNativeFlag(getter);
114 } 112 }
115 113
116 114
117 // Helper function to install a getter/setter accessor property. 115 // Helper function to install a getter/setter accessor property.
118 function InstallGetterSetter(object, name, getter, setter) { 116 function InstallGetterSetter(object, name, getter, setter, attributes) {
119 %CheckIsBootstrapping(); 117 %CheckIsBootstrapping();
118 if (IS_UNDEFINED(attributes)) attributes = DONT_ENUM;
120 SetFunctionName(getter, name, "get"); 119 SetFunctionName(getter, name, "get");
121 SetFunctionName(setter, name, "set"); 120 SetFunctionName(setter, name, "set");
122 %FunctionRemovePrototype(getter); 121 %FunctionRemovePrototype(getter);
123 %FunctionRemovePrototype(setter); 122 %FunctionRemovePrototype(setter);
124 %DefineAccessorPropertyUnchecked(object, name, getter, setter, DONT_ENUM); 123 %DefineAccessorPropertyUnchecked(object, name, getter, setter, DONT_ENUM);
125 %SetNativeFlag(getter); 124 %SetNativeFlag(getter);
126 %SetNativeFlag(setter); 125 %SetNativeFlag(setter);
127 } 126 }
128 127
129 128
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 346
348 extrasUtils.uncurryThis = function uncurryThis(func) { 347 extrasUtils.uncurryThis = function uncurryThis(func) {
349 return function(thisArg) { 348 return function(thisArg) {
350 return %Apply(func, thisArg, arguments, 1, arguments.length - 1); 349 return %Apply(func, thisArg, arguments, 1, arguments.length - 1);
351 }; 350 };
352 }; 351 };
353 352
354 %ToFastProperties(extrasUtils); 353 %ToFastProperties(extrasUtils);
355 354
356 }) 355 })
OLDNEW
« no previous file with comments | « src/js/messages.js ('k') | src/js/regexp.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698