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

Side by Side Diff: src/debug/mirrors.js

Issue 1235283005: Add mirror debugger support for SIMD.float32x4. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 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 | « no previous file | src/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 2006-2012 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 "use strict"; 6 "use strict";
7 7
8 // ---------------------------------------------------------------------------- 8 // ----------------------------------------------------------------------------
9 // Imports 9 // Imports
10 10
11 macro SIMD_TYPES(FUNCTION)
12 FUNCTION(FLOAT32X4_TYPE, Float32x4, float32x4)
13 FUNCTION(INT32X4_TYPE, Int32x4, int32x4)
14 FUNCTION(INT16X8_TYPE, Int16x8, int16x8)
15 FUNCTION(INT8X16_TYPE, Int8x16, int8x16)
16 FUNCTION(UINT32X4_TYPE, Uint32x4, uint32x4)
17 FUNCTION(UINT16X8_TYPE, Uint16x8, uint16x8)
18 FUNCTION(UINT8X16_TYPE, Uint8x16, uint8x16)
19 FUNCTION(BOOL32X4_TYPE, Bool32x4, bool32x4)
20 FUNCTION(BOOL16X8_TYPE, Bool16x8, bool16x8)
21 FUNCTION(BOOL8X16_TYPE, Bool8x16, bool8x16)
22 endmacro
23
11 var FunctionSourceString; 24 var FunctionSourceString;
12 var GlobalArray = global.Array; 25 var GlobalArray = global.Array;
13 var IsNaN = global.isNaN; 26 var IsNaN = global.isNaN;
14 var JSONStringify = global.JSON.stringify; 27 var JSONStringify = global.JSON.stringify;
15 var MathMin = global.Math.min; 28 var MathMin = global.Math.min;
16 var promiseStatusSymbol = utils.GetPrivateSymbol("promise_status_symbol"); 29 var promiseStatusSymbol = utils.GetPrivateSymbol("promise_status_symbol");
17 var promiseValueSymbol = utils.GetPrivateSymbol("promise_value_symbol"); 30 var promiseValueSymbol = utils.GetPrivateSymbol("promise_value_symbol");
18 var ToBoolean; 31 var ToBoolean;
19 var ToString; 32 var ToString;
20 33
34 macro SIMD_DECLARE_TOSTRING(SIMD, Simd, simd)
35 var SimdToString;
36 endmacro
37
38 SIMD_TYPES(SIMD_DECLARE_TOSTRING)
39
40 macro SIMD_IMPORT_TOSTRING(SIMD, Simd, simd)
41 SimdToString = from.SimdToString;
42 endmacro
43
21 utils.Import(function(from) { 44 utils.Import(function(from) {
22 FunctionSourceString = from.FunctionSourceString; 45 FunctionSourceString = from.FunctionSourceString;
23 ToBoolean = from.ToBoolean; 46 ToBoolean = from.ToBoolean;
24 ToString = from.ToString; 47 ToString = from.ToString;
48
49 SIMD_TYPES(SIMD_IMPORT_TOSTRING)
25 }); 50 });
26 51
27 // ---------------------------------------------------------------------------- 52 // ----------------------------------------------------------------------------
28 53
29 // Mirror hierarchy: 54 // Mirror hierarchy:
30 // - Mirror 55 // - Mirror
31 // - ValueMirror 56 // - ValueMirror
32 // - UndefinedMirror 57 // - UndefinedMirror
33 // - NullMirror 58 // - NullMirror
34 // - BooleanMirror 59 // - BooleanMirror
35 // - NumberMirror 60 // - NumberMirror
36 // - StringMirror 61 // - StringMirror
37 // - SymbolMirror 62 // - SymbolMirror
63 // - Float32x4Mirror
64 // - Int32x4Mirror
65 // - Int16x8Mirror
66 // - Int8x16Mirror
67 // - Uint32x4Mirror
68 // - Uint16x8Mirror
69 // - Uint8x16Mirror
70 // - Bool32x4Mirror
71 // - Bool16x8Mirror
72 // - Bool8x16Mirror
38 // - ObjectMirror 73 // - ObjectMirror
39 // - FunctionMirror 74 // - FunctionMirror
40 // - UnresolvedFunctionMirror 75 // - UnresolvedFunctionMirror
41 // - ArrayMirror 76 // - ArrayMirror
42 // - DateMirror 77 // - DateMirror
43 // - RegExpMirror 78 // - RegExpMirror
44 // - ErrorMirror 79 // - ErrorMirror
45 // - PromiseMirror 80 // - PromiseMirror
46 // - MapMirror 81 // - MapMirror
47 // - SetMirror 82 // - SetMirror
48 // - IteratorMirror 83 // - IteratorMirror
49 // - GeneratorMirror 84 // - GeneratorMirror
50 // - PropertyMirror 85 // - PropertyMirror
51 // - InternalPropertyMirror 86 // - InternalPropertyMirror
52 // - FrameMirror 87 // - FrameMirror
53 // - ScriptMirror 88 // - ScriptMirror
54 // - ScopeMirror 89 // - ScopeMirror
55 90
91
92 macro SIMD_DEFINE_TYPE(SIMD, Simd, simd)
93 SIMD: 'simd',
94 endmacro
95
56 // Type names of the different mirrors. 96 // Type names of the different mirrors.
57 var MirrorType = { 97 var MirrorType = {
58 UNDEFINED_TYPE : 'undefined', 98 UNDEFINED_TYPE : 'undefined',
59 NULL_TYPE : 'null', 99 NULL_TYPE : 'null',
60 BOOLEAN_TYPE : 'boolean', 100 BOOLEAN_TYPE : 'boolean',
61 NUMBER_TYPE : 'number', 101 NUMBER_TYPE : 'number',
62 STRING_TYPE : 'string', 102 STRING_TYPE : 'string',
63 SYMBOL_TYPE : 'symbol', 103 SYMBOL_TYPE : 'symbol',
64 OBJECT_TYPE : 'object', 104 OBJECT_TYPE : 'object',
65 FUNCTION_TYPE : 'function', 105 FUNCTION_TYPE : 'function',
66 REGEXP_TYPE : 'regexp', 106 REGEXP_TYPE : 'regexp',
67 ERROR_TYPE : 'error', 107 ERROR_TYPE : 'error',
68 PROPERTY_TYPE : 'property', 108 PROPERTY_TYPE : 'property',
69 INTERNAL_PROPERTY_TYPE : 'internalProperty', 109 INTERNAL_PROPERTY_TYPE : 'internalProperty',
70 FRAME_TYPE : 'frame', 110 FRAME_TYPE : 'frame',
71 SCRIPT_TYPE : 'script', 111 SCRIPT_TYPE : 'script',
72 CONTEXT_TYPE : 'context', 112 CONTEXT_TYPE : 'context',
73 SCOPE_TYPE : 'scope', 113 SCOPE_TYPE : 'scope',
74 PROMISE_TYPE : 'promise', 114 PROMISE_TYPE : 'promise',
75 MAP_TYPE : 'map', 115 MAP_TYPE : 'map',
76 SET_TYPE : 'set', 116 SET_TYPE : 'set',
77 ITERATOR_TYPE : 'iterator', 117 ITERATOR_TYPE : 'iterator',
78 GENERATOR_TYPE : 'generator', 118 GENERATOR_TYPE : 'generator',
119
120 SIMD_TYPES(SIMD_DEFINE_TYPE)
79 } 121 }
80 122
81 123
82 // Handle id counters. 124 // Handle id counters.
83 var next_handle_ = 0; 125 var next_handle_ = 0;
84 var next_transient_handle_ = -1; 126 var next_transient_handle_ = -1;
85 127
86 // Mirror cache. 128 // Mirror cache.
87 var mirror_cache_ = []; 129 var mirror_cache_ = [];
88 var mirror_cache_enabled_ = true; 130 var mirror_cache_enabled_ = true;
(...skipping 22 matching lines...) Expand all
111 function ObjectIsPromise(value) { 153 function ObjectIsPromise(value) {
112 try { 154 try {
113 return IS_SPEC_OBJECT(value) && 155 return IS_SPEC_OBJECT(value) &&
114 !IS_UNDEFINED(%DebugGetProperty(value, promiseStatusSymbol)); 156 !IS_UNDEFINED(%DebugGetProperty(value, promiseStatusSymbol));
115 } catch (e) { 157 } catch (e) {
116 return false; 158 return false;
117 } 159 }
118 } 160 }
119 161
120 162
163 macro SIMD_MAKE_MIRROR(SIMD, Simd, simd)
164 case 'simd':
165 mirror = new SimdMirror(value);
166 break;
167 endmacro
168
169
121 /** 170 /**
122 * Returns the mirror for a specified value or object. 171 * Returns the mirror for a specified value or object.
123 * 172 *
124 * @param {value or Object} value the value or object to retreive the mirror for 173 * @param {value or Object} value the value or object to retreive the mirror for
125 * @param {boolean} transient indicate whether this object is transient and 174 * @param {boolean} transient indicate whether this object is transient and
126 * should not be added to the mirror cache. The default is not transient. 175 * should not be added to the mirror cache. The default is not transient.
127 * @returns {Mirror} the mirror reflects the passed value or object 176 * @returns {Mirror} the mirror reflects the passed value or object
128 */ 177 */
129 function MakeMirror(value, opt_transient) { 178 function MakeMirror(value, opt_transient) {
130 var mirror; 179 var mirror;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 } else if (IS_MAP(value) || IS_WEAKMAP(value)) { 220 } else if (IS_MAP(value) || IS_WEAKMAP(value)) {
172 mirror = new MapMirror(value); 221 mirror = new MapMirror(value);
173 } else if (IS_SET(value) || IS_WEAKSET(value)) { 222 } else if (IS_SET(value) || IS_WEAKSET(value)) {
174 mirror = new SetMirror(value); 223 mirror = new SetMirror(value);
175 } else if (IS_MAP_ITERATOR(value) || IS_SET_ITERATOR(value)) { 224 } else if (IS_MAP_ITERATOR(value) || IS_SET_ITERATOR(value)) {
176 mirror = new IteratorMirror(value); 225 mirror = new IteratorMirror(value);
177 } else if (ObjectIsPromise(value)) { 226 } else if (ObjectIsPromise(value)) {
178 mirror = new PromiseMirror(value); 227 mirror = new PromiseMirror(value);
179 } else if (IS_GENERATOR(value)) { 228 } else if (IS_GENERATOR(value)) {
180 mirror = new GeneratorMirror(value); 229 mirror = new GeneratorMirror(value);
230 } else if (IS_SIMD_VALUE(value)) {
231 switch (typeof value) {
232 SIMD_TYPES(SIMD_MAKE_MIRROR)
233 }
181 } else { 234 } else {
182 mirror = new ObjectMirror(value, MirrorType.OBJECT_TYPE, opt_transient); 235 mirror = new ObjectMirror(value, MirrorType.OBJECT_TYPE, opt_transient);
183 } 236 }
184 237
185 if (mirror_cache_enabled_) mirror_cache_[mirror.handle()] = mirror; 238 if (mirror_cache_enabled_) mirror_cache_[mirror.handle()] = mirror;
186 return mirror; 239 return mirror;
187 } 240 }
188 241
189 242
190 /** 243 /**
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 // NOTE: these constants should be backward-compatible, so 314 // NOTE: these constants should be backward-compatible, so
262 // add new ones to the end of this list. 315 // add new ones to the end of this list.
263 var ScopeType = { Global: 0, 316 var ScopeType = { Global: 0,
264 Local: 1, 317 Local: 1,
265 With: 2, 318 With: 2,
266 Closure: 3, 319 Closure: 3,
267 Catch: 4, 320 Catch: 4,
268 Block: 5, 321 Block: 5,
269 Script: 6 }; 322 Script: 6 };
270 323
324
271 /** 325 /**
272 * Base class for all mirror objects. 326 * Base class for all mirror objects.
273 * @param {string} type The type of the mirror 327 * @param {string} type The type of the mirror
274 * @constructor 328 * @constructor
275 */ 329 */
276 function Mirror(type) { 330 function Mirror(type) {
277 this.type_ = type; 331 this.type_ = type;
278 } 332 }
279 333
280 334
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 393
340 /** 394 /**
341 * Check whether the mirror reflects a symbol. 395 * Check whether the mirror reflects a symbol.
342 * @returns {boolean} True if the mirror reflects a symbol 396 * @returns {boolean} True if the mirror reflects a symbol
343 */ 397 */
344 Mirror.prototype.isSymbol = function() { 398 Mirror.prototype.isSymbol = function() {
345 return this instanceof SymbolMirror; 399 return this instanceof SymbolMirror;
346 }; 400 };
347 401
348 402
403 macro SIMD_IS_FUNCTION(SIMD, Simd, simd)
404 Mirror.prototype.isSimd = function() {
405 return this instanceof SimdMirror;
406 };
407 endmacro
408
409 SIMD_TYPES(SIMD_IS_FUNCTION)
410
411
349 /** 412 /**
350 * Check whether the mirror reflects an object. 413 * Check whether the mirror reflects an object.
351 * @returns {boolean} True if the mirror reflects an object 414 * @returns {boolean} True if the mirror reflects an object
352 */ 415 */
353 Mirror.prototype.isObject = function() { 416 Mirror.prototype.isObject = function() {
354 return this instanceof ObjectMirror; 417 return this instanceof ObjectMirror;
355 }; 418 };
356 419
357 420
358 /** 421 /**
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 * Check whether this is a primitive value. 624 * Check whether this is a primitive value.
562 * @return {boolean} True if the mirror reflects a primitive value 625 * @return {boolean} True if the mirror reflects a primitive value
563 */ 626 */
564 ValueMirror.prototype.isPrimitive = function() { 627 ValueMirror.prototype.isPrimitive = function() {
565 var type = this.type(); 628 var type = this.type();
566 return type === 'undefined' || 629 return type === 'undefined' ||
567 type === 'null' || 630 type === 'null' ||
568 type === 'boolean' || 631 type === 'boolean' ||
569 type === 'number' || 632 type === 'number' ||
570 type === 'string' || 633 type === 'string' ||
571 type === 'symbol'; 634 type === 'symbol' ||
635 type === 'float32x4' ||
636 type === 'int32x4' ||
637 type === 'int16x8' ||
638 type === 'int8x16' ||
639 type === 'uint32x4' ||
640 type === 'uint16x8' ||
641 type === 'uint8x16' ||
642 type === 'bool32x4' ||
643 type === 'bool16x8' ||
644 type === 'bool8x16';
572 }; 645 };
573 646
574 647
575 /** 648 /**
576 * Get the actual value reflected by this mirror. 649 * Get the actual value reflected by this mirror.
577 * @return {value} The value reflected by this mirror 650 * @return {value} The value reflected by this mirror
578 */ 651 */
579 ValueMirror.prototype.value = function() { 652 ValueMirror.prototype.value = function() {
580 return this.value_; 653 return this.value_;
581 }; 654 };
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
691 SymbolMirror.prototype.description = function() { 764 SymbolMirror.prototype.description = function() {
692 return %SymbolDescription(%_ValueOf(this.value_)); 765 return %SymbolDescription(%_ValueOf(this.value_));
693 } 766 }
694 767
695 768
696 SymbolMirror.prototype.toText = function() { 769 SymbolMirror.prototype.toText = function() {
697 return %_CallFunction(this.value_, builtins.$symbolToString); 770 return %_CallFunction(this.value_, builtins.$symbolToString);
698 } 771 }
699 772
700 773
774 macro SIMD_MIRROR_FUNCTIONS(SIMD, Simd, simd)
775 function SimdMirror(value) {
776 %_CallFunction(this, MirrorType.SIMD, value, ValueMirror);
777 }
778 inherits(SimdMirror, ValueMirror);
779
780
781 SimdMirror.prototype.toText = function() {
782 return %_CallFunction(this.value_, SimdToString);
783 }
784 endmacro
785
786 SIMD_TYPES(SIMD_MIRROR_FUNCTIONS)
787
788
701 /** 789 /**
702 * Mirror object for objects. 790 * Mirror object for objects.
703 * @param {object} value The object reflected by this mirror 791 * @param {object} value The object reflected by this mirror
704 * @param {boolean} transient indicate whether this object is transient with a 792 * @param {boolean} transient indicate whether this object is transient with a
705 * transient handle 793 * transient handle
706 * @constructor 794 * @constructor
707 * @extends ValueMirror 795 * @extends ValueMirror
708 */ 796 */
709 function ObjectMirror(value, type, transient) { 797 function ObjectMirror(value, type, transient) {
710 type = type || MirrorType.OBJECT_TYPE; 798 type = type || MirrorType.OBJECT_TYPE;
(...skipping 1877 matching lines...) Expand 10 before | Expand all | Expand 10 after
2588 if (this.mirrors_[i] === mirror) { 2676 if (this.mirrors_[i] === mirror) {
2589 return; 2677 return;
2590 } 2678 }
2591 } 2679 }
2592 2680
2593 // Add the mirror to the list of mirrors to be serialized. 2681 // Add the mirror to the list of mirrors to be serialized.
2594 this.mirrors_.push(mirror); 2682 this.mirrors_.push(mirror);
2595 }; 2683 };
2596 2684
2597 2685
2686 macro SIMD_DEFINE_CASE(SIMD, Simd, simd)
2687 case MirrorType.SIMD:
2688 endmacro
2689
2690
2598 /** 2691 /**
2599 * Formats mirror object to protocol reference object with some data that can 2692 * Formats mirror object to protocol reference object with some data that can
2600 * be used to display the value in debugger. 2693 * be used to display the value in debugger.
2601 * @param {Mirror} mirror Mirror to serialize. 2694 * @param {Mirror} mirror Mirror to serialize.
2602 * @return {Object} Protocol reference object. 2695 * @return {Object} Protocol reference object.
2603 */ 2696 */
2604 JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ = 2697 JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ =
2605 function(mirror) { 2698 function(mirror) {
2606 var o = {}; 2699 var o = {};
2607 o.ref = mirror.handle(); 2700 o.ref = mirror.handle();
(...skipping 13 matching lines...) Expand all
2621 break; 2714 break;
2622 case MirrorType.FUNCTION_TYPE: 2715 case MirrorType.FUNCTION_TYPE:
2623 o.name = mirror.name(); 2716 o.name = mirror.name();
2624 o.inferredName = mirror.inferredName(); 2717 o.inferredName = mirror.inferredName();
2625 if (mirror.script()) { 2718 if (mirror.script()) {
2626 o.scriptId = mirror.script().id(); 2719 o.scriptId = mirror.script().id();
2627 } 2720 }
2628 break; 2721 break;
2629 case MirrorType.ERROR_TYPE: 2722 case MirrorType.ERROR_TYPE:
2630 case MirrorType.REGEXP_TYPE: 2723 case MirrorType.REGEXP_TYPE:
2724 SIMD_TYPES(SIMD_DEFINE_CASE)
2631 o.value = mirror.toText(); 2725 o.value = mirror.toText();
2632 break; 2726 break;
2633 case MirrorType.OBJECT_TYPE: 2727 case MirrorType.OBJECT_TYPE:
2634 o.className = mirror.className(); 2728 o.className = mirror.className();
2635 break; 2729 break;
2636 } 2730 }
2637 return o; 2731 return o;
2638 }; 2732 };
2639 2733
2640 2734
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
2690 } else { 2784 } else {
2691 content.value = mirror.value(); 2785 content.value = mirror.value();
2692 } 2786 }
2693 content.length = mirror.length(); 2787 content.length = mirror.length();
2694 break; 2788 break;
2695 2789
2696 case MirrorType.SYMBOL_TYPE: 2790 case MirrorType.SYMBOL_TYPE:
2697 content.description = mirror.description(); 2791 content.description = mirror.description();
2698 break; 2792 break;
2699 2793
2794 SIMD_TYPES(SIMD_DEFINE_CASE)
2795 content.value = mirror.toText();
2796 break;
2797
2700 case MirrorType.OBJECT_TYPE: 2798 case MirrorType.OBJECT_TYPE:
2701 case MirrorType.FUNCTION_TYPE: 2799 case MirrorType.FUNCTION_TYPE:
2702 case MirrorType.ERROR_TYPE: 2800 case MirrorType.ERROR_TYPE:
2703 case MirrorType.REGEXP_TYPE: 2801 case MirrorType.REGEXP_TYPE:
2704 case MirrorType.PROMISE_TYPE: 2802 case MirrorType.PROMISE_TYPE:
2705 case MirrorType.GENERATOR_TYPE: 2803 case MirrorType.GENERATOR_TYPE:
2706 // Add object representation. 2804 // Add object representation.
2707 this.serializeObject_(mirror, content, details); 2805 this.serializeObject_(mirror, content, details);
2708 break; 2806 break;
2709 2807
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
3066 // Exports 3164 // Exports
3067 3165
3068 utils.InstallFunctions(global, DONT_ENUM, [ 3166 utils.InstallFunctions(global, DONT_ENUM, [
3069 "MakeMirror", MakeMirror, 3167 "MakeMirror", MakeMirror,
3070 "MakeMirrorSerializer", MakeMirrorSerializer, 3168 "MakeMirrorSerializer", MakeMirrorSerializer,
3071 "LookupMirror", LookupMirror, 3169 "LookupMirror", LookupMirror,
3072 "ToggleMirrorCache", ToggleMirrorCache, 3170 "ToggleMirrorCache", ToggleMirrorCache,
3073 "MirrorCacheIsEmpty", MirrorCacheIsEmpty, 3171 "MirrorCacheIsEmpty", MirrorCacheIsEmpty,
3074 ]); 3172 ]);
3075 3173
3174
3175 macro SIMD_INSTALL(SIMD, Simd, simd)
3176 "SimdMirror", SimdMirror,
3177 endmacro
3178
3076 utils.InstallConstants(global, [ 3179 utils.InstallConstants(global, [
3077 "ScopeType", ScopeType, 3180 "ScopeType", ScopeType,
3078 "PropertyKind", PropertyKind, 3181 "PropertyKind", PropertyKind,
3079 "PropertyType", PropertyType, 3182 "PropertyType", PropertyType,
3080 "PropertyAttribute", PropertyAttribute, 3183 "PropertyAttribute", PropertyAttribute,
3081 "Mirror", Mirror, 3184 "Mirror", Mirror,
3082 "ValueMirror", ValueMirror, 3185 "ValueMirror", ValueMirror,
3083 "UndefinedMirror", UndefinedMirror, 3186 "UndefinedMirror", UndefinedMirror,
3084 "NullMirror", NullMirror, 3187 "NullMirror", NullMirror,
3085 "BooleanMirror", BooleanMirror, 3188 "BooleanMirror", BooleanMirror,
(...skipping 11 matching lines...) Expand all
3097 "MapMirror", MapMirror, 3200 "MapMirror", MapMirror,
3098 "SetMirror", SetMirror, 3201 "SetMirror", SetMirror,
3099 "IteratorMirror", IteratorMirror, 3202 "IteratorMirror", IteratorMirror,
3100 "GeneratorMirror", GeneratorMirror, 3203 "GeneratorMirror", GeneratorMirror,
3101 "PropertyMirror", PropertyMirror, 3204 "PropertyMirror", PropertyMirror,
3102 "InternalPropertyMirror", InternalPropertyMirror, 3205 "InternalPropertyMirror", InternalPropertyMirror,
3103 "FrameMirror", FrameMirror, 3206 "FrameMirror", FrameMirror,
3104 "ScriptMirror", ScriptMirror, 3207 "ScriptMirror", ScriptMirror,
3105 "ScopeMirror", ScopeMirror, 3208 "ScopeMirror", ScopeMirror,
3106 "FrameDetails", FrameDetails, 3209 "FrameDetails", FrameDetails,
3210
3211 SIMD_TYPES(SIMD_INSTALL)
3107 ]); 3212 ]);
3108 3213
3109 // Functions needed by the debugger runtime. 3214 // Functions needed by the debugger runtime.
3110 utils.InstallFunctions(utils, DONT_ENUM, [ 3215 utils.InstallFunctions(utils, DONT_ENUM, [
3111 "ClearMirrorCache", ClearMirrorCache 3216 "ClearMirrorCache", ClearMirrorCache
3112 ]); 3217 ]);
3113 3218
3114 // Export to debug.js 3219 // Export to debug.js
3115 utils.Export(function(to) { 3220 utils.Export(function(to) {
3116 to.MirrorType = MirrorType; 3221 to.MirrorType = MirrorType;
3117 }); 3222 });
3118 }) 3223 })
OLDNEW
« no previous file with comments | « no previous file | src/prologue.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698