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

Side by Side Diff: src/runtime.h

Issue 112863002: Merge bleeding_edge 18021:18297 (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « src/regexp-macro-assembler-tracer.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 F(GetPropertyNamesFast, 1, 1) \ 57 F(GetPropertyNamesFast, 1, 1) \
58 F(GetLocalPropertyNames, 2, 1) \ 58 F(GetLocalPropertyNames, 2, 1) \
59 F(GetLocalElementNames, 1, 1) \ 59 F(GetLocalElementNames, 1, 1) \
60 F(GetInterceptorInfo, 1, 1) \ 60 F(GetInterceptorInfo, 1, 1) \
61 F(GetNamedInterceptorPropertyNames, 1, 1) \ 61 F(GetNamedInterceptorPropertyNames, 1, 1) \
62 F(GetIndexedInterceptorElementNames, 1, 1) \ 62 F(GetIndexedInterceptorElementNames, 1, 1) \
63 F(GetArgumentsProperty, 1, 1) \ 63 F(GetArgumentsProperty, 1, 1) \
64 F(ToFastProperties, 1, 1) \ 64 F(ToFastProperties, 1, 1) \
65 F(FinishArrayPrototypeSetup, 1, 1) \ 65 F(FinishArrayPrototypeSetup, 1, 1) \
66 F(SpecialArrayFunctions, 1, 1) \ 66 F(SpecialArrayFunctions, 1, 1) \
67 F(IsCallable, 1, 1) \
67 F(IsClassicModeFunction, 1, 1) \ 68 F(IsClassicModeFunction, 1, 1) \
68 F(GetDefaultReceiver, 1, 1) \ 69 F(GetDefaultReceiver, 1, 1) \
69 \ 70 \
70 F(GetPrototype, 1, 1) \ 71 F(GetPrototype, 1, 1) \
71 F(SetPrototype, 2, 1) \ 72 F(SetPrototype, 2, 1) \
72 F(IsInPrototypeChain, 2, 1) \ 73 F(IsInPrototypeChain, 2, 1) \
73 \ 74 \
74 F(GetOwnProperty, 2, 1) \ 75 F(GetOwnProperty, 2, 1) \
75 \ 76 \
76 F(IsExtensible, 1, 1) \ 77 F(IsExtensible, 1, 1) \
(...skipping 16 matching lines...) Expand all
93 F(NotifyStubFailure, 0, 1) \ 94 F(NotifyStubFailure, 0, 1) \
94 F(DeoptimizeFunction, 1, 1) \ 95 F(DeoptimizeFunction, 1, 1) \
95 F(ClearFunctionTypeFeedback, 1, 1) \ 96 F(ClearFunctionTypeFeedback, 1, 1) \
96 F(RunningInSimulator, 0, 1) \ 97 F(RunningInSimulator, 0, 1) \
97 F(IsConcurrentRecompilationSupported, 0, 1) \ 98 F(IsConcurrentRecompilationSupported, 0, 1) \
98 F(OptimizeFunctionOnNextCall, -1, 1) \ 99 F(OptimizeFunctionOnNextCall, -1, 1) \
99 F(NeverOptimizeFunction, 1, 1) \ 100 F(NeverOptimizeFunction, 1, 1) \
100 F(GetOptimizationStatus, -1, 1) \ 101 F(GetOptimizationStatus, -1, 1) \
101 F(GetOptimizationCount, 1, 1) \ 102 F(GetOptimizationCount, 1, 1) \
102 F(UnblockConcurrentRecompilation, 0, 1) \ 103 F(UnblockConcurrentRecompilation, 0, 1) \
103 F(CompileForOnStackReplacement, 2, 1) \ 104 F(CompileForOnStackReplacement, 1, 1) \
104 F(SetAllocationTimeout, 2, 1) \ 105 F(SetAllocationTimeout, 2, 1) \
105 F(AllocateInNewSpace, 1, 1) \ 106 F(AllocateInNewSpace, 1, 1) \
106 F(AllocateInTargetSpace, 2, 1) \ 107 F(AllocateInTargetSpace, 2, 1) \
107 F(SetNativeFlag, 1, 1) \ 108 F(SetNativeFlag, 1, 1) \
108 F(SetInlineBuiltinFlag, 1, 1) \ 109 F(SetInlineBuiltinFlag, 1, 1) \
109 F(StoreArrayLiteralElement, 5, 1) \ 110 F(StoreArrayLiteralElement, 5, 1) \
110 F(DebugCallbackSupportsStepping, 1, 1) \ 111 F(DebugCallbackSupportsStepping, 1, 1) \
111 F(DebugPrepareStepInIfStepping, 1, 1) \ 112 F(DebugPrepareStepInIfStepping, 1, 1) \
112 F(FlattenString, 1, 1) \ 113 F(FlattenString, 1, 1) \
113 F(MigrateInstance, 1, 1) \ 114 F(MigrateInstance, 1, 1) \
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 \ 173 \
173 F(NumberCompare, 3, 1) \ 174 F(NumberCompare, 3, 1) \
174 F(SmiLexicographicCompare, 2, 1) \ 175 F(SmiLexicographicCompare, 2, 1) \
175 F(StringCompare, 2, 1) \ 176 F(StringCompare, 2, 1) \
176 \ 177 \
177 /* Math */ \ 178 /* Math */ \
178 F(Math_acos, 1, 1) \ 179 F(Math_acos, 1, 1) \
179 F(Math_asin, 1, 1) \ 180 F(Math_asin, 1, 1) \
180 F(Math_atan, 1, 1) \ 181 F(Math_atan, 1, 1) \
181 F(Math_atan2, 2, 1) \ 182 F(Math_atan2, 2, 1) \
182 F(Math_ceil, 1, 1) \
183 F(Math_cos, 1, 1) \
184 F(Math_exp, 1, 1) \ 183 F(Math_exp, 1, 1) \
185 F(Math_floor, 1, 1) \ 184 F(Math_floor, 1, 1) \
186 F(Math_log, 1, 1) \ 185 F(Math_log, 1, 1) \
187 F(Math_pow, 2, 1) \ 186 F(Math_pow, 2, 1) \
188 F(Math_pow_cfunction, 2, 1) \ 187 F(Math_pow_cfunction, 2, 1) \
189 F(RoundNumber, 1, 1) \ 188 F(RoundNumber, 1, 1) \
190 F(Math_sin, 1, 1) \
191 F(Math_sqrt, 1, 1) \ 189 F(Math_sqrt, 1, 1) \
192 F(Math_tan, 1, 1) \
193 \ 190 \
194 /* Regular expressions */ \ 191 /* Regular expressions */ \
195 F(RegExpCompile, 3, 1) \ 192 F(RegExpCompile, 3, 1) \
196 F(RegExpExec, 4, 1) \ 193 F(RegExpExec, 4, 1) \
197 F(RegExpExecMultiple, 4, 1) \ 194 F(RegExpExecMultiple, 4, 1) \
198 F(RegExpInitializeObject, 5, 1) \ 195 F(RegExpInitializeObject, 5, 1) \
199 F(RegExpConstructResult, 3, 1) \ 196 F(RegExpConstructResult, 3, 1) \
200 \ 197 \
201 /* JSON */ \ 198 /* JSON */ \
202 F(ParseJson, 1, 1) \ 199 F(ParseJson, 1, 1) \
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 F(EstimateNumberOfElements, 1, 1) \ 290 F(EstimateNumberOfElements, 1, 1) \
294 F(ArrayConstructor, -1, 1) \ 291 F(ArrayConstructor, -1, 1) \
295 F(InternalArrayConstructor, -1, 1) \ 292 F(InternalArrayConstructor, -1, 1) \
296 \ 293 \
297 /* Getters and Setters */ \ 294 /* Getters and Setters */ \
298 F(LookupAccessor, 3, 1) \ 295 F(LookupAccessor, 3, 1) \
299 \ 296 \
300 /* Literals */ \ 297 /* Literals */ \
301 F(MaterializeRegExpLiteral, 4, 1)\ 298 F(MaterializeRegExpLiteral, 4, 1)\
302 F(CreateObjectLiteral, 4, 1) \ 299 F(CreateObjectLiteral, 4, 1) \
303 F(CreateArrayLiteral, 3, 1) \ 300 F(CreateArrayLiteral, 4, 1) \
301 F(CreateArrayLiteralStubBailout, 3, 1) \
304 \ 302 \
305 /* Harmony generators */ \ 303 /* Harmony generators */ \
306 F(CreateJSGeneratorObject, 0, 1) \ 304 F(CreateJSGeneratorObject, 0, 1) \
307 F(SuspendJSGeneratorObject, 1, 1) \ 305 F(SuspendJSGeneratorObject, 1, 1) \
308 F(ResumeJSGeneratorObject, 3, 1) \ 306 F(ResumeJSGeneratorObject, 3, 1) \
309 F(ThrowGeneratorStateError, 1, 1) \ 307 F(ThrowGeneratorStateError, 1, 1) \
310 \ 308 \
311 /* ES5 */ \ 309 /* ES5 */ \
312 F(ObjectFreeze, 1, 1) \ 310 F(ObjectFreeze, 1, 1) \
313 \ 311 \
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 F(MapSet, 3, 1) \ 343 F(MapSet, 3, 1) \
346 F(MapGetSize, 1, 1) \ 344 F(MapGetSize, 1, 1) \
347 \ 345 \
348 /* Harmony weak maps and sets */ \ 346 /* Harmony weak maps and sets */ \
349 F(WeakCollectionInitialize, 1, 1) \ 347 F(WeakCollectionInitialize, 1, 1) \
350 F(WeakCollectionGet, 2, 1) \ 348 F(WeakCollectionGet, 2, 1) \
351 F(WeakCollectionHas, 2, 1) \ 349 F(WeakCollectionHas, 2, 1) \
352 F(WeakCollectionDelete, 2, 1) \ 350 F(WeakCollectionDelete, 2, 1) \
353 F(WeakCollectionSet, 3, 1) \ 351 F(WeakCollectionSet, 3, 1) \
354 \ 352 \
353 /* Harmony events */ \
354 F(SetMicrotaskPending, 1, 1) \
355 \
355 /* Harmony observe */ \ 356 /* Harmony observe */ \
356 F(IsObserved, 1, 1) \ 357 F(IsObserved, 1, 1) \
357 F(SetIsObserved, 1, 1) \ 358 F(SetIsObserved, 1, 1) \
358 F(SetObserverDeliveryPending, 0, 1) \
359 F(GetObservationState, 0, 1) \ 359 F(GetObservationState, 0, 1) \
360 F(ObservationWeakMapCreate, 0, 1) \ 360 F(ObservationWeakMapCreate, 0, 1) \
361 F(UnwrapGlobalProxy, 1, 1) \ 361 F(UnwrapGlobalProxy, 1, 1) \
362 F(IsAccessAllowedForObserver, 3, 1) \ 362 F(IsAccessAllowedForObserver, 3, 1) \
363 \ 363 \
364 /* Harmony typed arrays */ \ 364 /* Harmony typed arrays */ \
365 F(ArrayBufferInitialize, 2, 1)\ 365 F(ArrayBufferInitialize, 2, 1)\
366 F(ArrayBufferGetByteLength, 1, 1)\ 366 F(ArrayBufferGetByteLength, 1, 1)\
367 F(ArrayBufferSliceImpl, 3, 1) \ 367 F(ArrayBufferSliceImpl, 3, 1) \
368 F(ArrayBufferIsView, 1, 1) \ 368 F(ArrayBufferIsView, 1, 1) \
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 F(InitializeConstGlobal, 2, 1) \ 432 F(InitializeConstGlobal, 2, 1) \
433 F(InitializeConstContextSlot, 3, 1) \ 433 F(InitializeConstContextSlot, 3, 1) \
434 F(OptimizeObjectForAddingMultipleProperties, 2, 1) \ 434 F(OptimizeObjectForAddingMultipleProperties, 2, 1) \
435 \ 435 \
436 /* Debugging */ \ 436 /* Debugging */ \
437 F(DebugPrint, 1, 1) \ 437 F(DebugPrint, 1, 1) \
438 F(DebugTrace, 0, 1) \ 438 F(DebugTrace, 0, 1) \
439 F(TraceEnter, 0, 1) \ 439 F(TraceEnter, 0, 1) \
440 F(TraceExit, 1, 1) \ 440 F(TraceExit, 1, 1) \
441 F(Abort, 2, 1) \ 441 F(Abort, 2, 1) \
442 F(AbortJS, 1, 1) \
442 /* Logging */ \ 443 /* Logging */ \
443 F(Log, 2, 1) \ 444 F(Log, 2, 1) \
444 /* ES5 */ \ 445 /* ES5 */ \
445 F(LocalKeys, 1, 1) \ 446 F(LocalKeys, 1, 1) \
446 /* Cache suport */ \ 447 /* Cache suport */ \
447 F(GetFromCache, 2, 1) \ 448 F(GetFromCache, 2, 1) \
448 \ 449 \
449 /* Message objects */ \ 450 /* Message objects */ \
450 F(MessageGetStartPosition, 1, 1) \ 451 F(MessageGetStartPosition, 1, 1) \
451 F(MessageGetScript, 1, 1) \ 452 F(MessageGetScript, 1, 1) \
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 static bool SetupArrayBufferAllocatingData( 823 static bool SetupArrayBufferAllocatingData(
823 Isolate* isolate, 824 Isolate* isolate,
824 Handle<JSArrayBuffer> array_buffer, 825 Handle<JSArrayBuffer> array_buffer,
825 size_t allocated_length, 826 size_t allocated_length,
826 bool initialize = true); 827 bool initialize = true);
827 828
828 static void FreeArrayBuffer( 829 static void FreeArrayBuffer(
829 Isolate* isolate, 830 Isolate* isolate,
830 JSArrayBuffer* phantom_array_buffer); 831 JSArrayBuffer* phantom_array_buffer);
831 832
833 enum TypedArrayId {
834 // arrayIds below should be synchromized with typedarray.js natives.
835 ARRAY_ID_UINT8 = 1,
836 ARRAY_ID_INT8 = 2,
837 ARRAY_ID_UINT16 = 3,
838 ARRAY_ID_INT16 = 4,
839 ARRAY_ID_UINT32 = 5,
840 ARRAY_ID_INT32 = 6,
841 ARRAY_ID_FLOAT32 = 7,
842 ARRAY_ID_FLOAT64 = 8,
843 ARRAY_ID_UINT8C = 9
844 };
845
846 static void ArrayIdToTypeAndSize(int array_id,
847 ExternalArrayType *type, size_t *element_size);
848
832 // Helper functions used stubs. 849 // Helper functions used stubs.
833 static void PerformGC(Object* result, Isolate* isolate); 850 static void PerformGC(Object* result, Isolate* isolate);
834 851
835 // Used in runtime.cc and hydrogen's VisitArrayLiteral. 852 // Used in runtime.cc and hydrogen's VisitArrayLiteral.
836 static Handle<Object> CreateArrayLiteralBoilerplate( 853 static Handle<Object> CreateArrayLiteralBoilerplate(
837 Isolate* isolate, 854 Isolate* isolate,
838 Handle<FixedArray> literals, 855 Handle<FixedArray> literals,
839 Handle<FixedArray> elements); 856 Handle<FixedArray> elements);
840 }; 857 };
841 858
842 859
843 //--------------------------------------------------------------------------- 860 //---------------------------------------------------------------------------
844 // Constants used by interface to runtime functions. 861 // Constants used by interface to runtime functions.
845 862
846 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {}; 863 class AllocateDoubleAlignFlag: public BitField<bool, 0, 1> {};
847 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {}; 864 class AllocateTargetSpace: public BitField<AllocationSpace, 1, 3> {};
848 865
849 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {}; 866 class DeclareGlobalsEvalFlag: public BitField<bool, 0, 1> {};
850 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {}; 867 class DeclareGlobalsNativeFlag: public BitField<bool, 1, 1> {};
851 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {}; 868 class DeclareGlobalsLanguageMode: public BitField<LanguageMode, 2, 2> {};
852 869
853 } } // namespace v8::internal 870 } } // namespace v8::internal
854 871
855 #endif // V8_RUNTIME_H_ 872 #endif // V8_RUNTIME_H_
OLDNEW
« no previous file with comments | « src/regexp-macro-assembler-tracer.cc ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698