Title: [229740] trunk/Source/_javascript_Core
Revision
229740
Author
utatane....@gmail.com
Date
2018-03-19 22:34:48 -0700 (Mon, 19 Mar 2018)

Log Message

Drop s_exceptionInstructions static initializer
https://bugs.webkit.org/show_bug.cgi?id=183732

Reviewed by Darin Adler.

Make Instruction constructor constexpr to drop the static constructor
of LLInt::Data::s_exceptionInstructions.

* bytecode/Instruction.h:
(JSC::Instruction::Instruction):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (229739 => 229740)


--- trunk/Source/_javascript_Core/ChangeLog	2018-03-20 05:02:41 UTC (rev 229739)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-03-20 05:34:48 UTC (rev 229740)
@@ -1,3 +1,16 @@
+2018-03-19  Yusuke Suzuki  <utatane....@gmail.com>
+
+        Drop s_exceptionInstructions static initializer
+        https://bugs.webkit.org/show_bug.cgi?id=183732
+
+        Reviewed by Darin Adler.
+
+        Make Instruction constructor constexpr to drop the static constructor
+        of LLInt::Data::s_exceptionInstructions.
+
+        * bytecode/Instruction.h:
+        (JSC::Instruction::Instruction):
+
 2018-03-19  Dan Bernstein  <m...@apple.com>
 
         Investigate why __cpu_indicator_init is used

Modified: trunk/Source/_javascript_Core/bytecode/Instruction.h (229739 => 229740)


--- trunk/Source/_javascript_Core/bytecode/Instruction.h	2018-03-20 05:02:41 UTC (rev 229739)
+++ trunk/Source/_javascript_Core/bytecode/Instruction.h	2018-03-20 05:34:48 UTC (rev 229740)
@@ -55,11 +55,11 @@
 #endif
 
 struct Instruction {
-    Instruction()
+    constexpr Instruction()
+        : u({ nullptr })
     {
-        u.jsCell.clear();
     }
-        
+
     Instruction(Opcode opcode)
     {
 #if !ENABLE(COMPUTED_GOTO_OPCODES)
@@ -119,6 +119,7 @@
     Instruction(bool* predicatePointer) { u.predicatePointer = predicatePointer; }
 
     union {
+        void* pointer;
         Opcode opcode;
         int operand;
         unsigned unsignedValue;
@@ -137,7 +138,6 @@
         ArrayAllocationProfile* arrayAllocationProfile;
         ObjectAllocationProfile* objectAllocationProfile;
         WatchpointSet* watchpointSet;
-        void* pointer;
         bool* predicatePointer;
         ToThisStatus toThisStatus;
         TypeLocation* location;
@@ -149,6 +149,7 @@
     Instruction(StructureChain*);
     Instruction(Structure*);
 };
+static_assert(sizeof(Instruction) == sizeof(void*), "");
 
 } // namespace JSC
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to