JITStubEntries.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. // Copyright (C) 2012 Sony Computer Entertainment Inc.
  2. // All Rights Reserved.
  3. #include "config.h"
  4. #if ENABLE(JIT)
  5. #include "JITStubEntries.h"
  6. #include <limits>
  7. #if ENABLE(DETACHED_JIT) && BUILDING_DETACHED_JIT
  8. #include "ArrayConstructor.h"
  9. #include "ArrayPrototype.h"
  10. #include "BooleanConstructor.h"
  11. #include "DateConstructor.h"
  12. #include "DateInstance.h"
  13. #include "DatePrototype.h"
  14. #include "Error.h"
  15. #include "ErrorConstructor.h"
  16. #include "FunctionConstructor.h"
  17. #include "FunctionPrototype.h"
  18. #include "InternalFunction.h"
  19. #include "JSActivation.h"
  20. #include "JSArray.h"
  21. #include "JSBoundFunction.h"
  22. #include "JSCJSValue.h"
  23. #include "JSFunction.h"
  24. #include "JSGlobalObject.h"
  25. #include "JSObject.h"
  26. #include "JSString.h"
  27. #include "MathObject.h"
  28. #include "NativeErrorConstructor.h"
  29. #include "NumberConstructor.h"
  30. #include "ObjectConstructor.h"
  31. #include "ObjectPrototype.h"
  32. #include "RegExpConstructor.h"
  33. #include "RegExpPrototype.h"
  34. #include "StringConstructor.h"
  35. #include "Structure.h"
  36. namespace JSC {
  37. #define CTI_STUB_ENTRY(returnType, symbol) returnType symbol
  38. CTI_STUB_ENTRIES;
  39. #if ENABLE(LLINT)
  40. CTI_STUB_ENTRIES_LLINT;
  41. #endif
  42. #if ENABLE(DFG_JIT)
  43. CTI_STUB_ENTRIES_DFG;
  44. namespace DFG {
  45. CTI_STUB_ENTRIES_DFG_OPERATIONS;
  46. }
  47. #endif
  48. #undef CTI_STUB_ENTRY
  49. #define CLASSINFO_STUB_ENTRY(classname) namespace classname##Stub { RemoteClassInfoPtr s_info; } //JS_EXPORTDATA ClassInfo classname::s_info;
  50. CLASSINFO_STUB_ENTRIES;
  51. #undef CLASSINFO_STUB_ENTRY
  52. RemotePointerWrapper ctiVMThrowTrampoline;
  53. namespace RemoteStubs {
  54. RemotePointerWrapper oneConstant;
  55. RemotePointerWrapper zeroConstant;
  56. RemotePointerWrapper halfConstant;
  57. RemotePointerWrapper negativeHalfConstant;
  58. RemotePointerWrapper negativeZeroConstant;
  59. RemotePointerWrapper NaN;
  60. RemotePointerWrapper twoToThe32;
  61. RemotePointerWrapper byteMax;
  62. } // namespace RemoteStubs
  63. namespace Yarr {
  64. namespace RemoteStubs {
  65. char const * regExp_spacesData;
  66. char const * regExp_wordcharData;
  67. }
  68. }
  69. } // namespace JSC
  70. #endif // #if ENABLE(DETACHED_JIT) && BUILDING_DETACHED_JIT
  71. namespace JSC {
  72. DEFINE_REMOTE_VAR(const double, oneConstant, 1.0);
  73. DEFINE_REMOTE_VAR(const double, zeroConstant, 0.0);
  74. DEFINE_REMOTE_VAR(const double, halfConstant, 0.5);
  75. DEFINE_REMOTE_VAR(const double, negativeHalfConstant, -0.5);
  76. DEFINE_REMOTE_VAR(const double, negativeZeroConstant, -0.0);
  77. DEFINE_REMOTE_VAR(const double, NaN, std::numeric_limits<double>::quiet_NaN());
  78. DEFINE_REMOTE_VAR(const double, twoToThe32, (double)0x100000000ull);
  79. DEFINE_REMOTE_VAR(const double, byteMax, 255);
  80. } // namespace JSC
  81. #endif // #if ENABLE(JIT)