Title: [206790] trunk/Source/_javascript_Core
Revision
206790
Author
utatane....@gmail.com
Date
2016-10-04 15:51:38 -0700 (Tue, 04 Oct 2016)

Log Message

REGRESSION (r206778): Release JSC test ChakraCore.yaml/ChakraCore/test/Error/validate_line_column.js.default failing
https://bugs.webkit.org/show_bug.cgi?id=162937

Reviewed by Saam Barati.

We dropped _expression_ info accidentally at r206777.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCallDefineProperty):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitPutConstantProperty):
(JSC::ClassExprNode::emitBytecode):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (206789 => 206790)


--- trunk/Source/_javascript_Core/ChangeLog	2016-10-04 22:41:01 UTC (rev 206789)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-10-04 22:51:38 UTC (rev 206790)
@@ -1,5 +1,21 @@
 2016-10-04  Yusuke Suzuki  <utatane....@gmail.com>
 
+        REGRESSION (r206778): Release JSC test ChakraCore.yaml/ChakraCore/test/Error/validate_line_column.js.default failing
+        https://bugs.webkit.org/show_bug.cgi?id=162937
+
+        Reviewed by Saam Barati.
+
+        We dropped _expression_ info accidentally at r206777.
+
+        * bytecompiler/BytecodeGenerator.cpp:
+        (JSC::BytecodeGenerator::emitCallDefineProperty):
+        * bytecompiler/BytecodeGenerator.h:
+        * bytecompiler/NodesCodegen.cpp:
+        (JSC::PropertyListNode::emitPutConstantProperty):
+        (JSC::ClassExprNode::emitBytecode):
+
+2016-10-04  Yusuke Suzuki  <utatane....@gmail.com>
+
         [DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information
         https://bugs.webkit.org/show_bug.cgi?id=162916
 

Modified: trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp (206789 => 206790)


--- trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp	2016-10-04 22:41:01 UTC (rev 206789)
+++ trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp	2016-10-04 22:51:38 UTC (rev 206790)
@@ -3278,7 +3278,7 @@
 }
 
 void BytecodeGenerator::emitCallDefineProperty(RegisterID* newObj, RegisterID* propertyNameRegister,
-    RegisterID* valueRegister, RegisterID* getterRegister, RegisterID* setterRegister, unsigned options)
+    RegisterID* valueRegister, RegisterID* getterRegister, RegisterID* setterRegister, unsigned options, const JSTextPosition& position)
 {
     DefinePropertyAttributes attributes;
     if (options & PropertyConfigurable)
@@ -3301,6 +3301,8 @@
 
     ASSERT(!valueRegister || (!getterRegister && !setterRegister));
 
+    emitExpressionInfo(position, position, position);
+
     if (attributes.hasGet() || attributes.hasSet()) {
         RefPtr<RegisterID> throwTypeErrorFunction;
         if (!attributes.hasGet() || !attributes.hasSet())

Modified: trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.h (206789 => 206790)


--- trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.h	2016-10-04 22:41:01 UTC (rev 206789)
+++ trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.h	2016-10-04 22:51:38 UTC (rev 206790)
@@ -588,7 +588,7 @@
             PropertyEnumerable   = 1 << 2,
         };
         void emitCallDefineProperty(RegisterID* newObj, RegisterID* propertyNameRegister,
-            RegisterID* valueRegister, RegisterID* getterRegister, RegisterID* setterRegister, unsigned options);
+            RegisterID* valueRegister, RegisterID* getterRegister, RegisterID* setterRegister, unsigned options, const JSTextPosition&);
 
         void emitEnumeration(ThrowableExpressionData* enumerationNode, ExpressionNode* subjectNode, const std::function<void(BytecodeGenerator&, RegisterID*)>& callBack, ForOfNode* = nullptr, RegisterID* forLoopSymbolTable = nullptr);
 

Modified: trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp (206789 => 206790)


--- trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp	2016-10-04 22:41:01 UTC (rev 206789)
+++ trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp	2016-10-04 22:51:38 UTC (rev 206790)
@@ -595,7 +595,7 @@
             propertyNameRegister = generator.emitNode(node.m_expression);
 
         generator.emitSetFunctionNameIfNeeded(node.m_assign, value.get(), propertyNameRegister.get());
-        generator.emitCallDefineProperty(newObj, propertyNameRegister.get(), value.get(), nullptr, nullptr, BytecodeGenerator::PropertyConfigurable | BytecodeGenerator::PropertyWritable);
+        generator.emitCallDefineProperty(newObj, propertyNameRegister.get(), value.get(), nullptr, nullptr, BytecodeGenerator::PropertyConfigurable | BytecodeGenerator::PropertyWritable, m_position);
         return;
     }
     if (const auto* identifier = node.name()) {
@@ -3611,10 +3611,10 @@
 
     RefPtr<RegisterID> constructorNameRegister = generator.emitLoad(nullptr, propertyNames.constructor);
     generator.emitCallDefineProperty(prototype.get(), constructorNameRegister.get(), constructor.get(), nullptr, nullptr,
-        BytecodeGenerator::PropertyConfigurable | BytecodeGenerator::PropertyWritable);
+        BytecodeGenerator::PropertyConfigurable | BytecodeGenerator::PropertyWritable, m_position);
 
     RefPtr<RegisterID> prototypeNameRegister = generator.emitLoad(nullptr, propertyNames.prototype);
-    generator.emitCallDefineProperty(constructor.get(), prototypeNameRegister.get(), prototype.get(), nullptr, nullptr, 0);
+    generator.emitCallDefineProperty(constructor.get(), prototypeNameRegister.get(), prototype.get(), nullptr, nullptr, 0, m_position);
 
     if (m_staticMethods)
         generator.emitNode(constructor.get(), m_staticMethods);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to