@@ -21,15 +21,13 @@ void NumericCasts::CreateGlobalCastFunctions(Isolate *isolate, const Local<Objec
2121 globalTemplate->Set (ArgConverter::ConvertToV8String (isolate, " double" ), FunctionTemplate::New (isolate, NumericCasts::MarkAsDoubleCallbackStatic, ext));
2222 globalTemplate->Set (ArgConverter::ConvertToV8String (isolate, " float" ), FunctionTemplate::New (isolate, NumericCasts::MarkAsFloatCallbackStatic, ext));
2323 globalTemplate->Set (ArgConverter::ConvertToV8String (isolate, " char" ), FunctionTemplate::New (isolate, NumericCasts::MarkAsCharCallbackStatic, ext));
24-
25- s_castMarker = new Persistent<String>(isolate, ArgConverter::ConvertToV8String (isolate, " t::cast" ));
2624}
2725
2826CastType NumericCasts::GetCastType (const Local<Object>& object)
2927{
3028 auto ret = CastType::None;
3129 auto isolate = object->GetIsolate ();
32- auto key = Local<String>:: New (isolate, * s_castMarker);
30+ auto key = ArgConverter::ConvertToV8String (isolate, s_castMarker);
3331 auto hidden = object->GetHiddenValue (key);
3432 if (!hidden.IsEmpty ())
3533 {
@@ -456,12 +454,12 @@ void NumericCasts::MarkAsDoubleCallback(const v8::FunctionCallbackInfo<Value>& a
456454void NumericCasts::MarkJsObject (const Local<Object>& object, CastType castType, const Local<Value>& value)
457455{
458456 auto isolate = object->GetIsolate ();
459- auto key = Local<String>:: New (isolate, * s_castMarker);
457+ auto key = ArgConverter::ConvertToV8String (isolate, s_castMarker);
460458 auto type = Integer::New (isolate, static_cast <int >(castType));
461459
462460 object->SetHiddenValue (key, type);
463461 object->Set (V8StringConstants::GetValue (isolate), value);
464462 DEBUG_WRITE (" MarkJsObject: Marking js object: %d with cast type: %d" , object->GetIdentityHash (), castType);
465463}
466464
467- Persistent<String> * NumericCasts::s_castMarker = nullptr ;
465+ std::string NumericCasts::s_castMarker = " t::cast " ;
0 commit comments