Bladeren bron

Enabling the well-known symbols IsConcatSpreadable, ToPrimitive and HasInstance by default

Aneesh Divakarakurup 9 jaren geleden
bovenliggende
commit
748522749c

+ 6 - 25
lib/Common/ConfigFlagsList.h

@@ -516,12 +516,7 @@ PHASE(All)
     #define DEFAULT_CONFIG_ES6FunctionNameFull     (false)
 #endif
 #define DEFAULT_CONFIG_ES6Generators           (true)
-#ifdef COMPILE_DISABLE_ES6IsConcatSpreadable
-    // If ES6IsConcatSpreadable needs to be disabled by compile flag, COMPILE_DISABLE_ES6IsConcatSpreadable should be false
-    #define DEFAULT_CONFIG_ES6IsConcatSpreadable   (false)
-#else
-    #define DEFAULT_CONFIG_ES6IsConcatSpreadable   (false)
-#endif
+#define DEFAULT_CONFIG_ES6IsConcatSpreadable   (true)
 #define DEFAULT_CONFIG_ES6Math                 (true)
 #ifdef COMPILE_DISABLE_ES6Module
     // If ES6Module needs to be disabled by compile flag, DEFAULT_CONFIG_ES6Module should be false
@@ -544,7 +539,7 @@ PHASE(All)
 #else
     #define DEFAULT_CONFIG_ES6PrototypeChain       (false)
 #endif
-#define DEFAULT_CONFIG_ES6ToPrimitive          (false)
+#define DEFAULT_CONFIG_ES6ToPrimitive          (true)
 #define DEFAULT_CONFIG_ES6ToLength             (false)
 #define DEFAULT_CONFIG_ES6ToStringTag          (true)
 #define DEFAULT_CONFIG_ES6Unicode              (true)
@@ -563,12 +558,7 @@ PHASE(All)
 #else
     #define DEFAULT_CONFIG_ES6RegExSymbols         (false)
 #endif
-#ifdef COMPILE_DISABLE_ES6HasInstance
-    // If ES6HasInstance needs to be disabled by compile flag, DEFAULT_CONFIG_ES6HasInstanceOf should be false
-    #define DEFAULT_CONFIG_ES6HasInstanceOf        (false)
-#else
-    #define DEFAULT_CONFIG_ES6HasInstanceOf        (false)
-#endif
+#define DEFAULT_CONFIG_ES6HasInstance          (true)
 #ifdef COMPILE_DISABLE_ArrayBufferTransfer
     // If ArrayBufferTransfer needs to be disabled by compile flag, DEFAULT_CONFIG_ArrayBufferTransfer should be false
     #define DEFAULT_CONFIG_ArrayBufferTransfer     (false)
