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

Side by Side Diff: src/js/macros.py

Issue 1530293004: [proxies] Better print for proxies in d8 (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: adding macro and fixing printing for infinite __proto__ proxies Created 5 years 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/d8.js ('k') | src/js/proxy.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-2009 the V8 project authors. All rights reserved. 1 # Copyright 2006-2009 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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 define kStrictMode = 1; 81 define kStrictMode = 1;
82 82
83 # Native cache ids. 83 # Native cache ids.
84 define STRING_TO_REGEXP_CACHE_ID = 0; 84 define STRING_TO_REGEXP_CACHE_ID = 0;
85 85
86 # Type query macros. 86 # Type query macros.
87 # 87 #
88 # Note: We have special support for typeof(foo) === 'bar' in the compiler. 88 # Note: We have special support for typeof(foo) === 'bar' in the compiler.
89 # It will *not* generate a runtime typeof call for the most important 89 # It will *not* generate a runtime typeof call for the most important
90 # values of 'bar'. 90 # values of 'bar'.
91 macro IS_ARRAY(arg) = (%_IsArray(arg));
92 macro IS_ARRAYBUFFER(arg) = (%_ClassOf(arg) === 'ArrayBuffer');
93 macro IS_BOOLEAN(arg) = (typeof(arg) === 'boolean');
94 macro IS_BOOLEAN_WRAPPER(arg) = (%_ClassOf(arg) === 'Boolean');
95 macro IS_DATAVIEW(arg) = (%_ClassOf(arg) === 'DataView');
96 macro IS_DATE(arg) = (%_IsDate(arg));
97 macro IS_ERROR(arg) = (%_ClassOf(arg) === 'Error');
98 macro IS_FUNCTION(arg) = (%_IsFunction(arg));
99 macro IS_GENERATOR(arg) = (%_ClassOf(arg) === 'Generator');
100 macro IS_GLOBAL(arg) = (%_ClassOf(arg) === 'global');
101 macro IS_MAP(arg) = (%_ClassOf(arg) === 'Map');
102 macro IS_MAP_ITERATOR(arg) = (%_ClassOf(arg) === 'Map Iterator');
91 macro IS_NULL(arg) = (arg === null); 103 macro IS_NULL(arg) = (arg === null);
92 macro IS_NULL_OR_UNDEFINED(arg) = (arg == null); 104 macro IS_NULL_OR_UNDEFINED(arg) = (arg == null);
105 macro IS_NUMBER(arg) = (typeof(arg) === 'number');
106 macro IS_NUMBER_WRAPPER(arg) = (%_ClassOf(arg) === 'Number');
107 macro IS_OBJECT(arg) = (typeof(arg) === 'object');
108 macro IS_PROXY(arg) = (%IsJSProxy(arg));
109 macro IS_REGEXP(arg) = (%_IsRegExp(arg));
110 macro IS_SCRIPT(arg) = (%_ClassOf(arg) === 'Script');
111 macro IS_SET(arg) = (%_ClassOf(arg) === 'Set');
112 macro IS_SET_ITERATOR(arg) = (%_ClassOf(arg) === 'Set Iterator');
113 macro IS_SHAREDARRAYBUFFER(arg) = (%_ClassOf(arg) === 'SharedArrayBuffer');
114 macro IS_SIMD_VALUE(arg) = (%_IsSimdValue(arg));
115 macro IS_STRING(arg) = (typeof(arg) === 'string');
116 macro IS_STRING_WRAPPER(arg) = (%_ClassOf(arg) === 'String');
117 macro IS_STRONG(arg) = (%IsStrong(arg));
118 macro IS_SYMBOL(arg) = (typeof(arg) === 'symbol');
119 macro IS_SYMBOL_WRAPPER(arg) = (%_ClassOf(arg) === 'Symbol');
93 macro IS_UNDEFINED(arg) = (arg === (void 0)); 120 macro IS_UNDEFINED(arg) = (arg === (void 0));
94 macro IS_NUMBER(arg) = (typeof(arg) === 'number');
95 macro IS_STRING(arg) = (typeof(arg) === 'string');
96 macro IS_BOOLEAN(arg) = (typeof(arg) === 'boolean');
97 macro IS_SYMBOL(arg) = (typeof(arg) === 'symbol');
98 macro IS_OBJECT(arg) = (typeof(arg) === 'object');
99 macro IS_ARRAY(arg) = (%_IsArray(arg));
100 macro IS_DATE(arg) = (%_IsDate(arg));
101 macro IS_FUNCTION(arg) = (%_IsFunction(arg));
102 macro IS_REGEXP(arg) = (%_IsRegExp(arg));
103 macro IS_SIMD_VALUE(arg) = (%_IsSimdValue(arg));
104 macro IS_SET(arg) = (%_ClassOf(arg) === 'Set');
105 macro IS_MAP(arg) = (%_ClassOf(arg) === 'Map');
106 macro IS_WEAKMAP(arg) = (%_ClassOf(arg) === 'WeakMap'); 121 macro IS_WEAKMAP(arg) = (%_ClassOf(arg) === 'WeakMap');
107 macro IS_WEAKSET(arg) = (%_ClassOf(arg) === 'WeakSet'); 122 macro IS_WEAKSET(arg) = (%_ClassOf(arg) === 'WeakSet');
Camillo Bruni 2015/12/17 10:43:07 I sorted the macros and add IS_PROXY
108 macro IS_NUMBER_WRAPPER(arg) = (%_ClassOf(arg) === 'Number');
109 macro IS_STRING_WRAPPER(arg) = (%_ClassOf(arg) === 'String');
110 macro IS_SYMBOL_WRAPPER(arg) = (%_ClassOf(arg) === 'Symbol');
111 macro IS_BOOLEAN_WRAPPER(arg) = (%_ClassOf(arg) === 'Boolean');
112 macro IS_ERROR(arg) = (%_ClassOf(arg) === 'Error');
113 macro IS_SCRIPT(arg) = (%_ClassOf(arg) === 'Script');
114 macro IS_GLOBAL(arg) = (%_ClassOf(arg) === 'global');
115 macro IS_ARRAYBUFFER(arg) = (%_ClassOf(arg) === 'ArrayBuffer');
116 macro IS_DATAVIEW(arg) = (%_ClassOf(arg) === 'DataView');
117 macro IS_SHAREDARRAYBUFFER(arg) = (%_ClassOf(arg) === 'SharedArrayBuffer');
118 macro IS_GENERATOR(arg) = (%_ClassOf(arg) === 'Generator');
119 macro IS_SET_ITERATOR(arg) = (%_ClassOf(arg) === 'Set Iterator');
120 macro IS_MAP_ITERATOR(arg) = (%_ClassOf(arg) === 'Map Iterator');
121 macro IS_STRONG(arg) = (%IsStrong(arg));
122 123
123 # Macro for ECMAScript 5 queries of the type: 124 # Macro for ECMAScript 5 queries of the type:
124 # "Type(O) is object." 125 # "Type(O) is object."
125 # This is the same as being either a function or an object in V8 terminology 126 # This is the same as being either a function or an object in V8 terminology
126 # (including proxies). 127 # (including proxies).
127 # In addition, an undetectable object is also included by this. 128 # In addition, an undetectable object is also included by this.
128 macro IS_SPEC_OBJECT(arg) = (%_IsJSReceiver(arg)); 129 macro IS_SPEC_OBJECT(arg) = (%_IsJSReceiver(arg));
129 130
130 # Macro for ECMAScript 5 queries of the type: 131 # Macro for ECMAScript 5 queries of the type:
131 # "IsCallable(O)" 132 # "IsCallable(O)"
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 # Must match OrderedHashTable::kNotFound. 312 # Must match OrderedHashTable::kNotFound.
312 define NOT_FOUND = -1; 313 define NOT_FOUND = -1;
313 314
314 # Check whether debug is active. 315 # Check whether debug is active.
315 define DEBUG_IS_ACTIVE = (%_DebugIsActive() != 0); 316 define DEBUG_IS_ACTIVE = (%_DebugIsActive() != 0);
316 macro DEBUG_PREPARE_STEP_IN_IF_STEPPING(function) = if (%_DebugIsActive() != 0) %DebugPrepareStepInIfStepping(function); 317 macro DEBUG_PREPARE_STEP_IN_IF_STEPPING(function) = if (%_DebugIsActive() != 0) %DebugPrepareStepInIfStepping(function);
317 318
318 # SharedFlag equivalents 319 # SharedFlag equivalents
319 define kNotShared = false; 320 define kNotShared = false;
320 define kShared = true; 321 define kShared = true;
OLDNEW
« no previous file with comments | « src/d8.js ('k') | src/js/proxy.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698