diff options
Diffstat (limited to 'JavaScriptCore/runtime/JSCell.h')
-rw-r--r-- | JavaScriptCore/runtime/JSCell.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/JavaScriptCore/runtime/JSCell.h b/JavaScriptCore/runtime/JSCell.h index 2ffce8d..cfa1454 100644 --- a/JavaScriptCore/runtime/JSCell.h +++ b/JavaScriptCore/runtime/JSCell.h @@ -34,7 +34,24 @@ namespace JSC { - class JSCell : public NoncopyableCustomAllocated { +#if COMPILER(MSVC) + // If WTF_MAKE_NONCOPYABLE is applied to JSCell we end up with a bunch of + // undefined references to the JSCell copy constructor and assignment operator + // when linking JavaScriptCore. + class MSVCBugWorkaround { + WTF_MAKE_NONCOPYABLE(MSVCBugWorkaround); + + protected: + MSVCBugWorkaround() { } + ~MSVCBugWorkaround() { } + }; + + class JSCell : MSVCBugWorkaround { +#else + class JSCell { + WTF_MAKE_NONCOPYABLE(JSCell); +#endif + friend class GetterSetter; friend class Heap; friend class JIT; |