@@ -976,10 +966,7 @@ FLAGPR           (Boolean, ES6, ES7ExponentiationOperator, "Enable ES7 exponenti
 
 FLAGPR           (Boolean, ES6, ES7ValuesEntries       , "Enable ES7 Object.values and Object.entries"              , DEFAULT_CONFIG_ES7ValuesEntries)
 FLAGPR           (Boolean, ES6, ES7TrailingComma       , "Enable ES7 trailing comma in function"                    , DEFAULT_CONFIG_ES7TrailingComma)
-#ifndef COMPILE_DISABLE_ES6IsConcatSpreadable
-    #define COMPILE_DISABLE_ES6IsConcatSpreadable 0
-#endif
-FLAGPR_REGOVR_EXP(Boolean, ES6, ES6IsConcatSpreadable  , "Enable ES6 isConcatSpreadable Symbol"                     , DEFAULT_CONFIG_ES6IsConcatSpreadable)
+FLAGPR           (Boolean, ES6, ES6IsConcatSpreadable  , "Enable ES6 isConcatSpreadable Symbol"                     , DEFAULT_CONFIG_ES6IsConcatSpreadable)
 FLAGPR           (Boolean, ES6, ES6Math                , "Enable ES6 Math extensions"                               , DEFAULT_CONFIG_ES6Math)
 
 #ifndef COMPILE_DISABLE_ES6Module
@@ -1000,10 +987,7 @@ FLAGPR           (Boolean, ES6, ES6StringPrototypeFixes, "Enable ES6 String.prot
     #define COMPILE_DISABLE_ES6PrototypeChain 0
 #endif
 FLAGPR_REGOVR_EXP(Boolean, ES6, ES6PrototypeChain      , "Enable ES6 prototypes (Example: Date prototype is object)", DEFAULT_CONFIG_ES6PrototypeChain)
-#ifndef COMPILE_DISABLE_ES6ToPrimitive
-    #define COMPILE_DISABLE_ES6ToPrimitive 0
-#endif
-FLAGPR_REGOVR_EXP(Boolean, ES6, ES6ToPrimitive         , "Enable ES6 ToPrimitive symbol"                            , DEFAULT_CONFIG_ES6ToPrimitive)
+FLAGPR           (Boolean, ES6, ES6ToPrimitive         , "Enable ES6 ToPrimitive symbol"                            , DEFAULT_CONFIG_ES6ToPrimitive)
 FLAGPR           (Boolean, ES6, ES6ToLength            , "Enable ES6 ToLength fixes"                                , DEFAULT_CONFIG_ES6ToLength)
 FLAGPR           (Boolean, ES6, ES6ToStringTag         , "Enable ES6 ToStringTag symbol"                            , DEFAULT_CONFIG_ES6ToStringTag)
 FLAGPR           (Boolean, ES6, ES6Unicode             , "Enable ES6 Unicode 6.0 extensions"                        , DEFAULT_CONFIG_ES6Unicode)
@@ -1021,10 +1005,7 @@ FLAGPR_REGOVR_EXP(Boolean, ES6, ES6RegExPrototypeProperties, "Enable ES6 propert
 #endif
 FLAGPR_REGOVR_EXP(Boolean, ES6, ES6RegExSymbols        , "Enable ES6 RegExp symbols"                                , DEFAULT_CONFIG_ES6RegExSymbols)
 
-#ifndef COMPILE_DISABLE_ES6HasInstance
-    #define COMPILE_DISABLE_ES6HasInstance 0
-#endif
-FLAGPR_REGOVR_EXP(Boolean, ES6, ES6HasInstance         , "Enable ES6 @@hasInstance symbol"                          , DEFAULT_CONFIG_ES6HasInstanceOf)
+FLAGPR           (Boolean, ES6, ES6HasInstance         , "Enable ES6 @@hasInstance symbol"                          , DEFAULT_CONFIG_ES6HasInstance)
 FLAGPR           (Boolean, ES6, ES6Verbose             , "Enable ES6 verbose trace"                                 , DEFAULT_CONFIG_ES6Verbose)
 
 #ifndef COMPILE_DISABLE_ArrayBufferTransfer

+ 11 - 0
lib/Runtime/Language/JavascriptConversion.cpp

@@ -321,6 +321,7 @@ CommonNumber:
     //    Boolean:  The result equals the input argument (no conversion).
     //    Number:   The result equals the input argument (no conversion).
     //    String:   The result equals the input argument (no conversion).
+    //    VariantDate:Returns the value for variant date by calling ToPrimitve directly.
     //    Object:   Return a default value for the Object.
     //              The default value of an object is retrieved by calling the [[DefaultValue]]
     //              internal method of the object, passing the optional hint PreferredType.
@@ -340,6 +341,16 @@ CommonNumber:
         case TypeIds_Symbol:
             return aValue;
 
+        case TypeIds_VariantDate:
+            {
+                Var result = nullptr;
+                if (JavascriptVariantDate::FromVar(aValue)->ToPrimitive(hint, &result, requestContext) != TRUE)
+                {
+                    result = nullptr;
+                }
+                return result;
+            }
+
         case TypeIds_StringObject:
             {
                 JavascriptStringObject * stringObject = JavascriptStringObject::FromVar(aValue);

+ 7 - 6
lib/Runtime/Language/JavascriptOperators.cpp

@@ -6986,13 +6986,14 @@ CommonNumber:
                 {
                     JavascriptError::ThrowTypeError(scriptContext, JSERR_Property_NeedFunction, _u("Symbol[Symbol.hasInstance]"));
                 }
+
+                ThreadContext * threadContext = scriptContext->GetThreadContext();
                 RecyclableObject *instFunc = RecyclableObject::FromVar(instOfHandler);
-                Js::Var values[2];
-                Js::CallInfo info(Js::CallFlags_Value, 2);
-                Js::Arguments args(info, values);
-                values[0] = constructor;
-                values[1] = instance;
-                Var result = JavascriptFunction::CallFunction<true>(instFunc, instFunc->GetEntryPoint(), args);
+                Var result = threadContext->ExecuteImplicitCall(instFunc, ImplicitCall_Accessor, [=]()->Js::Var
+                {
+                    return CALL_FUNCTION(instFunc, CallInfo(CallFlags_Value, 2), constructor, instance);
+                });
+
                 return  JavascriptBoolean::ToVar(JavascriptConversion::ToBoolean(result, scriptContext) ? TRUE : FALSE, scriptContext);
             }
         }

+ 9 - 0
test/DebuggerCommon/ES6_intl_simple_attach.js.dbg.baseline

@@ -150,6 +150,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -177,6 +178,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -193,6 +195,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -317,6 +320,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -344,6 +348,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -360,6 +365,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -484,6 +490,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -517,6 +524,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },
@@ -532,6 +540,7 @@
               "bind": "function <large string>",
               "call": "function <large string>",
               "toString": "function <large string>",
+              "Symbol.hasInstance": "function <large string>",
               "caller": "Error <large string>",
               "arguments": "Error <large string>"
             },

