diff options
author | Gaming4JC <g4jc@hyperbola.info> | 2019-06-08 23:44:08 -0400 |
---|---|---|
committer | Gaming4JC <g4jc@hyperbola.info> | 2019-07-18 22:38:26 -0400 |
commit | 08aee2f9d9948c9a4540706d40ea4abf01f452a5 (patch) | |
tree | 547be0da21d021593c9522e35d9cafe451d3e50d /js/src/vm | |
parent | 4c56c51c89a3229e52f4c735d236e956c6b1ab2c (diff) | |
download | UXP-08aee2f9d9948c9a4540706d40ea4abf01f452a5.tar UXP-08aee2f9d9948c9a4540706d40ea4abf01f452a5.tar.gz UXP-08aee2f9d9948c9a4540706d40ea4abf01f452a5.tar.lz UXP-08aee2f9d9948c9a4540706d40ea4abf01f452a5.tar.xz UXP-08aee2f9d9948c9a4540706d40ea4abf01f452a5.zip |
1320408 - Part 17: Change NativeObject::clearFlag to static method.
Diffstat (limited to 'js/src/vm')
-rw-r--r-- | js/src/vm/NativeObject.cpp | 2 | ||||
-rw-r--r-- | js/src/vm/NativeObject.h | 2 | ||||
-rw-r--r-- | js/src/vm/Shape.cpp | 13 |
3 files changed, 8 insertions, 9 deletions
diff --git a/js/src/vm/NativeObject.cpp b/js/src/vm/NativeObject.cpp index eaa47d20a..190a19e56 100644 --- a/js/src/vm/NativeObject.cpp +++ b/js/src/vm/NativeObject.cpp @@ -691,7 +691,7 @@ NativeObject::maybeDensifySparseElements(js::ExclusiveContext* cx, HandleNativeO * flag so that we will not start using sparse indexes again if we need * to grow the object. */ - if (!obj->clearFlag(cx, BaseShape::INDEXED)) + if (!NativeObject::clearFlag(cx, obj, BaseShape::INDEXED)) return DenseElementResult::Failure; return DenseElementResult::Success; diff --git a/js/src/vm/NativeObject.h b/js/src/vm/NativeObject.h index ea0bf9ab3..9b8fe4721 100644 --- a/js/src/vm/NativeObject.h +++ b/js/src/vm/NativeObject.h @@ -614,7 +614,7 @@ class NativeObject : public ShapedObject } bool shadowingShapeChange(ExclusiveContext* cx, const Shape& shape); - bool clearFlag(ExclusiveContext* cx, BaseShape::Flag flag); + static bool clearFlag(ExclusiveContext* cx, HandleNativeObject obj, BaseShape::Flag flag); // The maximum number of slots in an object. // |MAX_SLOTS_COUNT * sizeof(JS::Value)| shouldn't overflow diff --git a/js/src/vm/Shape.cpp b/js/src/vm/Shape.cpp index a574ac3b5..31cfe382c 100644 --- a/js/src/vm/Shape.cpp +++ b/js/src/vm/Shape.cpp @@ -1240,21 +1240,20 @@ JSObject::setFlags(ExclusiveContext* cx, HandleObject obj, BaseShape::Flag flags return true; } -bool -NativeObject::clearFlag(ExclusiveContext* cx, BaseShape::Flag flag) +/* static */ bool +NativeObject::clearFlag(ExclusiveContext* cx, HandleNativeObject obj, BaseShape::Flag flag) { - MOZ_ASSERT(inDictionaryMode()); + MOZ_ASSERT(obj->inDictionaryMode()); - RootedNativeObject self(cx, &as<NativeObject>()); - MOZ_ASSERT(self->lastProperty()->getObjectFlags() & flag); + MOZ_ASSERT(obj->lastProperty()->getObjectFlags() & flag); - StackBaseShape base(self->lastProperty()); + StackBaseShape base(obj->lastProperty()); base.flags &= ~flag; UnownedBaseShape* nbase = BaseShape::getUnowned(cx, base); if (!nbase) return false; - self->lastProperty()->base()->adoptUnowned(nbase); + obj->lastProperty()->base()->adoptUnowned(nbase); return true; } |