| OLD | NEW |
| 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 29 matching lines...) Expand all Loading... |
| 40 // release and debug mode. | 40 // release and debug mode. |
| 41 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST. | 41 // This macro should only be used by the macro RUNTIME_FUNCTION_LIST. |
| 42 | 42 |
| 43 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused | 43 // WARNING: RUNTIME_FUNCTION_LIST_ALWAYS_* is a very large macro that caused |
| 44 // MSVC Intellisense to crash. It was broken into two macros to work around | 44 // MSVC Intellisense to crash. It was broken into two macros to work around |
| 45 // this problem. Please avoid large recursive macros whenever possible. | 45 // this problem. Please avoid large recursive macros whenever possible. |
| 46 #define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ | 46 #define RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \ |
| 47 /* Property access */ \ | 47 /* Property access */ \ |
| 48 F(GetProperty, 2, 1) \ | 48 F(GetProperty, 2, 1) \ |
| 49 F(KeyedGetProperty, 2, 1) \ | 49 F(KeyedGetProperty, 2, 1) \ |
| 50 F(DeleteProperty, 2, 1) \ | 50 F(DeleteProperty, 3, 1) \ |
| 51 F(HasLocalProperty, 2, 1) \ | 51 F(HasLocalProperty, 2, 1) \ |
| 52 F(HasProperty, 2, 1) \ | 52 F(HasProperty, 2, 1) \ |
| 53 F(HasElement, 2, 1) \ | 53 F(HasElement, 2, 1) \ |
| 54 F(IsPropertyEnumerable, 2, 1) \ | 54 F(IsPropertyEnumerable, 2, 1) \ |
| 55 F(GetPropertyNames, 1, 1) \ | 55 F(GetPropertyNames, 1, 1) \ |
| 56 F(GetPropertyNamesFast, 1, 1) \ | 56 F(GetPropertyNamesFast, 1, 1) \ |
| 57 F(GetLocalPropertyNames, 1, 1) \ | 57 F(GetLocalPropertyNames, 1, 1) \ |
| 58 F(GetLocalElementNames, 1, 1) \ | 58 F(GetLocalElementNames, 1, 1) \ |
| 59 F(GetInterceptorInfo, 1, 1) \ | 59 F(GetInterceptorInfo, 1, 1) \ |
| 60 F(GetNamedInterceptorPropertyNames, 1, 1) \ | 60 F(GetNamedInterceptorPropertyNames, 1, 1) \ |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 F(NumberAdd, 2, 1) \ | 123 F(NumberAdd, 2, 1) \ |
| 124 F(NumberSub, 2, 1) \ | 124 F(NumberSub, 2, 1) \ |
| 125 F(NumberMul, 2, 1) \ | 125 F(NumberMul, 2, 1) \ |
| 126 F(NumberDiv, 2, 1) \ | 126 F(NumberDiv, 2, 1) \ |
| 127 F(NumberMod, 2, 1) \ | 127 F(NumberMod, 2, 1) \ |
| 128 F(NumberUnaryMinus, 1, 1) \ | 128 F(NumberUnaryMinus, 1, 1) \ |
| 129 F(NumberAlloc, 0, 1) \ | 129 F(NumberAlloc, 0, 1) \ |
| 130 \ | 130 \ |
| 131 F(StringAdd, 2, 1) \ | 131 F(StringAdd, 2, 1) \ |
| 132 F(StringBuilderConcat, 3, 1) \ | 132 F(StringBuilderConcat, 3, 1) \ |
| 133 F(StringBuilderJoin, 3, 1) \ |
| 133 \ | 134 \ |
| 134 /* Bit operations */ \ | 135 /* Bit operations */ \ |
| 135 F(NumberOr, 2, 1) \ | 136 F(NumberOr, 2, 1) \ |
| 136 F(NumberAnd, 2, 1) \ | 137 F(NumberAnd, 2, 1) \ |
| 137 F(NumberXor, 2, 1) \ | 138 F(NumberXor, 2, 1) \ |
| 138 F(NumberNot, 1, 1) \ | 139 F(NumberNot, 1, 1) \ |
| 139 \ | 140 \ |
| 140 F(NumberShl, 2, 1) \ | 141 F(NumberShl, 2, 1) \ |
| 141 F(NumberShr, 2, 1) \ | 142 F(NumberShr, 2, 1) \ |
| 142 F(NumberSar, 2, 1) \ | 143 F(NumberSar, 2, 1) \ |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 \ | 236 \ |
| 236 /* Globals */ \ | 237 /* Globals */ \ |
| 237 F(CompileString, 1, 1) \ | 238 F(CompileString, 1, 1) \ |
| 238 F(GlobalPrint, 1, 1) \ | 239 F(GlobalPrint, 1, 1) \ |
| 239 \ | 240 \ |
| 240 /* Eval */ \ | 241 /* Eval */ \ |
| 241 F(GlobalReceiver, 1, 1) \ | 242 F(GlobalReceiver, 1, 1) \ |
| 242 F(ResolvePossiblyDirectEval, 4, 2) \ | 243 F(ResolvePossiblyDirectEval, 4, 2) \ |
| 243 F(ResolvePossiblyDirectEvalNoLookup, 4, 2) \ | 244 F(ResolvePossiblyDirectEvalNoLookup, 4, 2) \ |
| 244 \ | 245 \ |
| 245 F(SetProperty, -1 /* 3 or 4 */, 1) \ | 246 F(SetProperty, -1 /* 4 or 5 */, 1) \ |
| 246 F(DefineOrRedefineDataProperty, 4, 1) \ | 247 F(DefineOrRedefineDataProperty, 4, 1) \ |
| 247 F(DefineOrRedefineAccessorProperty, 5, 1) \ | 248 F(DefineOrRedefineAccessorProperty, 5, 1) \ |
| 248 F(IgnoreAttributesAndSetProperty, -1 /* 3 or 4 */, 1) \ | 249 F(IgnoreAttributesAndSetProperty, -1 /* 3 or 4 */, 1) \ |
| 249 \ | 250 \ |
| 250 /* Arrays */ \ | 251 /* Arrays */ \ |
| 251 F(RemoveArrayHoles, 2, 1) \ | 252 F(RemoveArrayHoles, 2, 1) \ |
| 252 F(GetArrayKeys, 2, 1) \ | 253 F(GetArrayKeys, 2, 1) \ |
| 253 F(MoveArrayContents, 2, 1) \ | 254 F(MoveArrayContents, 2, 1) \ |
| 254 F(EstimateNumberOfElements, 1, 1) \ | 255 F(EstimateNumberOfElements, 1, 1) \ |
| 255 F(SwapElements, 3, 1) \ | 256 F(SwapElements, 3, 1) \ |
| (...skipping 26 matching lines...) Expand all Loading... |
| 282 F(StackGuard, 0, 1) \ | 283 F(StackGuard, 0, 1) \ |
| 283 F(PromoteScheduledException, 0, 1) \ | 284 F(PromoteScheduledException, 0, 1) \ |
| 284 \ | 285 \ |
| 285 /* Contexts */ \ | 286 /* Contexts */ \ |
| 286 F(NewContext, 1, 1) \ | 287 F(NewContext, 1, 1) \ |
| 287 F(PushContext, 1, 1) \ | 288 F(PushContext, 1, 1) \ |
| 288 F(PushCatchContext, 1, 1) \ | 289 F(PushCatchContext, 1, 1) \ |
| 289 F(DeleteContextSlot, 2, 1) \ | 290 F(DeleteContextSlot, 2, 1) \ |
| 290 F(LoadContextSlot, 2, 2) \ | 291 F(LoadContextSlot, 2, 2) \ |
| 291 F(LoadContextSlotNoReferenceError, 2, 2) \ | 292 F(LoadContextSlotNoReferenceError, 2, 2) \ |
| 292 F(StoreContextSlot, 3, 1) \ | 293 F(StoreContextSlot, 4, 1) \ |
| 293 \ | 294 \ |
| 294 /* Declarations and initialization */ \ | 295 /* Declarations and initialization */ \ |
| 295 F(DeclareGlobals, 3, 1) \ | 296 F(DeclareGlobals, 4, 1) \ |
| 296 F(DeclareContextSlot, 4, 1) \ | 297 F(DeclareContextSlot, 4, 1) \ |
| 297 F(InitializeVarGlobal, -1 /* 1 or 2 */, 1) \ | 298 F(InitializeVarGlobal, -1 /* 2 or 3 */, 1) \ |
| 298 F(InitializeConstGlobal, 2, 1) \ | 299 F(InitializeConstGlobal, 2, 1) \ |
| 299 F(InitializeConstContextSlot, 3, 1) \ | 300 F(InitializeConstContextSlot, 3, 1) \ |
| 300 F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ | 301 F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ |
| 301 \ | 302 \ |
| 302 /* Debugging */ \ | 303 /* Debugging */ \ |
| 303 F(DebugPrint, 1, 1) \ | 304 F(DebugPrint, 1, 1) \ |
| 304 F(DebugTrace, 0, 1) \ | 305 F(DebugTrace, 0, 1) \ |
| 305 F(TraceEnter, 0, 1) \ | 306 F(TraceEnter, 0, 1) \ |
| 306 F(TraceExit, 1, 1) \ | 307 F(TraceExit, 1, 1) \ |
| 307 F(Abort, 2, 1) \ | 308 F(Abort, 2, 1) \ |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 F(LiveEditFunctionSetScript, 2, 1) \ | 371 F(LiveEditFunctionSetScript, 2, 1) \ |
| 371 F(LiveEditReplaceRefToNestedFunction, 3, 1) \ | 372 F(LiveEditReplaceRefToNestedFunction, 3, 1) \ |
| 372 F(LiveEditPatchFunctionPositions, 2, 1) \ | 373 F(LiveEditPatchFunctionPositions, 2, 1) \ |
| 373 F(LiveEditCheckAndDropActivations, 2, 1) \ | 374 F(LiveEditCheckAndDropActivations, 2, 1) \ |
| 374 F(LiveEditCompareStrings, 2, 1) \ | 375 F(LiveEditCompareStrings, 2, 1) \ |
| 375 F(GetFunctionCodePositionFromSource, 2, 1) \ | 376 F(GetFunctionCodePositionFromSource, 2, 1) \ |
| 376 F(ExecuteInDebugContext, 2, 1) \ | 377 F(ExecuteInDebugContext, 2, 1) \ |
| 377 \ | 378 \ |
| 378 F(SetFlags, 1, 1) \ | 379 F(SetFlags, 1, 1) \ |
| 379 F(CollectGarbage, 1, 1) \ | 380 F(CollectGarbage, 1, 1) \ |
| 380 F(GetHeapUsage, 0, 1) | 381 F(GetHeapUsage, 0, 1) \ |
| 382 \ |
| 383 /* LiveObjectList support*/ \ |
| 384 F(HasLOLEnabled, 0, 1) \ |
| 385 F(CaptureLOL, 0, 1) \ |
| 386 F(DeleteLOL, 1, 1) \ |
| 387 F(DumpLOL, 5, 1) \ |
| 388 F(GetLOLObj, 1, 1) \ |
| 389 F(GetLOLObjId, 1, 1) \ |
| 390 F(GetLOLObjRetainers, 6, 1) \ |
| 391 F(GetLOLPath, 3, 1) \ |
| 392 F(InfoLOL, 2, 1) \ |
| 393 F(PrintLOLObj, 1, 1) \ |
| 394 F(ResetLOL, 0, 1) \ |
| 395 F(SummarizeLOL, 3, 1) |
| 381 | 396 |
| 382 #else | 397 #else |
| 383 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) | 398 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) |
| 384 #endif | 399 #endif |
| 385 | 400 |
| 386 #ifdef ENABLE_LOGGING_AND_PROFILING | 401 #ifdef ENABLE_LOGGING_AND_PROFILING |
| 387 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \ | 402 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \ |
| 388 F(ProfilerResume, 2, 1) \ | 403 F(ProfilerResume, 2, 1) \ |
| 389 F(ProfilerPause, 2, 1) | 404 F(ProfilerPause, 2, 1) |
| 390 #else | 405 #else |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 587 Handle<Object> object, | 602 Handle<Object> object, |
| 588 uint32_t index); | 603 uint32_t index); |
| 589 MUST_USE_RESULT static MaybeObject* GetElement(Handle<Object> object, | 604 MUST_USE_RESULT static MaybeObject* GetElement(Handle<Object> object, |
| 590 uint32_t index); | 605 uint32_t index); |
| 591 | 606 |
| 592 MUST_USE_RESULT static MaybeObject* SetObjectProperty( | 607 MUST_USE_RESULT static MaybeObject* SetObjectProperty( |
| 593 Isolate* isolate, | 608 Isolate* isolate, |
| 594 Handle<Object> object, | 609 Handle<Object> object, |
| 595 Handle<Object> key, | 610 Handle<Object> key, |
| 596 Handle<Object> value, | 611 Handle<Object> value, |
| 597 PropertyAttributes attr); | 612 PropertyAttributes attr, |
| 613 StrictModeFlag strict); |
| 598 | 614 |
| 599 MUST_USE_RESULT static MaybeObject* ForceSetObjectProperty( | 615 MUST_USE_RESULT static MaybeObject* ForceSetObjectProperty( |
| 600 Isolate* isolate, | 616 Isolate* isolate, |
| 601 Handle<JSObject> object, | 617 Handle<JSObject> object, |
| 602 Handle<Object> key, | 618 Handle<Object> key, |
| 603 Handle<Object> value, | 619 Handle<Object> value, |
| 604 PropertyAttributes attr); | 620 PropertyAttributes attr); |
| 605 | 621 |
| 606 MUST_USE_RESULT static MaybeObject* ForceDeleteObjectProperty( | 622 MUST_USE_RESULT static MaybeObject* ForceDeleteObjectProperty( |
| 607 Isolate* isolate, | 623 Isolate* isolate, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 618 Handle<Script> script, | 634 Handle<Script> script, |
| 619 int position); | 635 int position); |
| 620 | 636 |
| 621 // Helper functions used stubs. | 637 // Helper functions used stubs. |
| 622 static void PerformGC(Object* result); | 638 static void PerformGC(Object* result); |
| 623 }; | 639 }; |
| 624 | 640 |
| 625 } } // namespace v8::internal | 641 } } // namespace v8::internal |
| 626 | 642 |
| 627 #endif // V8_RUNTIME_H_ | 643 #endif // V8_RUNTIME_H_ |
| OLD | NEW |