+ 2 - 0
test/DebuggerCommon/ES6_proto_simple.js.dbg.baseline

@@ -46,6 +46,7 @@
           "bind": "function <large string>",
           "call": "function <large string>",
           "toString": "function <large string>",
+          "Symbol.hasInstance": "function <large string>",
           "caller": "object null",
           "arguments": "object null"
         },
@@ -67,6 +68,7 @@
           "bind": "function <large string>",
           "call": "function <large string>",
           "toString": "function <large string>",
+          "Symbol.hasInstance": "function <large string>",
           "caller": "object null",
           "arguments": "object null"
         },

+ 3 - 0
test/DebuggerCommon/ES6_proto_userDefinedObject.js.dbg.baseline

@@ -59,6 +59,7 @@
           "bind": "function <large string>",
           "call": "function <large string>",
           "toString": "function <large string>",
+          "Symbol.hasInstance": "function <large string>",
           "caller": "object null",
           "arguments": "object null"
         },
@@ -80,6 +81,7 @@
           "bind": "function <large string>",
           "call": "function <large string>",
           "toString": "function <large string>",
+          "Symbol.hasInstance": "function <large string>",
           "caller": "object null",
           "arguments": "object null"
         },
@@ -124,6 +126,7 @@
           "bind": "function <large string>",
           "call": "function <large string>",
           "toString": "function <large string>",
+          "Symbol.hasInstance": "function <large string>",
           "caller": "object null",
           "arguments": "object null"
         },

+ 1 - 0
test/DebuggerCommon/TempStrExpr.js.dbg.baseline

@@ -122,6 +122,7 @@
           "bind": "function <large string>",
           "call": "function <large string>",
           "toString": "function <large string>",
+          "Symbol.hasInstance": "function <large string>",
           "caller": "Error <large string>",
           "arguments": "Error <large string>"
         },

+ 1 - 0
test/DebuggerCommon/TypedArray.js.dbg.baseline

@@ -12,6 +12,7 @@
             "bind": "function function bind() { [native code] }",
             "call": "function function call() { [native code] }",
             "toString": "function function toString() { [native code] }",
+            "Symbol.hasInstance": "function function [Symbol.hasInstance]() { [native code] }",
             "caller": "Error 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context",
             "arguments": "Error 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context"
           },

+ 1 - 0
test/DebuggerCommon/bug_543550.js.dbg.baseline

@@ -118,6 +118,7 @@
           "bind": "function function bind() { [native code] }",
           "call": "function function call() { [native code] }",
           "toString": "function function toString() { [native code] }",
+          "Symbol.hasInstance": "function function [Symbol.hasInstance]() { [native code] }",
           "caller": "Error 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context",
           "arguments": "Error 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context"
         },

