Title: [164904] trunk/Source/_javascript_Core
Revision
164904
Author
akl...@apple.com
Date
2014-02-28 20:01:06 -0800 (Fri, 28 Feb 2014)

Log Message

JSObject::findPropertyHashEntry() should take VM instead of ExecState.
<https://webkit.org/b/129529>

Callers already have VM in a local, and findPropertyHashEntry() only
uses the VM, no need to go all the way through ExecState.

Reviewed by Geoffrey Garen.

* runtime/JSObject.cpp:
(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::findPropertyHashEntry):
* runtime/JSObject.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (164903 => 164904)


--- trunk/Source/_javascript_Core/ChangeLog	2014-03-01 03:11:49 UTC (rev 164903)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-03-01 04:01:06 UTC (rev 164904)
@@ -1,3 +1,19 @@
+2014-02-28  Andreas Kling  <akl...@apple.com>
+
+        JSObject::findPropertyHashEntry() should take VM instead of ExecState.
+        <https://webkit.org/b/129529>
+
+        Callers already have VM in a local, and findPropertyHashEntry() only
+        uses the VM, no need to go all the way through ExecState.
+
+        Reviewed by Geoffrey Garen.
+
+        * runtime/JSObject.cpp:
+        (JSC::JSObject::put):
+        (JSC::JSObject::deleteProperty):
+        (JSC::JSObject::findPropertyHashEntry):
+        * runtime/JSObject.h:
+
 2014-02-28  Joseph Pecoraro  <pecor...@apple.com>
 
         Deadlock remotely inspecting iOS Simulator

Modified: trunk/Source/_javascript_Core/runtime/JSObject.cpp (164903 => 164904)


--- trunk/Source/_javascript_Core/runtime/JSObject.cpp	2014-03-01 03:11:49 UTC (rev 164903)
+++ trunk/Source/_javascript_Core/runtime/JSObject.cpp	2014-03-01 04:01:06 UTC (rev 164904)
@@ -396,7 +396,7 @@
         }
         const ClassInfo* info = obj->classInfo();
         if (info->hasStaticSetterOrReadonlyProperties(vm)) {
-            if (const HashEntry* entry = obj->findPropertyHashEntry(exec, propertyName)) {
+            if (const HashEntry* entry = obj->findPropertyHashEntry(vm, propertyName)) {
                 putEntry(exec, entry, obj, propertyName, value, slot);
                 return;
             }
@@ -1273,7 +1273,7 @@
     }
 
     // Look in the static hashtable of properties
-    const HashEntry* entry = thisObject->findPropertyHashEntry(exec, propertyName);
+    const HashEntry* entry = thisObject->findPropertyHashEntry(vm, propertyName);
     if (entry) {
         if (entry->attributes() & DontDelete && !vm.isInDefineOwnProperty())
             return false; // this builtin property can't be deleted
@@ -1401,11 +1401,11 @@
     return exec->vm().throwException(exec, createTypeError(exec, ASCIILiteral("No default value")));
 }
 
-const HashEntry* JSObject::findPropertyHashEntry(ExecState* exec, PropertyName propertyName) const
+const HashEntry* JSObject::findPropertyHashEntry(VM& vm, PropertyName propertyName) const
 {
     for (const ClassInfo* info = classInfo(); info; info = info->parentClass) {
-        if (const HashTable* propHashTable = info->propHashTable(exec)) {
-            if (const HashEntry* entry = propHashTable->entry(exec, propertyName))
+        if (const HashTable* propHashTable = info->propHashTable(vm)) {
+            if (const HashEntry* entry = propHashTable->entry(vm, propertyName))
                 return entry;
         }
     }

Modified: trunk/Source/_javascript_Core/runtime/JSObject.h (164903 => 164904)


--- trunk/Source/_javascript_Core/runtime/JSObject.h	2014-03-01 03:11:49 UTC (rev 164903)
+++ trunk/Source/_javascript_Core/runtime/JSObject.h	2014-03-01 04:01:06 UTC (rev 164904)
@@ -952,7 +952,7 @@
     bool inlineGetOwnPropertySlot(ExecState*, PropertyName, PropertySlot&);
     JS_EXPORT_PRIVATE void fillGetterPropertySlot(PropertySlot&, JSValue, unsigned, PropertyOffset);
 
-    const HashEntry* findPropertyHashEntry(ExecState*, PropertyName) const;
+    const HashEntry* findPropertyHashEntry(VM&, PropertyName) const;
         
     void putIndexedDescriptor(ExecState*, SparseArrayEntry*, const PropertyDescriptor&, PropertyDescriptor& old);
         
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to