WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
the patch
blah.patch (text/plain), 5.04 KB, created by
Filip Pizlo
on 2015-08-29 13:21:46 PDT
(
hide
)
Description:
the patch
Filename:
MIME Type:
Creator:
Filip Pizlo
Created:
2015-08-29 13:21:46 PDT
Size:
5.04 KB
patch
obsolete
>Index: Source/JavaScriptCore/ChangeLog >=================================================================== >--- Source/JavaScriptCore/ChangeLog (revision 189153) >+++ Source/JavaScriptCore/ChangeLog (working copy) >@@ -1,3 +1,26 @@ >+2015-08-29 Filip Pizlo <fpizlo@apple.com> >+ >+ JSC property attributes should fit in a byte >+ https://bugs.webkit.org/show_bug.cgi?id=148611 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ In order to do some other useful things with properties, we need some more room in >+ PropertyMapEntry. So, I made attributes take a byte. To do this, I needed to remove an old unused >+ attribute, called ConstantInteger. >+ >+ * runtime/Lookup.h: >+ (JSC::HashTableValue::accessorGetter): >+ (JSC::HashTableValue::accessorSetter): >+ (JSC::HashTableValue::lexerValue): >+ (JSC::getStaticPropertySlot): >+ (JSC::getStaticValueSlot): >+ (JSC::reifyStaticProperties): >+ (JSC::HashTableValue::constantInteger): Deleted. >+ * runtime/PropertySlot.h: >+ * runtime/Structure.h: >+ (JSC::PropertyMapEntry::PropertyMapEntry): >+ > 2015-08-28 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r189136. >Index: Source/JavaScriptCore/runtime/Lookup.h >=================================================================== >--- Source/JavaScriptCore/runtime/Lookup.h (revision 189122) >+++ Source/JavaScriptCore/runtime/Lookup.h (working copy) >@@ -66,8 +66,6 @@ struct HashTableValue { > NativeFunction accessorGetter() const { ASSERT(m_attributes & Accessor); return reinterpret_cast<NativeFunction>(m_value1); } > NativeFunction accessorSetter() const { ASSERT(m_attributes & Accessor); return reinterpret_cast<NativeFunction>(m_value2); } > >- intptr_t constantInteger() const { ASSERT(m_attributes & ConstantInteger); return m_value1; } >- > intptr_t lexerValue() const { ASSERT(!m_attributes); return m_value1; } > }; > >@@ -187,11 +185,6 @@ inline bool getStaticPropertySlot(ExecSt > if (entry->attributes() & BuiltinOrFunctionOrAccessor) > return setUpStaticFunctionSlot(exec, entry, thisObj, propertyName, slot); > >- if (entry->attributes() & ConstantInteger) { >- slot.setValue(thisObj, entry->attributes(), jsNumber(entry->constantInteger())); >- return true; >- } >- > slot.setCacheableCustom(thisObj, entry->attributes(), entry->propertyGetter()); > return true; > } >@@ -228,11 +221,6 @@ inline bool getStaticValueSlot(ExecState > > ASSERT(!(entry->attributes() & BuiltinOrFunctionOrAccessor)); > >- if (entry->attributes() & ConstantInteger) { >- slot.setValue(thisObj, entry->attributes(), jsNumber(entry->constantInteger())); >- return true; >- } >- > slot.setCacheableCustom(thisObj, entry->attributes(), entry->propertyGetter()); > return true; > } >@@ -289,11 +277,6 @@ inline void reifyStaticProperties(VM& vm > continue; > } > >- if (value.attributes() & ConstantInteger) { >- thisObj.putDirect(vm, propertyName, jsNumber(value.constantInteger()), value.attributes()); >- continue; >- } >- > if (value.attributes() & Accessor) { > reifyStaticAccessor(vm, value, thisObj, propertyName); > continue; >Index: Source/JavaScriptCore/runtime/PropertySlot.h >=================================================================== >--- Source/JavaScriptCore/runtime/PropertySlot.h (revision 189122) >+++ Source/JavaScriptCore/runtime/PropertySlot.h (working copy) >@@ -44,10 +44,9 @@ enum Attribute { > Accessor = 1 << 5, // property is a getter/setter > CustomAccessor = 1 << 6, > Builtin = 1 << 7, // property is a builtin function - only used by static hashtables >- ConstantInteger = 1 << 8, // property is a constant integer - only used by static hashtables > BuiltinOrFunction = Builtin | Function, // helper only used by static hashtables > BuiltinOrFunctionOrAccessor = Builtin | Function | Accessor, // helper only used by static hashtables >- BuiltinOrFunctionOrAccessorOrConstant = Builtin | Function | Accessor | ConstantInteger, // helper only used by static hashtables >+ BuiltinOrFunctionOrAccessorOrConstant = Builtin | Function | Accessor, // helper only used by static hashtables > }; > > class PropertySlot { >Index: Source/JavaScriptCore/runtime/Structure.h >=================================================================== >--- Source/JavaScriptCore/runtime/Structure.h (revision 189122) >+++ Source/JavaScriptCore/runtime/Structure.h (working copy) >@@ -80,7 +80,7 @@ static const unsigned outOfLineGrowthFac > struct PropertyMapEntry { > UniquedStringImpl* key; > PropertyOffset offset; >- unsigned attributes; >+ uint8_t attributes; > > PropertyMapEntry() > : key(nullptr) >@@ -92,8 +92,9 @@ struct PropertyMapEntry { > PropertyMapEntry(UniquedStringImpl* key, PropertyOffset offset, unsigned attributes) > : key(key) > , offset(offset) >- , attributes(attributes) >+ , attributes(static_cast<uint8_t>(attributes)) > { >+ ASSERT(this->attributes == attributes); > } > }; >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
fpizlo
:
review-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 148611
:
260226
|
260232
|
260236
|
260237