Backed out changeset 19047d153c2f (bug 1532289) for build bustages at bug1532289.js. CLOSED TREE
authorBrindusan Cristian <cbrindusan@mozilla.com>
Tue, 05 Mar 2019 23:24:31 +0200
changeset 520318 ed1aa72d1ba31a43c8961272c8253a0cde4ede92
parent 520317 1b825b6f386925ae7cbd762f6dd78a693a77a7cc
child 520319 a59527dafca1d132facf8830c35cf1239ab7f0c2
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1532289
milestone67.0a1
backs out19047d153c2f5ddf5184def2be0745d2f1d936a8
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 19047d153c2f (bug 1532289) for build bustages at bug1532289.js. CLOSED TREE
js/src/jit-test/tests/gc/bug1532289.js
js/src/vm/TypeInference.cpp
js/src/vm/TypeSet.h
deleted file mode 100644
--- a/js/src/jit-test/tests/gc/bug1532289.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// |jit-test| --ion-warmup-threshold=0; --ion-offthread-compile=off
-
-gczeal(4,40);
-
-var x;
-var y = false;
-
-function f(v) { x = v; while (y) {} }
-
-for (var z=1; z < 1e5; z++) { f(BigInt(z)); }
--- a/js/src/vm/TypeInference.cpp
+++ b/js/src/vm/TypeInference.cpp
@@ -1847,17 +1847,17 @@ JSObject* HeapTypeSetKey::singleton(Comp
 }
 
 bool HeapTypeSetKey::needsBarrier(CompilerConstraintList* constraints) {
   TypeSet* types = maybeTypes();
   if (!types) {
     return false;
   }
   bool result = types->unknownObject() || types->getObjectCount() > 0 ||
-                types->hasAnyFlag(TYPE_FLAG_PRIMITIVE_GCTHING);
+                types->hasAnyFlag(TYPE_FLAG_STRING | TYPE_FLAG_SYMBOL);
   if (!result) {
     freeze(constraints);
   }
   return result;
 }
 
 namespace {
 
--- a/js/src/vm/TypeSet.h
+++ b/js/src/vm/TypeSet.h
@@ -82,26 +82,20 @@ enum : uint32_t {
   TYPE_FLAG_INT32 = 0x8,
   TYPE_FLAG_DOUBLE = 0x10,
   TYPE_FLAG_STRING = 0x20,
   TYPE_FLAG_SYMBOL = 0x40,
   TYPE_FLAG_BIGINT = 0x80,
   TYPE_FLAG_LAZYARGS = 0x100,
   TYPE_FLAG_ANYOBJECT = 0x200,
 
-  /* Mask containing all "immediate" primitives (not heap-allocated) */
-  TYPE_FLAG_PRIMITIVE_IMMEDIATE = TYPE_FLAG_UNDEFINED | TYPE_FLAG_NULL |
-      TYPE_FLAG_BOOLEAN | TYPE_FLAG_INT32 | TYPE_FLAG_DOUBLE,
-  /* Mask containing all GCThing primitives (heap-allocated) */
-  TYPE_FLAG_PRIMITIVE_GCTHING =
-      TYPE_FLAG_STRING | TYPE_FLAG_SYMBOL | TYPE_FLAG_BIGINT,
-
   /* Mask containing all primitives */
-  TYPE_FLAG_PRIMITIVE =
-      TYPE_FLAG_PRIMITIVE_IMMEDIATE | TYPE_FLAG_PRIMITIVE_GCTHING,
+  TYPE_FLAG_PRIMITIVE = TYPE_FLAG_UNDEFINED | TYPE_FLAG_NULL |
+                        TYPE_FLAG_BOOLEAN | TYPE_FLAG_INT32 | TYPE_FLAG_DOUBLE |
+                        TYPE_FLAG_STRING | TYPE_FLAG_SYMBOL | TYPE_FLAG_BIGINT,
 
   /* Mask/shift for the number of objects in objectSet */
   TYPE_FLAG_OBJECT_COUNT_MASK = 0x3c00,
   TYPE_FLAG_OBJECT_COUNT_SHIFT = 10,
   TYPE_FLAG_OBJECT_COUNT_LIMIT = 7,
   TYPE_FLAG_DOMOBJECT_COUNT_LIMIT =
       TYPE_FLAG_OBJECT_COUNT_MASK >> TYPE_FLAG_OBJECT_COUNT_SHIFT,