+ 1 - 1
test/DebuggerCommon/rlexe.xml

@@ -1200,7 +1200,7 @@
   <test>
     <default>
       <files>symbols.js</files>
-      <compile-flags>-ES6Species -debuglaunch -dbgbaseline:symbols.js.dbg.baseline -es6toprimitive -es6isConcatSpreadable</compile-flags>
+      <compile-flags>-ES6Species -debuglaunch -dbgbaseline:symbols.js.dbg.baseline</compile-flags>
       <tags>fail_mutators,exclude_dynapogo</tags>
     </default>
   </test>

+ 1 - 0
test/DebuggerCommon/specialproperties_level2.js.dbg.baseline

@@ -16,6 +16,7 @@
           "bind": "function function bind() { [native code] }",
           "call": "function function call() { [native code] }",
           "toString": "function function toString() { [native code] }",
+          "Symbol.hasInstance": "function function [Symbol.hasInstance]() { [native code] }",
           "caller": "Error 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context",
           "arguments": "Error 'arguments', 'callee' and 'caller' are restricted function properties and cannot be accessed in this context"
         },

+ 4 - 2
test/DebuggerCommon/step_in_from_interpreted_function_attach.js.dbg.baseline

@@ -157,7 +157,8 @@
           "toTimeString": "function <large string>",
           "toUTCString": "function <large string>",
           "toGMTString": "function <large string>",
-          "valueOf": "function <large string>"
+          "valueOf": "function <large string>",
+          "Symbol.toPrimitive": "function <large string>"
         }
       }
     },
@@ -252,7 +253,8 @@
           "toTimeString": "function <large string>",
           "toUTCString": "function <large string>",
           "toGMTString": "function <large string>",
-          "valueOf": "function <large string>"
+          "valueOf": "function <large string>",
+          "Symbol.toPrimitive": "function <large string>"
         }
       }
     },

+ 5 - 0
test/DebuggerCommon/symbols.js.dbg.baseline

@@ -118,6 +118,7 @@
                 "bind": "function <large string>",
                 "call": "function <large string>",
                 "toString": "function <large string>",
+                "Symbol.hasInstance": "function <large string>",
                 "caller": "Error <large string>",
                 "arguments": "Error <large string>"
               },
@@ -131,6 +132,7 @@
                 "Symbol.toPrimitive": "function <large string>"
               },
               "name": "string Symbol",
+              "hasInstance": "symbol <large string>",
               "isConcatSpreadable": "symbol <large string>",
               "iterator": "symbol <large string>",
               "species": "symbol <large string>",
@@ -165,6 +167,7 @@
                 "bind": "function <large string>",
                 "call": "function <large string>",
                 "toString": "function <large string>",
+                "Symbol.hasInstance": "function <large string>",
                 "caller": "Error <large string>",
                 "arguments": "Error <large string>"
               },
@@ -183,6 +186,7 @@
                 "bind": "function <large string>",
                 "call": "function <large string>",
                 "toString": "function <large string>",
+                "Symbol.hasInstance": "function <large string>",
                 "caller": "Error <large string>",
                 "arguments": "Error <large string>"
               },
@@ -201,6 +205,7 @@
                 "bind": "function <large string>",
                 "call": "function <large string>",
                 "toString": "function <large string>",
+                "Symbol.hasInstance": "function <large string>",
                 "caller": "Error <large string>",
                 "arguments": "Error <large string>"
               },

+ 2 - 0
test/es6/arraywithproxy.baseline

@@ -1,10 +1,12 @@
 concat test#1
 get trap: concat
 get trap: constructor
+get trap: Symbol(Symbol.isConcatSpreadable)
 get trap: length
 concat test#2
 get trap: concat
 get trap: constructor
+get trap: Symbol(Symbol.isConcatSpreadable)
 get trap: length
 has trap: 0
 get trap: 0

+ 2 - 2
test/es6/arraywithproxy.js

