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

Side by Side Diff: src/js/object-observe.js

Issue 1404943002: Use import/export for more functions (instead of js builtins object). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 2 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
« no previous file with comments | « src/js/messages.js ('k') | src/js/prologue.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 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 (function(global, utils) { 5 (function(global, utils) {
6 6
7 "use strict"; 7 "use strict";
8 8
9 %CheckIsBootstrapping(); 9 %CheckIsBootstrapping();
10 10
11 // ------------------------------------------------------------------- 11 // -------------------------------------------------------------------
12 // Imports 12 // Imports
13 13
14 var GetHash;
14 var GlobalArray = global.Array; 15 var GlobalArray = global.Array;
15 var GlobalObject = global.Object; 16 var GlobalObject = global.Object;
16 var InternalArray = utils.InternalArray; 17 var InternalArray = utils.InternalArray;
17
18 var ObjectFreeze; 18 var ObjectFreeze;
19 var ObjectIsFrozen; 19 var ObjectIsFrozen;
20 20
21 utils.Import(function(from) { 21 utils.Import(function(from) {
22 GetHash = from.GetHash;
22 ObjectFreeze = from.ObjectFreeze; 23 ObjectFreeze = from.ObjectFreeze;
23 ObjectIsFrozen = from.ObjectIsFrozen; 24 ObjectIsFrozen = from.ObjectIsFrozen;
24 }); 25 });
25 26
26 // ------------------------------------------------------------------- 27 // -------------------------------------------------------------------
27 28
28 // Overview: 29 // Overview:
29 // 30 //
30 // This file contains all of the routing and accounting for Object.observe. 31 // This file contains all of the routing and accounting for Object.observe.
31 // User code will interact with these mechanisms via the Object.observe APIs 32 // User code will interact with these mechanisms via the Object.observe APIs
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 %SetIsObserved(object); 194 %SetIsObserved(object);
194 } 195 }
195 objectInfo = { 196 objectInfo = {
196 object: object, 197 object: object,
197 changeObservers: null, 198 changeObservers: null,
198 notifier: null, 199 notifier: null,
199 performing: null, 200 performing: null,
200 performingCount: 0, 201 performingCount: 0,
201 }; 202 };
202 %WeakCollectionSet(GetObservationStateJS().objectInfoMap, 203 %WeakCollectionSet(GetObservationStateJS().objectInfoMap,
203 object, objectInfo, $getHash(object)); 204 object, objectInfo, GetHash(object));
204 } 205 }
205 return objectInfo; 206 return objectInfo;
206 } 207 }
207 208
208 209
209 function ObjectInfoGet(object) { 210 function ObjectInfoGet(object) {
210 return %WeakCollectionGet(GetObservationStateJS().objectInfoMap, object, 211 return %WeakCollectionGet(GetObservationStateJS().objectInfoMap, object,
211 $getHash(object)); 212 GetHash(object));
212 } 213 }
213 214
214 215
215 function ObjectInfoGetFromNotifier(notifier) { 216 function ObjectInfoGetFromNotifier(notifier) {
216 return %WeakCollectionGet(GetObservationStateJS().notifierObjectInfoMap, 217 return %WeakCollectionGet(GetObservationStateJS().notifierObjectInfoMap,
217 notifier, $getHash(notifier)); 218 notifier, GetHash(notifier));
218 } 219 }
219 220
220 221
221 function ObjectInfoGetNotifier(objectInfo) { 222 function ObjectInfoGetNotifier(objectInfo) {
222 if (IS_NULL(objectInfo.notifier)) { 223 if (IS_NULL(objectInfo.notifier)) {
223 var notifier = { __proto__: notifierPrototype }; 224 var notifier = { __proto__: notifierPrototype };
224 objectInfo.notifier = notifier; 225 objectInfo.notifier = notifier;
225 %WeakCollectionSet(GetObservationStateJS().notifierObjectInfoMap, 226 %WeakCollectionSet(GetObservationStateJS().notifierObjectInfoMap,
226 notifier, objectInfo, $getHash(notifier)); 227 notifier, objectInfo, GetHash(notifier));
227 } 228 }
228 229
229 return objectInfo.notifier; 230 return objectInfo.notifier;
230 } 231 }
231 232
232 233
233 function ChangeObserversIsOptimized(changeObservers) { 234 function ChangeObserversIsOptimized(changeObservers) {
234 return IS_CALLABLE(changeObservers) || 235 return IS_CALLABLE(changeObservers) ||
235 IS_CALLABLE(changeObservers.callback); 236 IS_CALLABLE(changeObservers.callback);
236 } 237 }
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 329
329 return TypeMapCreateFromList(arg, len); 330 return TypeMapCreateFromList(arg, len);
330 } 331 }
331 332
332 333
333 // CallbackInfo's optimized state is just a number which represents its global 334 // CallbackInfo's optimized state is just a number which represents its global
334 // priority. When a change record must be enqueued for the callback, it 335 // priority. When a change record must be enqueued for the callback, it
335 // normalizes. When delivery clears any pending change records, it re-optimizes. 336 // normalizes. When delivery clears any pending change records, it re-optimizes.
336 function CallbackInfoGet(callback) { 337 function CallbackInfoGet(callback) {
337 return %WeakCollectionGet(GetObservationStateJS().callbackInfoMap, callback, 338 return %WeakCollectionGet(GetObservationStateJS().callbackInfoMap, callback,
338 $getHash(callback)); 339 GetHash(callback));
339 } 340 }
340 341
341 342
342 function CallbackInfoSet(callback, callbackInfo) { 343 function CallbackInfoSet(callback, callbackInfo) {
343 %WeakCollectionSet(GetObservationStateJS().callbackInfoMap, 344 %WeakCollectionSet(GetObservationStateJS().callbackInfoMap,
344 callback, callbackInfo, $getHash(callback)); 345 callback, callbackInfo, GetHash(callback));
345 } 346 }
346 347
347 348
348 function CallbackInfoGetOrCreate(callback) { 349 function CallbackInfoGetOrCreate(callback) {
349 var callbackInfo = CallbackInfoGet(callback); 350 var callbackInfo = CallbackInfoGet(callback);
350 if (!IS_UNDEFINED(callbackInfo)) 351 if (!IS_UNDEFINED(callbackInfo))
351 return callbackInfo; 352 return callbackInfo;
352 353
353 var priority = GetNextCallbackPriority(); 354 var priority = GetNextCallbackPriority();
354 CallbackInfoSet(callback, priority); 355 CallbackInfoSet(callback, priority);
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 710
710 utils.Export(function(to) { 711 utils.Export(function(to) {
711 to.ObserveArrayMethods = ObserveArrayMethods; 712 to.ObserveArrayMethods = ObserveArrayMethods;
712 to.ObserveBeginPerformSplice = BeginPerformSplice; 713 to.ObserveBeginPerformSplice = BeginPerformSplice;
713 to.ObserveEndPerformSplice = EndPerformSplice; 714 to.ObserveEndPerformSplice = EndPerformSplice;
714 to.ObserveEnqueueSpliceRecord = EnqueueSpliceRecord; 715 to.ObserveEnqueueSpliceRecord = EnqueueSpliceRecord;
715 to.ObserveObjectMethods = ObserveObjectMethods; 716 to.ObserveObjectMethods = ObserveObjectMethods;
716 }); 717 });
717 718
718 }) 719 })
OLDNEW
« no previous file with comments | « src/js/messages.js ('k') | src/js/prologue.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698