summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/tagged-value-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/objects/tagged-value-inl.h')
-rw-r--r--deps/v8/src/objects/tagged-value-inl.h31
1 files changed, 26 insertions, 5 deletions
diff --git a/deps/v8/src/objects/tagged-value-inl.h b/deps/v8/src/objects/tagged-value-inl.h
index 5eb0e20947..f409a4006b 100644
--- a/deps/v8/src/objects/tagged-value-inl.h
+++ b/deps/v8/src/objects/tagged-value-inl.h
@@ -9,7 +9,8 @@
#include "include/v8-internal.h"
#include "src/common/ptr-compr-inl.h"
-#include "src/objects/heap-object-inl.h"
+#include "src/objects/maybe-object.h"
+#include "src/objects/objects.h"
#include "src/objects/oddball.h"
#include "src/objects/tagged-impl-inl.h"
#include "src/roots/roots-inl.h"
@@ -17,17 +18,37 @@
namespace v8 {
namespace internal {
-Object StrongTaggedValue::ToObject(WITH_ROOT_PARAM(StrongTaggedValue object)) {
+inline StrongTaggedValue::StrongTaggedValue(Object o)
+ :
#ifdef V8_COMPRESS_POINTERS
- return Object(DecompressTaggedAny(ROOT_VALUE, object.ptr()));
+ TaggedImpl(CompressTagged(o.ptr()))
+#else
+ TaggedImpl(o.ptr())
+#endif
+{
+}
+
+Object StrongTaggedValue::ToObject(Isolate* isolate, StrongTaggedValue object) {
+#ifdef V8_COMPRESS_POINTERS
+ return Object(DecompressTaggedAny(isolate, object.ptr()));
#else
return Object(object.ptr());
#endif
}
-MaybeObject TaggedValue::ToMaybeObject(WITH_ROOT_PARAM(TaggedValue object)) {
+inline TaggedValue::TaggedValue(MaybeObject o)
+ :
+#ifdef V8_COMPRESS_POINTERS
+ TaggedImpl(CompressTagged(o.ptr()))
+#else
+ TaggedImpl(o.ptr())
+#endif
+{
+}
+
+MaybeObject TaggedValue::ToMaybeObject(Isolate* isolate, TaggedValue object) {
#ifdef V8_COMPRESS_POINTERS
- return MaybeObject(DecompressTaggedAny(ROOT_VALUE, object.ptr()));
+ return MaybeObject(DecompressTaggedAny(isolate, object.ptr()));
#else
return MaybeObject(object.ptr());
#endif