@@ -5,14 +5,14 @@
 
 var p1 = new Proxy([], {
     get: function (target, property) {
-        print('get trap: ' + property);
+        print('get trap: ' + property.toString());
         return Reflect['get'].apply(this, arguments);
     }
 });
 
 var p2 = new Proxy([0,1,2,3], {
     get: function (target, property) {
-        print('get trap: ' + property);
+        print('get trap: ' + property.toString());
         return Reflect['get'].apply(this, arguments);
     },
     has: function(target, property){

+ 6 - 6
test/es6/es6_stable.baseline

@@ -29,8 +29,8 @@ FLAG ES6 = 1 - setting child flag ES7ValuesEntries = 1
 FLAG ES7ValuesEntries = 1
 FLAG ES6 = 1 - setting child flag ES7TrailingComma = 1
 FLAG ES7TrailingComma = 1
-FLAG ES6 = 1 - setting child flag ES6IsConcatSpreadable = 0
-FLAG ES6IsConcatSpreadable = 0
+FLAG ES6 = 1 - setting child flag ES6IsConcatSpreadable = 1
+FLAG ES6IsConcatSpreadable = 1
 FLAG ES6 = 1 - setting child flag ES6Math = 1
 FLAG ES6Math = 1
 FLAG ES6 = 1 - setting child flag ES6Module = 0
@@ -55,8 +55,8 @@ FLAG ES6 = 1 - setting child flag ES6StringPrototypeFixes = 1
 FLAG ES6StringPrototypeFixes = 1
 FLAG ES6 = 1 - setting child flag ES6PrototypeChain = 0
 FLAG ES6PrototypeChain = 0
-FLAG ES6 = 1 - setting child flag ES6ToPrimitive = 0
-FLAG ES6ToPrimitive = 0
+FLAG ES6 = 1 - setting child flag ES6ToPrimitive = 1
+FLAG ES6ToPrimitive = 1
 FLAG ES6 = 1 - setting child flag ES6ToLength = 0
 FLAG ES6ToLength = 0
 FLAG ES6 = 1 - setting child flag ES6ToStringTag = 1
@@ -73,8 +73,8 @@ FLAG ES6 = 1 - setting child flag ES6RegExPrototypeProperties = 0
 FLAG ES6RegExPrototypeProperties = 0
 FLAG ES6 = 1 - setting child flag ES6RegExSymbols = 0
 FLAG ES6RegExSymbols = 0
-FLAG ES6 = 1 - setting child flag ES6HasInstance = 0
-FLAG ES6HasInstance = 0
+FLAG ES6 = 1 - setting child flag ES6HasInstance = 1
+FLAG ES6HasInstance = 1
 FLAG ES6 = 1 - setting child flag ES6Verbose = 0
 FLAG ES6Verbose = 0
 FLAG ES6 = 1 - setting child flag ArrayBufferTransfer = 0

+ 6 - 6
test/es6/es6_stable.enable_disable.baseline

@@ -29,8 +29,8 @@ FLAG ES6 = 1 - setting child flag ES7ValuesEntries = 1
 FLAG ES7ValuesEntries = 1
 FLAG ES6 = 1 - setting child flag ES7TrailingComma = 1
 FLAG ES7TrailingComma = 1
-FLAG ES6 = 1 - setting child flag ES6IsConcatSpreadable = 0
-FLAG ES6IsConcatSpreadable = 0
+FLAG ES6 = 1 - setting child flag ES6IsConcatSpreadable = 1
+FLAG ES6IsConcatSpreadable = 1
 FLAG ES6 = 1 - setting child flag ES6Math = 1
 FLAG ES6Math = 1
 FLAG ES6 = 1 - setting child flag ES6Module = 0
@@ -55,8 +55,8 @@ FLAG ES6 = 1 - setting child flag ES6StringPrototypeFixes = 1
 FLAG ES6StringPrototypeFixes = 1
 FLAG ES6 = 1 - setting child flag ES6PrototypeChain = 0
 FLAG ES6PrototypeChain = 0
-FLAG ES6 = 1 - setting child flag ES6ToPrimitive = 0
-FLAG ES6ToPrimitive = 0
+FLAG ES6 = 1 - setting child flag ES6ToPrimitive = 1
+FLAG ES6ToPrimitive = 1
 FLAG ES6 = 1 - setting child flag ES6ToLength = 0
 FLAG ES6ToLength = 0
 FLAG ES6 = 1 - setting child flag ES6ToStringTag = 1
@@ -73,8 +73,8 @@ FLAG ES6 = 1 - setting child flag ES6RegExPrototypeProperties = 0
 FLAG ES6RegExPrototypeProperties = 0
 FLAG ES6 = 1 - setting child flag ES6RegExSymbols = 0
 FLAG ES6RegExSymbols = 0
-FLAG ES6 = 1 - setting child flag ES6HasInstance = 0
-FLAG ES6HasInstance = 0
+FLAG ES6 = 1 - setting child flag ES6HasInstance = 1
+FLAG ES6HasInstance = 1
 FLAG ES6 = 1 - setting child flag ES6Verbose = 0
 FLAG ES6Verbose = 0
 FLAG ES6 = 1 - setting child flag ArrayBufferTransfer = 0

+ 9 - 9
test/es6/rlexe.xml

@@ -28,13 +28,13 @@
   <test>
     <default>
       <files>es6toLength.js</files>
-      <compile-flags>-es6toLength -es6isconcatspreadable -args summary -endargs</compile-flags>
+      <compile-flags>-es6toLength -args summary -endargs</compile-flags>
     </default>
   </test>
   <test>
     <default>
       <files>toPrimitiveCrossScriptTestCase.js</files>
-      <compile-flags>-es6toprimitive</compile-flags>
+      <compile-flags></compile-flags>
     </default>
   </test>
   <test>
@@ -59,7 +59,7 @@
   <test>
     <default>
       <files>toPrimitiveJitBug654983.js</files>
-      <compile-flags>-es6toprimitive -trace:bailout</compile-flags>
+      <compile-flags>-trace:bailout</compile-flags>
       <!-- This test sometimes fails with bailout trace output.  Pending investigation in bug OS 5244610. -->
       <tags>fail</tags>
     </default>
@@ -67,13 +67,13 @@
   <test>
     <default>
       <files>es6IsConcatSpreadable.js</files>
-      <compile-flags>-es6tolength -es6isconcatspreadable -args summary -endargs</compile-flags>
+      <compile-flags>-es6tolength -args summary -endargs</compile-flags>
     </default>
   </test>
   <test>
     <default>
       <files>toPrimitive.js</files>
-      <compile-flags>-es6regexsymbols -es6toprimitive -es6hasInstance -es6isconcatspreadable -es6functionname -args summary -endargs</compile-flags>
+      <compile-flags>-es6regexsymbols -es6functionname -args summary -endargs</compile-flags>
     </default>
   </test>
   <test>
@@ -85,13 +85,13 @@
   <test>
     <default>
       <files>function.name.js</files>
-      <compile-flags>-ES6Generators -es6toprimitive -ES6Classes -es6functionnamefull -args summary -endargs</compile-flags>
+      <compile-flags>-ES6Generators -ES6Classes -es6functionnamefull -args summary -endargs</compile-flags>
     </default>
   </test>
   <test>
     <default>
       <files>function.name.js</files>
-      <compile-flags>-ES6Generators -es6toprimitive -ES6Classes -es6functionnamefull -force:deferparse -args summary -endargs</compile-flags>
+      <compile-flags>-ES6Generators -ES6Classes -es6functionnamefull -force:deferparse -args summary -endargs</compile-flags>
     </default>
   </test>
   <test>
@@ -461,7 +461,7 @@
   <test>
     <default>
       <files>ES6Symbol.js</files>
-      <compile-flags>-ES6ObjectLiterals -es6toprimitive -es6isConcatSpreadable -ES6Species -ES6HasInstance -ES6RegExSymbols -args summary -endargs</compile-flags>
+      <compile-flags>-ES6ObjectLiterals -ES6Species -ES6RegExSymbols -args summary -endargs</compile-flags>
     </default>
   </test>
   <test>
@@ -1214,7 +1214,7 @@
 <test>
     <default>
         <files>es6HasInstance.js</files>
-        <compile-flags>-es6HasInstance -args summary -endargs</compile-flags>
+        <compile-flags>-args summary -endargs</compile-flags>
     </default>
 </test>
 <test>