| OLD | NEW |
| 1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 |
| 11 // with the distribution. | 11 // with the distribution. |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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(ToSlowProperties, 1, 1) \ | 65 F(ToSlowProperties, 1, 1) \ |
| 66 F(FinishArrayPrototypeSetup, 1, 1) \ | 66 F(FinishArrayPrototypeSetup, 1, 1) \ |
| 67 F(SpecialArrayFunctions, 1, 1) \ | 67 F(SpecialArrayFunctions, 1, 1) \ |
| 68 F(GetGlobalReceiver, 0, 1) \ | 68 F(GetGlobalReceiver, 0, 1) \ |
| 69 \ | 69 \ |
| 70 F(GetPrototype, 1, 1) \ |
| 70 F(IsInPrototypeChain, 2, 1) \ | 71 F(IsInPrototypeChain, 2, 1) \ |
| 71 F(SetHiddenPrototype, 2, 1) \ | 72 F(SetHiddenPrototype, 2, 1) \ |
| 72 \ | 73 \ |
| 73 F(IsConstructCall, 0, 1) \ | 74 F(IsConstructCall, 0, 1) \ |
| 74 \ | 75 \ |
| 75 F(GetOwnProperty, 2, 1) \ | 76 F(GetOwnProperty, 2, 1) \ |
| 76 \ | 77 \ |
| 77 F(IsExtensible, 1, 1) \ | 78 F(IsExtensible, 1, 1) \ |
| 78 F(PreventExtensions, 1, 1)\ | 79 F(PreventExtensions, 1, 1)\ |
| 79 \ | 80 \ |
| 80 /* Utilities */ \ | 81 /* Utilities */ \ |
| 81 F(GetFunctionDelegate, 1, 1) \ | 82 F(GetFunctionDelegate, 1, 1) \ |
| 82 F(GetConstructorDelegate, 1, 1) \ | 83 F(GetConstructorDelegate, 1, 1) \ |
| 83 F(NewArgumentsFast, 3, 1) \ | 84 F(NewArgumentsFast, 3, 1) \ |
| 85 F(NewStrictArgumentsFast, 3, 1) \ |
| 84 F(LazyCompile, 1, 1) \ | 86 F(LazyCompile, 1, 1) \ |
| 85 F(LazyRecompile, 1, 1) \ | 87 F(LazyRecompile, 1, 1) \ |
| 86 F(NotifyDeoptimized, 1, 1) \ | 88 F(NotifyDeoptimized, 1, 1) \ |
| 87 F(NotifyOSR, 0, 1) \ | 89 F(NotifyOSR, 0, 1) \ |
| 88 F(DeoptimizeFunction, 1, 1) \ | 90 F(DeoptimizeFunction, 1, 1) \ |
| 91 F(RunningInSimulator, 0, 1) \ |
| 89 F(OptimizeFunctionOnNextCall, 1, 1) \ | 92 F(OptimizeFunctionOnNextCall, 1, 1) \ |
| 90 F(GetOptimizationStatus, 1, 1) \ | 93 F(GetOptimizationStatus, 1, 1) \ |
| 91 F(GetOptimizationCount, 1, 1) \ | 94 F(GetOptimizationCount, 1, 1) \ |
| 92 F(CompileForOnStackReplacement, 1, 1) \ | 95 F(CompileForOnStackReplacement, 1, 1) \ |
| 93 F(SetNewFunctionAttributes, 1, 1) \ | 96 F(SetNewFunctionAttributes, 1, 1) \ |
| 94 F(AllocateInNewSpace, 1, 1) \ | 97 F(AllocateInNewSpace, 1, 1) \ |
| 95 F(SetES5Flag, 1, 1) \ | 98 F(SetNativeFlag, 1, 1) \ |
| 96 \ | 99 \ |
| 97 /* Array join support */ \ | 100 /* Array join support */ \ |
| 98 F(PushIfAbsent, 2, 1) \ | 101 F(PushIfAbsent, 2, 1) \ |
| 99 F(ArrayConcat, 1, 1) \ | 102 F(ArrayConcat, 1, 1) \ |
| 100 \ | 103 \ |
| 101 /* Conversions */ \ | 104 /* Conversions */ \ |
| 102 F(ToBool, 1, 1) \ | 105 F(ToBool, 1, 1) \ |
| 103 F(Typeof, 1, 1) \ | 106 F(Typeof, 1, 1) \ |
| 104 \ | 107 \ |
| 105 F(StringToNumber, 1, 1) \ | 108 F(StringToNumber, 1, 1) \ |
| 106 F(StringFromCharCodeArray, 1, 1) \ | 109 F(StringFromCharCodeArray, 1, 1) \ |
| 107 F(StringParseInt, 2, 1) \ | 110 F(StringParseInt, 2, 1) \ |
| 108 F(StringParseFloat, 1, 1) \ | 111 F(StringParseFloat, 1, 1) \ |
| 109 F(StringToLowerCase, 1, 1) \ | 112 F(StringToLowerCase, 1, 1) \ |
| 110 F(StringToUpperCase, 1, 1) \ | 113 F(StringToUpperCase, 1, 1) \ |
| 111 F(StringSplit, 3, 1) \ | 114 F(StringSplit, 3, 1) \ |
| 112 F(CharFromCode, 1, 1) \ | 115 F(CharFromCode, 1, 1) \ |
| 113 F(URIEscape, 1, 1) \ | 116 F(URIEscape, 1, 1) \ |
| 114 F(URIUnescape, 1, 1) \ | 117 F(URIUnescape, 1, 1) \ |
| 115 F(QuoteJSONString, 1, 1) \ | 118 F(QuoteJSONString, 1, 1) \ |
| 116 F(QuoteJSONStringComma, 1, 1) \ | 119 F(QuoteJSONStringComma, 1, 1) \ |
| 120 F(QuoteJSONStringArray, 1, 1) \ |
| 117 \ | 121 \ |
| 118 F(NumberToString, 1, 1) \ | 122 F(NumberToString, 1, 1) \ |
| 119 F(NumberToStringSkipCache, 1, 1) \ | 123 F(NumberToStringSkipCache, 1, 1) \ |
| 120 F(NumberToInteger, 1, 1) \ | 124 F(NumberToInteger, 1, 1) \ |
| 121 F(NumberToIntegerMapMinusZero, 1, 1) \ | 125 F(NumberToIntegerMapMinusZero, 1, 1) \ |
| 122 F(NumberToJSUint32, 1, 1) \ | 126 F(NumberToJSUint32, 1, 1) \ |
| 123 F(NumberToJSInt32, 1, 1) \ | 127 F(NumberToJSInt32, 1, 1) \ |
| 124 F(NumberToSmi, 1, 1) \ | 128 F(NumberToSmi, 1, 1) \ |
| 125 F(AllocateHeapNumber, 0, 1) \ | 129 F(AllocateHeapNumber, 0, 1) \ |
| 126 \ | 130 \ |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 F(NumberToExponential, 2, 1) \ | 205 F(NumberToExponential, 2, 1) \ |
| 202 F(NumberToPrecision, 2, 1) | 206 F(NumberToPrecision, 2, 1) |
| 203 | 207 |
| 204 #define RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ | 208 #define RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \ |
| 205 /* Reflection */ \ | 209 /* Reflection */ \ |
| 206 F(FunctionSetInstanceClassName, 2, 1) \ | 210 F(FunctionSetInstanceClassName, 2, 1) \ |
| 207 F(FunctionSetLength, 2, 1) \ | 211 F(FunctionSetLength, 2, 1) \ |
| 208 F(FunctionSetPrototype, 2, 1) \ | 212 F(FunctionSetPrototype, 2, 1) \ |
| 209 F(FunctionGetName, 1, 1) \ | 213 F(FunctionGetName, 1, 1) \ |
| 210 F(FunctionSetName, 2, 1) \ | 214 F(FunctionSetName, 2, 1) \ |
| 215 F(FunctionSetBound, 1, 1) \ |
| 211 F(FunctionRemovePrototype, 1, 1) \ | 216 F(FunctionRemovePrototype, 1, 1) \ |
| 212 F(FunctionGetSourceCode, 1, 1) \ | 217 F(FunctionGetSourceCode, 1, 1) \ |
| 213 F(FunctionGetScript, 1, 1) \ | 218 F(FunctionGetScript, 1, 1) \ |
| 214 F(FunctionGetScriptSourcePosition, 1, 1) \ | 219 F(FunctionGetScriptSourcePosition, 1, 1) \ |
| 215 F(FunctionGetPositionForOffset, 2, 1) \ | 220 F(FunctionGetPositionForOffset, 2, 1) \ |
| 216 F(FunctionIsAPIFunction, 1, 1) \ | 221 F(FunctionIsAPIFunction, 1, 1) \ |
| 217 F(FunctionIsBuiltin, 1, 1) \ | 222 F(FunctionIsBuiltin, 1, 1) \ |
| 218 F(GetScript, 1, 1) \ | 223 F(GetScript, 1, 1) \ |
| 219 F(CollectStackTrace, 2, 1) \ | 224 F(CollectStackTrace, 2, 1) \ |
| 220 F(GetV8Version, 0, 1) \ | 225 F(GetV8Version, 0, 1) \ |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 F(CreateArrayLiteralBoilerplate, 3, 1) \ | 275 F(CreateArrayLiteralBoilerplate, 3, 1) \ |
| 271 F(CloneLiteralBoilerplate, 1, 1) \ | 276 F(CloneLiteralBoilerplate, 1, 1) \ |
| 272 F(CloneShallowLiteralBoilerplate, 1, 1) \ | 277 F(CloneShallowLiteralBoilerplate, 1, 1) \ |
| 273 F(CreateObjectLiteral, 4, 1) \ | 278 F(CreateObjectLiteral, 4, 1) \ |
| 274 F(CreateObjectLiteralShallow, 4, 1) \ | 279 F(CreateObjectLiteralShallow, 4, 1) \ |
| 275 F(CreateArrayLiteral, 3, 1) \ | 280 F(CreateArrayLiteral, 3, 1) \ |
| 276 F(CreateArrayLiteralShallow, 3, 1) \ | 281 F(CreateArrayLiteralShallow, 3, 1) \ |
| 277 \ | 282 \ |
| 278 /* Harmony proxies */ \ | 283 /* Harmony proxies */ \ |
| 279 F(CreateJSProxy, 2, 1) \ | 284 F(CreateJSProxy, 2, 1) \ |
| 280 \ | 285 F(IsJSProxy, 1, 1) \ |
| 281 /* Catch context extension objects */ \ | 286 F(GetHandler, 1, 1) \ |
| 282 F(CreateCatchExtensionObject, 2, 1) \ | |
| 283 \ | 287 \ |
| 284 /* Statements */ \ | 288 /* Statements */ \ |
| 285 F(NewClosure, 3, 1) \ | 289 F(NewClosure, 3, 1) \ |
| 286 F(NewObject, 1, 1) \ | 290 F(NewObject, 1, 1) \ |
| 287 F(NewObjectFromBound, 2, 1) \ | 291 F(NewObjectFromBound, 2, 1) \ |
| 288 F(FinalizeInstanceSize, 1, 1) \ | 292 F(FinalizeInstanceSize, 1, 1) \ |
| 289 F(Throw, 1, 1) \ | 293 F(Throw, 1, 1) \ |
| 290 F(ReThrow, 1, 1) \ | 294 F(ReThrow, 1, 1) \ |
| 291 F(ThrowReferenceError, 1, 1) \ | 295 F(ThrowReferenceError, 1, 1) \ |
| 292 F(StackGuard, 0, 1) \ | 296 F(StackGuard, 0, 1) \ |
| 293 F(PromoteScheduledException, 0, 1) \ | 297 F(PromoteScheduledException, 0, 1) \ |
| 294 \ | 298 \ |
| 295 /* Contexts */ \ | 299 /* Contexts */ \ |
| 296 F(NewContext, 1, 1) \ | 300 F(NewFunctionContext, 1, 1) \ |
| 297 F(PushContext, 1, 1) \ | 301 F(PushWithContext, 2, 1) \ |
| 298 F(PushCatchContext, 1, 1) \ | 302 F(PushCatchContext, 3, 1) \ |
| 299 F(DeleteContextSlot, 2, 1) \ | 303 F(DeleteContextSlot, 2, 1) \ |
| 300 F(LoadContextSlot, 2, 2) \ | 304 F(LoadContextSlot, 2, 2) \ |
| 301 F(LoadContextSlotNoReferenceError, 2, 2) \ | 305 F(LoadContextSlotNoReferenceError, 2, 2) \ |
| 302 F(StoreContextSlot, 4, 1) \ | 306 F(StoreContextSlot, 4, 1) \ |
| 303 \ | 307 \ |
| 304 /* Declarations and initialization */ \ | 308 /* Declarations and initialization */ \ |
| 305 F(DeclareGlobals, 4, 1) \ | 309 F(DeclareGlobals, 4, 1) \ |
| 306 F(DeclareContextSlot, 4, 1) \ | 310 F(DeclareContextSlot, 4, 1) \ |
| 307 F(InitializeVarGlobal, -1 /* 2 or 3 */, 1) \ | 311 F(InitializeVarGlobal, -1 /* 2 or 3 */, 1) \ |
| 308 F(InitializeConstGlobal, 2, 1) \ | 312 F(InitializeConstGlobal, 2, 1) \ |
| (...skipping 14 matching lines...) Expand all Loading... |
| 323 F(GetFromCache, 2, 1) \ | 327 F(GetFromCache, 2, 1) \ |
| 324 \ | 328 \ |
| 325 /* Message objects */ \ | 329 /* Message objects */ \ |
| 326 F(NewMessageObject, 2, 1) \ | 330 F(NewMessageObject, 2, 1) \ |
| 327 F(MessageGetType, 1, 1) \ | 331 F(MessageGetType, 1, 1) \ |
| 328 F(MessageGetArguments, 1, 1) \ | 332 F(MessageGetArguments, 1, 1) \ |
| 329 F(MessageGetStartPosition, 1, 1) \ | 333 F(MessageGetStartPosition, 1, 1) \ |
| 330 F(MessageGetScript, 1, 1) \ | 334 F(MessageGetScript, 1, 1) \ |
| 331 \ | 335 \ |
| 332 /* Pseudo functions - handled as macros by parser */ \ | 336 /* Pseudo functions - handled as macros by parser */ \ |
| 333 F(IS_VAR, 1, 1) | 337 F(IS_VAR, 1, 1) \ |
| 338 \ |
| 339 /* expose boolean functions from objects-inl.h */ \ |
| 340 F(HasFastElements, 1, 1) \ |
| 341 F(HasFastDoubleElements, 1, 1) \ |
| 342 F(HasDictionaryElements, 1, 1) \ |
| 343 F(HasExternalPixelElements, 1, 1) \ |
| 344 F(HasExternalArrayElements, 1, 1) \ |
| 345 F(HasExternalByteElements, 1, 1) \ |
| 346 F(HasExternalUnsignedByteElements, 1, 1) \ |
| 347 F(HasExternalShortElements, 1, 1) \ |
| 348 F(HasExternalUnsignedShortElements, 1, 1) \ |
| 349 F(HasExternalIntElements, 1, 1) \ |
| 350 F(HasExternalUnsignedIntElements, 1, 1) \ |
| 351 F(HasExternalFloatElements, 1, 1) \ |
| 352 F(HasExternalDoubleElements, 1, 1) |
| 353 |
| 334 | 354 |
| 335 #ifdef ENABLE_DEBUGGER_SUPPORT | 355 #ifdef ENABLE_DEBUGGER_SUPPORT |
| 336 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ | 356 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) \ |
| 337 /* Debugger support*/ \ | 357 /* Debugger support*/ \ |
| 338 F(DebugBreak, 0, 1) \ | 358 F(DebugBreak, 0, 1) \ |
| 339 F(SetDebugEventListener, 2, 1) \ | 359 F(SetDebugEventListener, 2, 1) \ |
| 340 F(Break, 0, 1) \ | 360 F(Break, 0, 1) \ |
| 341 F(DebugGetPropertyDetails, 2, 1) \ | 361 F(DebugGetPropertyDetails, 2, 1) \ |
| 342 F(DebugGetProperty, 2, 1) \ | 362 F(DebugGetProperty, 2, 1) \ |
| 343 F(DebugPropertyTypeFromDetails, 1, 1) \ | 363 F(DebugPropertyTypeFromDetails, 1, 1) \ |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 F(PrintLOLObj, 1, 1) \ | 422 F(PrintLOLObj, 1, 1) \ |
| 403 F(ResetLOL, 0, 1) \ | 423 F(ResetLOL, 0, 1) \ |
| 404 F(SummarizeLOL, 3, 1) | 424 F(SummarizeLOL, 3, 1) |
| 405 | 425 |
| 406 #else | 426 #else |
| 407 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) | 427 #define RUNTIME_FUNCTION_LIST_DEBUGGER_SUPPORT(F) |
| 408 #endif | 428 #endif |
| 409 | 429 |
| 410 #ifdef ENABLE_LOGGING_AND_PROFILING | 430 #ifdef ENABLE_LOGGING_AND_PROFILING |
| 411 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \ | 431 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) \ |
| 412 F(ProfilerResume, 2, 1) \ | 432 F(ProfilerResume, 0, 1) \ |
| 413 F(ProfilerPause, 2, 1) | 433 F(ProfilerPause, 0, 1) |
| 414 #else | 434 #else |
| 415 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) | 435 #define RUNTIME_FUNCTION_LIST_PROFILER_SUPPORT(F) |
| 416 #endif | 436 #endif |
| 417 | 437 |
| 418 #ifdef DEBUG | 438 #ifdef DEBUG |
| 419 #define RUNTIME_FUNCTION_LIST_DEBUG(F) \ | 439 #define RUNTIME_FUNCTION_LIST_DEBUG(F) \ |
| 420 /* Testing */ \ | 440 /* Testing */ \ |
| 421 F(ListNatives, 0, 1) | 441 F(ListNatives, 0, 1) |
| 422 #else | 442 #else |
| 423 #define RUNTIME_FUNCTION_LIST_DEBUG(F) | 443 #define RUNTIME_FUNCTION_LIST_DEBUG(F) |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 F(IsSpecObject, 1, 1) \ | 479 F(IsSpecObject, 1, 1) \ |
| 460 F(IsStringWrapperSafeForDefaultValueOf, 1, 1) \ | 480 F(IsStringWrapperSafeForDefaultValueOf, 1, 1) \ |
| 461 F(MathPow, 2, 1) \ | 481 F(MathPow, 2, 1) \ |
| 462 F(MathSin, 1, 1) \ | 482 F(MathSin, 1, 1) \ |
| 463 F(MathCos, 1, 1) \ | 483 F(MathCos, 1, 1) \ |
| 464 F(MathSqrt, 1, 1) \ | 484 F(MathSqrt, 1, 1) \ |
| 465 F(MathLog, 1, 1) \ | 485 F(MathLog, 1, 1) \ |
| 466 F(IsRegExpEquivalent, 2, 1) \ | 486 F(IsRegExpEquivalent, 2, 1) \ |
| 467 F(HasCachedArrayIndex, 1, 1) \ | 487 F(HasCachedArrayIndex, 1, 1) \ |
| 468 F(GetCachedArrayIndex, 1, 1) \ | 488 F(GetCachedArrayIndex, 1, 1) \ |
| 469 F(FastAsciiArrayJoin, 2, 1) | 489 F(FastAsciiArrayJoin, 2, 1) \ |
| 490 F(IsNativeOrStrictMode, 1, 1) |
| 470 | 491 |
| 471 | 492 |
| 472 // ---------------------------------------------------------------------------- | 493 // ---------------------------------------------------------------------------- |
| 473 // INLINE_AND_RUNTIME_FUNCTION_LIST defines all inlined functions accessed | 494 // INLINE_AND_RUNTIME_FUNCTION_LIST defines all inlined functions accessed |
| 474 // with a native call of the form %_name from within JS code that also have | 495 // with a native call of the form %_name from within JS code that also have |
| 475 // a corresponding runtime function, that is called for slow cases. | 496 // a corresponding runtime function, that is called for slow cases. |
| 476 // Entries have the form F(name, number of arguments, number of return values). | 497 // Entries have the form F(name, number of arguments, number of return values). |
| 477 #define INLINE_RUNTIME_FUNCTION_LIST(F) \ | 498 #define INLINE_RUNTIME_FUNCTION_LIST(F) \ |
| 478 F(IsConstructCall, 0, 1) \ | 499 F(IsConstructCall, 0, 1) \ |
| 479 F(ClassOf, 1, 1) \ | 500 F(ClassOf, 1, 1) \ |
| 480 F(StringCharCodeAt, 2, 1) \ | 501 F(StringCharCodeAt, 2, 1) \ |
| 481 F(Log, 3, 1) \ | 502 F(Log, 3, 1) \ |
| 482 F(StringAdd, 2, 1) \ | 503 F(StringAdd, 2, 1) \ |
| 483 F(SubString, 3, 1) \ | 504 F(SubString, 3, 1) \ |
| 484 F(StringCompare, 2, 1) \ | 505 F(StringCompare, 2, 1) \ |
| 485 F(RegExpExec, 4, 1) \ | 506 F(RegExpExec, 4, 1) \ |
| 486 F(RegExpConstructResult, 3, 1) \ | 507 F(RegExpConstructResult, 3, 1) \ |
| 487 F(GetFromCache, 2, 1) \ | 508 F(GetFromCache, 2, 1) \ |
| 488 F(NumberToString, 1, 1) \ | 509 F(NumberToString, 1, 1) \ |
| 489 F(SwapElements, 3, 1) | 510 F(SwapElements, 3, 1) |
| 490 | 511 |
| 491 | 512 |
| 492 //--------------------------------------------------------------------------- | 513 //--------------------------------------------------------------------------- |
| 493 // Runtime provides access to all C++ runtime functions. | 514 // Runtime provides access to all C++ runtime functions. |
| 494 | 515 |
| 495 class RuntimeState { | 516 class RuntimeState { |
| 496 public: | 517 public: |
| 497 | |
| 498 StaticResource<StringInputBuffer>* string_input_buffer() { | 518 StaticResource<StringInputBuffer>* string_input_buffer() { |
| 499 return &string_input_buffer_; | 519 return &string_input_buffer_; |
| 500 } | 520 } |
| 501 unibrow::Mapping<unibrow::ToUppercase, 128>* to_upper_mapping() { | 521 unibrow::Mapping<unibrow::ToUppercase, 128>* to_upper_mapping() { |
| 502 return &to_upper_mapping_; | 522 return &to_upper_mapping_; |
| 503 } | 523 } |
| 504 unibrow::Mapping<unibrow::ToLowercase, 128>* to_lower_mapping() { | 524 unibrow::Mapping<unibrow::ToLowercase, 128>* to_lower_mapping() { |
| 505 return &to_lower_mapping_; | 525 return &to_lower_mapping_; |
| 506 } | 526 } |
| 507 StringInputBuffer* string_input_buffer_compare_bufx() { | 527 StringInputBuffer* string_input_buffer_compare_bufx() { |
| 508 return &string_input_buffer_compare_bufx_; | 528 return &string_input_buffer_compare_bufx_; |
| 509 } | 529 } |
| 510 StringInputBuffer* string_input_buffer_compare_bufy() { | 530 StringInputBuffer* string_input_buffer_compare_bufy() { |
| 511 return &string_input_buffer_compare_bufy_; | 531 return &string_input_buffer_compare_bufy_; |
| 512 } | 532 } |
| 513 StringInputBuffer* string_locale_compare_buf1() { | 533 StringInputBuffer* string_locale_compare_buf1() { |
| 514 return &string_locale_compare_buf1_; | 534 return &string_locale_compare_buf1_; |
| 515 } | 535 } |
| 516 StringInputBuffer* string_locale_compare_buf2() { | 536 StringInputBuffer* string_locale_compare_buf2() { |
| 517 return &string_locale_compare_buf2_; | 537 return &string_locale_compare_buf2_; |
| 518 } | 538 } |
| 519 int* smi_lexicographic_compare_x_elms() { | |
| 520 return smi_lexicographic_compare_x_elms_; | |
| 521 } | |
| 522 int* smi_lexicographic_compare_y_elms() { | |
| 523 return smi_lexicographic_compare_y_elms_; | |
| 524 } | |
| 525 | 539 |
| 526 private: | 540 private: |
| 527 RuntimeState() {} | 541 RuntimeState() {} |
| 528 // Non-reentrant string buffer for efficient general use in the runtime. | 542 // Non-reentrant string buffer for efficient general use in the runtime. |
| 529 StaticResource<StringInputBuffer> string_input_buffer_; | 543 StaticResource<StringInputBuffer> string_input_buffer_; |
| 530 unibrow::Mapping<unibrow::ToUppercase, 128> to_upper_mapping_; | 544 unibrow::Mapping<unibrow::ToUppercase, 128> to_upper_mapping_; |
| 531 unibrow::Mapping<unibrow::ToLowercase, 128> to_lower_mapping_; | 545 unibrow::Mapping<unibrow::ToLowercase, 128> to_lower_mapping_; |
| 532 StringInputBuffer string_input_buffer_compare_bufx_; | 546 StringInputBuffer string_input_buffer_compare_bufx_; |
| 533 StringInputBuffer string_input_buffer_compare_bufy_; | 547 StringInputBuffer string_input_buffer_compare_bufy_; |
| 534 StringInputBuffer string_locale_compare_buf1_; | 548 StringInputBuffer string_locale_compare_buf1_; |
| 535 StringInputBuffer string_locale_compare_buf2_; | 549 StringInputBuffer string_locale_compare_buf2_; |
| 536 int smi_lexicographic_compare_x_elms_[10]; | |
| 537 int smi_lexicographic_compare_y_elms_[10]; | |
| 538 | 550 |
| 539 friend class Isolate; | 551 friend class Isolate; |
| 540 friend class Runtime; | 552 friend class Runtime; |
| 541 | 553 |
| 542 DISALLOW_COPY_AND_ASSIGN(RuntimeState); | 554 DISALLOW_COPY_AND_ASSIGN(RuntimeState); |
| 543 }; | 555 }; |
| 544 | 556 |
| 545 | 557 |
| 546 class Runtime : public AllStatic { | 558 class Runtime : public AllStatic { |
| 547 public: | 559 public: |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 Handle<Script> script, | 655 Handle<Script> script, |
| 644 int position); | 656 int position); |
| 645 | 657 |
| 646 // Helper functions used stubs. | 658 // Helper functions used stubs. |
| 647 static void PerformGC(Object* result); | 659 static void PerformGC(Object* result); |
| 648 }; | 660 }; |
| 649 | 661 |
| 650 } } // namespace v8::internal | 662 } } // namespace v8::internal |
| 651 | 663 |
| 652 #endif // V8_RUNTIME_H_ | 664 #endif // V8_RUNTIME_H_ |
| OLD | NEW |