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

Side by Side Diff: src/runtime.h

Issue 6529032: Merge 6168:6800 from bleeding_edge to experimental/gc branch. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/gc/
Patch Set: Created 9 years, 10 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 | « src/rewriter.cc ('k') | src/runtime.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 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 27 matching lines...) Expand all
38 // release and debug mode. 38 // release and debug mode.
39 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST. 39 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST.
40 40
41 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused 41 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused
42 // MSVC Intellisense to crash. It was broken into two macros to work around 42 // MSVC Intellisense to crash. It was broken into two macros to work around
43 // this problem. Please avoid large recursive macros whenever possible. 43 // this problem. Please avoid large recursive macros whenever possible.
44 #define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ 44 #define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
45 /* Property access */ \ 45 /* Property access */ \
46 F(GetProperty, 2, 1) \ 46 F(GetProperty, 2, 1) \
47 F(KeyedGetProperty, 2, 1) \ 47 F(KeyedGetProperty, 2, 1) \
48 F(DeleteProperty, 2, 1) \ 48 F(DeleteProperty, 3, 1) \
49 F(HasLocalProperty, 2, 1) \ 49 F(HasLocalProperty, 2, 1) \
50 F(HasProperty, 2, 1) \ 50 F(HasProperty, 2, 1) \
51 F(HasElement, 2, 1) \ 51 F(HasElement, 2, 1) \
52 F(IsPropertyEnumerable, 2, 1) \ 52 F(IsPropertyEnumerable, 2, 1) \
53 F(GetPropertyNames, 1, 1) \ 53 F(GetPropertyNames, 1, 1) \
54 F(GetPropertyNamesFast, 1, 1) \ 54 F(GetPropertyNamesFast, 1, 1) \
55 F(GetLocalPropertyNames, 1, 1) \ 55 F(GetLocalPropertyNames, 1, 1) \
56 F(GetLocalElementNames, 1, 1) \ 56 F(GetLocalElementNames, 1, 1) \
57 F(GetInterceptorInfo, 1, 1) \ 57 F(GetInterceptorInfo, 1, 1) \
58 F(GetNamedInterceptorPropertyNames, 1, 1) \ 58 F(GetNamedInterceptorPropertyNames, 1, 1) \
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 F(StringFromCharCodeArray, 1, 1) \ 100 F(StringFromCharCodeArray, 1, 1) \
101 F(StringParseInt, 2, 1) \ 101 F(StringParseInt, 2, 1) \
102 F(StringParseFloat, 1, 1) \ 102 F(StringParseFloat, 1, 1) \
103 F(StringToLowerCase, 1, 1) \ 103 F(StringToLowerCase, 1, 1) \
104 F(StringToUpperCase, 1, 1) \ 104 F(StringToUpperCase, 1, 1) \
105 F(StringSplit, 3, 1) \ 105 F(StringSplit, 3, 1) \
106 F(CharFromCode, 1, 1) \ 106 F(CharFromCode, 1, 1) \
107 F(URIEscape, 1, 1) \ 107 F(URIEscape, 1, 1) \
108 F(URIUnescape, 1, 1) \ 108 F(URIUnescape, 1, 1) \
109 F(QuoteJSONString, 1, 1) \ 109 F(QuoteJSONString, 1, 1) \
110 F(QuoteJSONStringComma, 1, 1) \
110 \ 111 \
111 F(NumberToString, 1, 1) \ 112 F(NumberToString, 1, 1) \
112 F(NumberToStringSkipCache, 1, 1) \ 113 F(NumberToStringSkipCache, 1, 1) \
113 F(NumberToInteger, 1, 1) \ 114 F(NumberToInteger, 1, 1) \
114 F(NumberToIntegerMapMinusZero, 1, 1) \ 115 F(NumberToIntegerMapMinusZero, 1, 1) \
115 F(NumberToJSUint32, 1, 1) \ 116 F(NumberToJSUint32, 1, 1) \
116 F(NumberToJSInt32, 1, 1) \ 117 F(NumberToJSInt32, 1, 1) \
117 F(NumberToSmi, 1, 1) \ 118 F(NumberToSmi, 1, 1) \
118 F(AllocateHeapNumber, 0, 1) \ 119 F(AllocateHeapNumber, 0, 1) \
119 \ 120 \
120 /* Arithmetic operations */ \ 121 /* Arithmetic operations */ \
121 F(NumberAdd, 2, 1) \ 122 F(NumberAdd, 2, 1) \
122 F(NumberSub, 2, 1) \ 123 F(NumberSub, 2, 1) \
123 F(NumberMul, 2, 1) \ 124 F(NumberMul, 2, 1) \
124 F(NumberDiv, 2, 1) \ 125 F(NumberDiv, 2, 1) \
125 F(NumberMod, 2, 1) \ 126 F(NumberMod, 2, 1) \
126 F(NumberUnaryMinus, 1, 1) \ 127 F(NumberUnaryMinus, 1, 1) \
127 F(NumberAlloc, 0, 1) \ 128 F(NumberAlloc, 0, 1) \
128 \ 129 \
129 F(StringAdd, 2, 1) \ 130 F(StringAdd, 2, 1) \
130 F(StringBuilderConcat, 3, 1) \ 131 F(StringBuilderConcat, 3, 1) \
132 F(StringBuilderJoin, 3, 1) \
131 \ 133 \
132 /* Bit operations */ \ 134 /* Bit operations */ \
133 F(NumberOr, 2, 1) \ 135 F(NumberOr, 2, 1) \
134 F(NumberAnd, 2, 1) \ 136 F(NumberAnd, 2, 1) \
135 F(NumberXor, 2, 1) \ 137 F(NumberXor, 2, 1) \
136 F(NumberNot, 1, 1) \ 138 F(NumberNot, 1, 1) \
137 \ 139 \
138 F(NumberShl, 2, 1) \ 140 F(NumberShl, 2, 1) \
139 F(NumberShr, 2, 1) \ 141 F(NumberShr, 2, 1) \
140 F(NumberSar, 2, 1) \ 142 F(NumberSar, 2, 1) \
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 F(DateYMDFromTime, 2, 1) \ 232 F(DateYMDFromTime, 2, 1) \
231 \ 233 \
232 /* Numbers */ \ 234 /* Numbers */ \
233 \ 235 \
234 /* Globals */ \ 236 /* Globals */ \
235 F(CompileString, 1, 1) \ 237 F(CompileString, 1, 1) \
236 F(GlobalPrint, 1, 1) \ 238 F(GlobalPrint, 1, 1) \
237 \ 239 \
238 /* Eval */ \ 240 /* Eval */ \
239 F(GlobalReceiver, 1, 1) \ 241 F(GlobalReceiver, 1, 1) \
240 F(ResolvePossiblyDirectEval, 3, 2) \ 242 F(ResolvePossiblyDirectEval, 4, 2) \
241 F(ResolvePossiblyDirectEvalNoLookup, 3, 2) \ 243 F(ResolvePossiblyDirectEvalNoLookup, 4, 2) \
242 \ 244 \
243 F(SetProperty, -1 /* 3 or 4 */, 1) \ 245 F(SetProperty, -1 /* 3 or 4 */, 1) \
244 F(DefineOrRedefineDataProperty, 4, 1) \ 246 F(DefineOrRedefineDataProperty, 4, 1) \
245 F(DefineOrRedefineAccessorProperty, 5, 1) \ 247 F(DefineOrRedefineAccessorProperty, 5, 1) \
246 F(IgnoreAttributesAndSetProperty, -1 /* 3 or 4 */, 1) \ 248 F(IgnoreAttributesAndSetProperty, -1 /* 3 or 4 */, 1) \
247 \ 249 \
248 /* Arrays */ \ 250 /* Arrays */ \
249 F(RemoveArrayHoles, 2, 1) \ 251 F(RemoveArrayHoles, 2, 1) \
250 F(GetArrayKeys, 2, 1) \ 252 F(GetArrayKeys, 2, 1) \
251 F(MoveArrayContents, 2, 1) \ 253 F(MoveArrayContents, 2, 1) \
(...skipping 25 matching lines...) Expand all
277 F(Throw, 1, 1) \ 279 F(Throw, 1, 1) \
278 F(ReThrow, 1, 1) \ 280 F(ReThrow, 1, 1) \
279 F(ThrowReferenceError, 1, 1) \ 281 F(ThrowReferenceError, 1, 1) \
280 F(StackGuard, 0, 1) \ 282 F(StackGuard, 0, 1) \
281 F(PromoteScheduledException, 0, 1) \ 283 F(PromoteScheduledException, 0, 1) \
282 \ 284 \
283 /* Contexts */ \ 285 /* Contexts */ \
284 F(NewContext, 1, 1) \ 286 F(NewContext, 1, 1) \
285 F(PushContext, 1, 1) \ 287 F(PushContext, 1, 1) \
286 F(PushCatchContext, 1, 1) \ 288 F(PushCatchContext, 1, 1) \
287 F(LookupContext, 2, 1) \ 289 F(DeleteContextSlot, 2, 1) \
288 F(LoadContextSlot, 2, 2) \ 290 F(LoadContextSlot, 2, 2) \
289 F(LoadContextSlotNoReferenceError, 2, 2) \ 291 F(LoadContextSlotNoReferenceError, 2, 2) \
290 F(StoreContextSlot, 3, 1) \ 292 F(StoreContextSlot, 3, 1) \
291 \ 293 \
292 /* Declarations and initialization */ \ 294 /* Declarations and initialization */ \
293 F(DeclareGlobals, 3, 1) \ 295 F(DeclareGlobals, 3, 1) \
294 F(DeclareContextSlot, 4, 1) \ 296 F(DeclareContextSlot, 4, 1) \
295 F(InitializeVarGlobal, -1 /* 1 or 2 */, 1) \ 297 F(InitializeVarGlobal, -1 /* 1 or 2 */, 1) \
296 F(InitializeConstGlobal, 2, 1) \ 298 F(InitializeConstGlobal, 2, 1) \
297 F(InitializeConstContextSlot, 3, 1) \ 299 F(InitializeConstContextSlot, 3, 1) \
298 F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ 300 F(OptimizeObjectForAddingMultipleProperties, 2, 1) \
299 \ 301 \
300 /* Debugging */ \ 302 /* Debugging */ \
301 F(DebugPrint, 1, 1) \ 303 F(DebugPrint, 1, 1) \
302 F(DebugTrace, 0, 1) \ 304 F(DebugTrace, 0, 1) \
303 F(TraceEnter, 0, 1) \ 305 F(TraceEnter, 0, 1) \
304 F(TraceExit, 1, 1) \ 306 F(TraceExit, 1, 1) \
305 F(Abort, 2, 1) \ 307 F(Abort, 2, 1) \
306 /* Logging */ \ 308 /* Logging */ \
307 F(Log, 2, 1) \ 309 F(Log, 2, 1) \
308 /* ES5 */ \ 310 /* ES5 */ \
309 F(LocalKeys, 1, 1) \ 311 F(LocalKeys, 1, 1) \
310 /* Cache suport */ \ 312 /* Cache suport */ \
311 F(GetFromCache, 2, 1) \ 313 F(GetFromCache, 2, 1) \
312 \ 314 \
315 /* Message objects */ \
316 F(NewMessageObject, 2, 1) \
317 F(MessageGetType, 1, 1) \
318 F(MessageGetArguments, 1, 1) \
319 F(MessageGetStartPosition, 1, 1) \
320 F(MessageGetScript, 1, 1) \
321 \
313 /* Pseudo functions - handled as macros by parser */ \ 322 /* Pseudo functions - handled as macros by parser */ \
314 F(IS_VAR, 1, 1) 323 F(IS_VAR, 1, 1)
315 324
316 #ifdef ENABLE_DEBUGGER_SUPPORT 325 #ifdef ENABLE_DEBUGGER_SUPPORT
317 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ 326 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \
318 /* Debugger support*/ \ 327 /* Debugger support*/ \
319 F(DebugBreak, 0, 1) \ 328 F(DebugBreak, 0, 1) \
320 F(SetDebugEventListener, 2, 1) \ 329 F(SetDebugEventListener, 2, 1) \
321 F(Break, 0, 1) \ 330 F(Break, 0, 1) \
322 F(DebugGetPropertyDetails, 2, 1) \ 331 F(DebugGetPropertyDetails, 2, 1) \
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 F(FunctionGetInferredName, 1, 1) \ 364 F(FunctionGetInferredName, 1, 1) \
356 F(LiveEditFindSharedFunctionInfosForScript, 1, 1) \ 365 F(LiveEditFindSharedFunctionInfosForScript, 1, 1) \
357 F(LiveEditGatherCompileInfo, 2, 1) \ 366 F(LiveEditGatherCompileInfo, 2, 1) \
358 F(LiveEditReplaceScript, 3, 1) \ 367 F(LiveEditReplaceScript, 3, 1) \
359 F(LiveEditReplaceFunctionCode, 2, 1) \ 368 F(LiveEditReplaceFunctionCode, 2, 1) \
360 F(LiveEditFunctionSourceUpdated, 1, 1) \ 369 F(LiveEditFunctionSourceUpdated, 1, 1) \
361 F(LiveEditFunctionSetScript, 2, 1) \ 370 F(LiveEditFunctionSetScript, 2, 1) \
362 F(LiveEditReplaceRefToNestedFunction, 3, 1) \ 371 F(LiveEditReplaceRefToNestedFunction, 3, 1) \
363 F(LiveEditPatchFunctionPositions, 2, 1) \ 372 F(LiveEditPatchFunctionPositions, 2, 1) \
364 F(LiveEditCheckAndDropActivations, 2, 1) \ 373 F(LiveEditCheckAndDropActivations, 2, 1) \
365 F(LiveEditCompareStringsLinewise, 2, 1) \ 374 F(LiveEditCompareStrings, 2, 1) \
366 F(GetFunctionCodePositionFromSource, 2, 1) \ 375 F(GetFunctionCodePositionFromSource, 2, 1) \
367 F(ExecuteInDebugContext, 2, 1) 376 F(ExecuteInDebugContext, 2, 1) \
377 \
378 F(SetFlags, 1, 1) \
379 F(CollectGarbage, 1, 1) \
380 F(GetHeapUsage, 0, 1)
381
368 #else 382 #else
369 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) 383 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F)
370 #endif 384 #endif
371 385
372 #ifdef ENABLE_LOGGING_AND_PROFILING 386 #ifdef ENABLE_LOGGING_AND_PROFILING
373 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \ 387 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \
374 F(ProfilerResume, 2, 1) \ 388 F(ProfilerResume, 2, 1) \
375 F(ProfilerPause, 2, 1) 389 F(ProfilerPause, 2, 1)
376 #else 390 #else
377 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) 391 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F)
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 int position); 559 int position);
546 560
547 // Helper functions used stubs. 561 // Helper functions used stubs.
548 static void PerformGC(Object* result); 562 static void PerformGC(Object* result);
549 }; 563 };
550 564
551 565
552 } } // namespace v8::internal 566 } } // namespace v8::internal
553 567
554 #endif // V8_RUNTIME_H_ 568 #endif // V8_RUNTIME_H_
OLDNEW
« no previous file with comments | « src/rewriter.cc ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698