mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 972712 (part 5) - Add BaseShape::clasp(). r=till.
--HG-- extra : rebase_source : 7eab6753c6c5b248446783132f84b07460aefef6
This commit is contained in:
parent
0f9f39e3f1
commit
fb405e0a1f
@ -551,7 +551,7 @@ struct TypeObject {
|
||||
};
|
||||
|
||||
struct BaseShape {
|
||||
const js::Class *clasp;
|
||||
const js::Class *clasp_;
|
||||
JSObject *parent;
|
||||
JSObject *_1;
|
||||
JSCompartment *compartment;
|
||||
|
@ -1438,7 +1438,7 @@ StackBaseShape::hash(const StackBaseShape *base)
|
||||
StackBaseShape::match(UnownedBaseShape *key, const StackBaseShape *lookup)
|
||||
{
|
||||
return key->flags == lookup->flags
|
||||
&& key->clasp == lookup->clasp
|
||||
&& key->clasp_ == lookup->clasp
|
||||
&& key->parent == lookup->parent
|
||||
&& key->metadata == lookup->metadata
|
||||
&& key->rawGetter == lookup->rawGetter
|
||||
|
@ -581,7 +581,7 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
|
||||
};
|
||||
|
||||
private:
|
||||
const Class *clasp; /* Class of referring object. */
|
||||
const Class *clasp_; /* Class of referring object. */
|
||||
HeapPtrObject parent; /* Parent of referring object. */
|
||||
HeapPtrObject metadata; /* Optional holder of metadata about
|
||||
* the referring object. */
|
||||
@ -618,7 +618,7 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
|
||||
{
|
||||
JS_ASSERT(!(objectFlags & ~OBJECT_FLAG_MASK));
|
||||
mozilla::PodZero(this);
|
||||
this->clasp = clasp;
|
||||
this->clasp_ = clasp;
|
||||
this->parent = parent;
|
||||
this->metadata = metadata;
|
||||
this->flags = objectFlags;
|
||||
@ -631,7 +631,7 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
|
||||
{
|
||||
JS_ASSERT(!(objectFlags & ~OBJECT_FLAG_MASK));
|
||||
mozilla::PodZero(this);
|
||||
this->clasp = clasp;
|
||||
this->clasp_ = clasp;
|
||||
this->parent = parent;
|
||||
this->metadata = metadata;
|
||||
this->flags = objectFlags;
|
||||
@ -654,7 +654,7 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
|
||||
~BaseShape();
|
||||
|
||||
BaseShape &operator=(const BaseShape &other) {
|
||||
clasp = other.clasp;
|
||||
clasp_ = other.clasp_;
|
||||
parent = other.parent;
|
||||
metadata = other.metadata;
|
||||
flags = other.flags;
|
||||
@ -679,6 +679,8 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
|
||||
return *this;
|
||||
}
|
||||
|
||||
const Class *clasp() const { return clasp_; }
|
||||
|
||||
bool isOwned() const { return !!(flags & OWNED_SHAPE); }
|
||||
|
||||
bool matchesGetterSetter(PropertyOp rawGetter, StrictPropertyOp rawSetter) const {
|
||||
@ -760,7 +762,7 @@ class BaseShape : public gc::BarrieredCell<BaseShape>
|
||||
|
||||
private:
|
||||
static void staticAsserts() {
|
||||
JS_STATIC_ASSERT(offsetof(BaseShape, clasp) == offsetof(js::shadow::BaseShape, clasp));
|
||||
JS_STATIC_ASSERT(offsetof(BaseShape, clasp_) == offsetof(js::shadow::BaseShape, clasp_));
|
||||
}
|
||||
};
|
||||
|
||||
@ -817,7 +819,7 @@ struct StackBaseShape
|
||||
|
||||
explicit StackBaseShape(BaseShape *base)
|
||||
: flags(base->flags & BaseShape::OBJECT_FLAG_MASK),
|
||||
clasp(base->clasp),
|
||||
clasp(base->clasp_),
|
||||
parent(base->parent),
|
||||
metadata(base->metadata),
|
||||
rawGetter(nullptr),
|
||||
@ -856,7 +858,7 @@ inline
|
||||
BaseShape::BaseShape(const StackBaseShape &base)
|
||||
{
|
||||
mozilla::PodZero(this);
|
||||
this->clasp = base.clasp;
|
||||
this->clasp_ = base.clasp;
|
||||
this->parent = base.parent;
|
||||
this->metadata = base.metadata;
|
||||
this->flags = base.flags;
|
||||
@ -1030,7 +1032,7 @@ class Shape : public gc::BarrieredCell<Shape>
|
||||
};
|
||||
|
||||
const Class *getObjectClass() const {
|
||||
return base()->clasp;
|
||||
return base()->clasp_;
|
||||
}
|
||||
JSObject *getObjectParent() const { return base()->parent; }
|
||||
JSObject *getObjectMetadata() const { return base()->metadata; }
|
||||
@ -1481,7 +1483,7 @@ struct StackShape
|
||||
uint32_t maybeSlot() const { return slot_; }
|
||||
|
||||
uint32_t slotSpan() const {
|
||||
uint32_t free = JSSLOT_FREE(base->clasp);
|
||||
uint32_t free = JSSLOT_FREE(base->clasp_);
|
||||
return hasMissingSlot() ? free : (maybeSlot() + 1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user