From 572517cc8c30dabe82281db3d489a8f3dbeba5a9 Mon Sep 17 00:00:00 2001 From: Katy Voor Date: Wed, 11 Aug 2021 01:46:01 -0700 Subject: [PATCH] Readonly in emitter flag Summary: - Change HackC flag to be "EnableReadonlyInEmitter" - Keep flag "EnableReadOnlyPropertyEnforcement" but don't need to pass this one to HackC so can just replace with "EnableReadonlyInEmitter" - used fastmod Reviewed By: oulgen Differential Revision: D30232537 fbshipit-source-id: a2c69bae735dbc0a3472e0189328696dc96f4455 --- hphp/hack/src/hhbc/hhbc_by_ref/compile.rs | 8 ++++---- hphp/hack/src/hhbc/hhbc_by_ref/emit_expression.rs | 2 +- hphp/hack/src/hhbc/hhbc_by_ref/options.rs | 6 +++--- hphp/hack/src/hhbc/hhbc_options.ml | 18 +++++++++--------- hphp/hack/src/options/globalOptions.ml | 10 +++++----- hphp/hack/src/options/globalOptions.mli | 6 +++--- hphp/hack/src/options/parserOptions.ml | 12 ++++++------ hphp/hack/src/oxidized/gen/global_options.rs | 4 ++-- hphp/hack/src/oxidized/manual/global_options_impl.rs | 2 +- hphp/hack/src/oxidized_by_ref/gen/global_options.rs | 4 ++-- .../src/oxidized_by_ref/manual/global_options_impl.rs | 2 +- hphp/hack/src/parser/aast_parser.rs | 2 +- hphp/runtime/base/runtime-option.cpp | 2 +- hphp/runtime/base/runtime-option.h | 1 + .../readonly/attempted_redefines_mutable.php.hphp_opts | 1 + .../slow/readonly/attempted_redefines_mutable.php.opts | 1 + .../attempted_redefines_readonly.php.hphp_opts | 1 + .../readonly/attempted_redefines_readonly.php.opts | 1 + hphp/test/slow/readonly/config.ini | 1 + hphp/test/slow/readonly/hphp_config.ini | 1 + hphp/test/slow/readonly/nofatal.php.hphp_opts | 1 + hphp/test/slow/readonly/nofatal.php.opts | 1 + 22 files changed, 48 insertions(+), 39 deletions(-) diff --git a/hphp/hack/src/hhbc/hhbc_by_ref/compile.rs b/hphp/hack/src/hhbc/hhbc_by_ref/compile.rs index 375ba355367..edcc6869245 100644 --- a/hphp/hack/src/hhbc/hhbc_by_ref/compile.rs +++ b/hphp/hack/src/hhbc/hhbc_by_ref/compile.rs @@ -75,7 +75,7 @@ bitflags! { pub struct HHBCFlags: u32 { const LTR_ASSIGN=1 << 0; const UVS=1 << 1; - const ENABLE_READONLY_ENFORCEMENT=1 << 2; + const ENABLE_READONLY_IN_EMITTER=1 << 2; // No longer using bit 3. const AUTHORITATIVE=1 << 4; const JIT_ENABLE_RENAME_FUNCTION=1 << 5; @@ -165,8 +165,8 @@ impl HHBCFlags { if self.contains(HHBCFlags::ENABLE_IMPLICIT_CONTEXT) { f |= HhvmFlags::ENABLE_IMPLICIT_CONTEXT; } - if self.contains(HHBCFlags::ENABLE_READONLY_ENFORCEMENT) { - f |= HhvmFlags::ENABLE_READONLY_ENFORCEMENT; + if self.contains(HHBCFlags::ENABLE_READONLY_IN_EMITTER) { + f |= HhvmFlags::ENABLE_READONLY_IN_EMITTER; } f } @@ -543,7 +543,7 @@ fn create_parser_options(opts: &Options) -> ParserOptions { ), po_disallow_inst_meth: hack_lang_flags(LangFlags::DISALLOW_INST_METH), po_escape_brace: hack_lang_flags(LangFlags::ESCAPE_BRACE), - po_enable_readonly_enforcement: hhbc_flags(HhvmFlags::ENABLE_READONLY_ENFORCEMENT), + po_enable_readonly_in_emitter: hhbc_flags(HhvmFlags::ENABLE_READONLY_IN_EMITTER), ..Default::default() } } diff --git a/hphp/hack/src/hhbc/hhbc_by_ref/emit_expression.rs b/hphp/hack/src/hhbc/hhbc_by_ref/emit_expression.rs index ddcffd89a35..e5c93006c43 100644 --- a/hphp/hack/src/hhbc/hhbc_by_ref/emit_expression.rs +++ b/hphp/hack/src/hhbc/hhbc_by_ref/emit_expression.rs @@ -2693,7 +2693,7 @@ fn get_fcall_args<'arena, 'decl, D: DeclProvider<'decl>>( .options() .hhvm .flags - .contains(HhvmFlags::ENABLE_READONLY_ENFORCEMENT) + .contains(HhvmFlags::ENABLE_READONLY_IN_EMITTER) { |expr| is_readonly_expr(expr) } else { diff --git a/hphp/hack/src/hhbc/hhbc_by_ref/options.rs b/hphp/hack/src/hhbc/hhbc_by_ref/options.rs index 7f6eea7d3b9..ee51dd350f7 100644 --- a/hphp/hack/src/hhbc/hhbc_by_ref/options.rs +++ b/hphp/hack/src/hhbc/hhbc_by_ref/options.rs @@ -164,7 +164,7 @@ prefixed_flags!( JIT_ENABLE_RENAME_FUNCTION, LOG_EXTERN_COMPILER_PERF, ENABLE_IMPLICIT_CONTEXT, - ENABLE_READONLY_ENFORCEMENT, + ENABLE_READONLY_IN_EMITTER, ); impl Default for HhvmFlags { fn default() -> HhvmFlags { @@ -679,7 +679,7 @@ mod tests { "hhvm.enable_intrinsics_extension": { "global_value": false }, - "hhvm.enable_readonly_enforcement": { + "hhvm.enable_readonly_in_emitter": { "global_value": false }, "hhvm.fold_lazy_class_keys": { @@ -1149,7 +1149,7 @@ bitflags! { const FOLD_LAZY_CLASS_KEYS = 1 << 58; const DISALLOW_DYNAMIC_METH_CALLER_ARGS = 1 << 59; const DISALLOW_INST_METH = 1 << 60; - const ENABLE_READONLY_ENFORCEMENT = 1 << 61; + const ENABLE_READONLY_IN_EMITTER = 1 << 61; const ESCAPE_BRACE = 1 << 62; } } diff --git a/hphp/hack/src/hhbc/hhbc_options.ml b/hphp/hack/src/hhbc/hhbc_options.ml index 4fa2c6ce2ad..a2be6126bdd 100644 --- a/hphp/hack/src/hhbc/hhbc_options.ml +++ b/hphp/hack/src/hhbc/hhbc_options.ml @@ -54,7 +54,7 @@ type t = { option_disallow_hash_comments: bool; option_disallow_fun_and_cls_meth_pseudo_funcs: bool; option_disallow_inst_meth: bool; - option_enable_readonly_enforcement: bool; + option_enable_readonly_in_emitter: bool; option_escape_brace: bool; } [@@deriving eq, ord] @@ -106,7 +106,7 @@ let default = option_disallow_hash_comments = false; option_disallow_fun_and_cls_meth_pseudo_funcs = false; option_disallow_inst_meth = false; - option_enable_readonly_enforcement = false; + option_enable_readonly_in_emitter = false; option_escape_brace = false; } @@ -199,7 +199,7 @@ let disallow_fun_and_cls_meth_pseudo_funcs o = let disallow_inst_meth o = o.option_disallow_inst_meth -let enable_readonly_enforcement o = o.option_enable_readonly_enforcement +let enable_readonly_in_emitter o = o.option_enable_readonly_in_emitter let escape_brace o = o.option_escape_brace @@ -280,8 +280,8 @@ let to_string o = Printf.sprintf "disallow_fun_and_cls_meth_pseudo_funcs: %B" @@ disallow_fun_and_cls_meth_pseudo_funcs o; Printf.sprintf "disallow_inst_meth: %B" @@ disallow_inst_meth o; - Printf.sprintf "enable_readonly_enforcement: %B" - @@ enable_readonly_enforcement o; + Printf.sprintf "enable_readonly_in_emitter: %B" + @@ enable_readonly_in_emitter o; Printf.sprintf "escape_brace: %B" @@ escape_brace o; ] @@ -381,8 +381,8 @@ let set_option options name value = } | "hhvm.hack.lang.disallow_inst_meth" -> { options with option_disallow_inst_meth = as_bool value } - | "hhvm.hack.lang.enable_readonly_enforcement" -> - { options with option_enable_readonly_enforcement = as_bool value } + | "hhvm.hack.lang.enable_readonly_in_emitter" -> + { options with option_enable_readonly_in_emitter = as_bool value } | "hhvm.hack.lang.escape_brace" -> { options with option_escape_brace = as_bool value } | _ -> options @@ -574,8 +574,8 @@ let value_setters = { opts with option_disallow_fun_and_cls_meth_pseudo_funcs = v = 1 } ); ( set_value "hhvm.hack.lang.disallow_inst_meth" get_value_from_config_int @@ fun opts v -> { opts with option_disallow_inst_meth = v = 1 } ); - ( set_value "hhvm.enable_readonly_enforcement" get_value_from_config_int - @@ fun opts v -> { opts with option_enable_readonly_enforcement = v = 1 } ); + ( set_value "hhvm.enable_readonly_in_emitter" get_value_from_config_int + @@ fun opts v -> { opts with option_enable_readonly_in_emitter = v = 1 } ); ( set_value "hhvm.hack.lang.escape_brace" get_value_from_config_int @@ fun opts v -> { opts with option_escape_brace = v = 1 } ); ] diff --git a/hphp/hack/src/options/globalOptions.ml b/hphp/hack/src/options/globalOptions.ml index 1f3aa05e015..eea0982ef08 100644 --- a/hphp/hack/src/options/globalOptions.ml +++ b/hphp/hack/src/options/globalOptions.ml @@ -116,7 +116,7 @@ type t = { po_disallow_hash_comments: bool; po_disallow_fun_and_cls_meth_pseudo_funcs: bool; po_disallow_inst_meth: bool; - po_enable_readonly_enforcement: bool; + po_enable_readonly_in_emitter: bool; po_escape_brace: bool; tco_use_direct_decl_parser: bool; tco_ifc_enabled: string list; @@ -308,7 +308,7 @@ let default = po_disallow_hash_comments = false; po_disallow_fun_and_cls_meth_pseudo_funcs = false; po_disallow_inst_meth = false; - po_enable_readonly_enforcement = false; + po_enable_readonly_in_emitter = false; po_escape_brace = false; tco_use_direct_decl_parser = false; tco_ifc_enabled = []; @@ -455,7 +455,7 @@ let make ?(po_disallow_fun_and_cls_meth_pseudo_funcs = default.po_disallow_fun_and_cls_meth_pseudo_funcs) ?(po_disallow_inst_meth = default.po_disallow_inst_meth) - ?(po_enable_readonly_enforcement = default.po_enable_readonly_enforcement) + ?(po_enable_readonly_in_emitter = default.po_enable_readonly_in_emitter) ?(po_escape_brace = default.po_escape_brace) ?(tco_use_direct_decl_parser = default.tco_use_direct_decl_parser) ?(tco_ifc_enabled = default.tco_ifc_enabled) @@ -589,7 +589,7 @@ let make po_disallow_hash_comments; po_disallow_fun_and_cls_meth_pseudo_funcs; po_disallow_inst_meth; - po_enable_readonly_enforcement; + po_enable_readonly_in_emitter; po_escape_brace; tco_use_direct_decl_parser; tco_ifc_enabled; @@ -856,7 +856,7 @@ let po_disallow_fun_and_cls_meth_pseudo_funcs t = let po_disallow_inst_meth t = t.po_disallow_inst_meth -let po_enable_readonly_enforcement t = t.po_enable_readonly_enforcement +let po_enable_readonly_in_emitter t = t.po_enable_readonly_in_emitter let po_escape_brace t = t.po_escape_brace diff --git a/hphp/hack/src/options/globalOptions.mli b/hphp/hack/src/options/globalOptions.mli index 965f4c2599e..e235053638e 100644 --- a/hphp/hack/src/options/globalOptions.mli +++ b/hphp/hack/src/options/globalOptions.mli @@ -279,7 +279,7 @@ type t = { (* Disable parsing of inst_meth() *) po_disallow_inst_meth: bool; (* Enable readonly enforcement while parsing *) - po_enable_readonly_enforcement: bool; + po_enable_readonly_in_emitter: bool; (* Escape brace in \{$x} *) po_escape_brace: bool; (* Enable use of the direct decl parser for parsing type signatures. *) @@ -429,7 +429,7 @@ val make : ?po_disallow_hash_comments:bool -> ?po_disallow_fun_and_cls_meth_pseudo_funcs:bool -> ?po_disallow_inst_meth:bool -> - ?po_enable_readonly_enforcement:bool -> + ?po_enable_readonly_in_emitter:bool -> ?po_escape_brace:bool -> ?tco_use_direct_decl_parser:bool -> ?tco_ifc_enabled:string list -> @@ -694,7 +694,7 @@ val po_disallow_fun_and_cls_meth_pseudo_funcs : t -> bool val po_disallow_inst_meth : t -> bool -val po_enable_readonly_enforcement : t -> bool +val po_enable_readonly_in_emitter : t -> bool val po_escape_brace : t -> bool diff --git a/hphp/hack/src/options/parserOptions.ml b/hphp/hack/src/options/parserOptions.ml index 3bfa781a4d1..3ce5df7d200 100644 --- a/hphp/hack/src/options/parserOptions.ml +++ b/hphp/hack/src/options/parserOptions.ml @@ -143,10 +143,10 @@ let disallow_inst_meth = GlobalOptions.po_disallow_inst_meth let with_disallow_inst_meth po b = { po with GlobalOptions.po_disallow_inst_meth = b } -let enable_readonly_enforcement = GlobalOptions.po_enable_readonly_enforcement +let enable_readonly_in_emitter = GlobalOptions.po_enable_readonly_in_emitter -let with_enable_readonly_enforcement po b = - { po with GlobalOptions.po_enable_readonly_enforcement = b } +let with_enable_readonly_in_emitter po b = + { po with GlobalOptions.po_enable_readonly_in_emitter = b } let escape_brace = GlobalOptions.po_escape_brace @@ -187,7 +187,7 @@ let make ~disallow_fun_and_cls_meth_pseudo_funcs ~interpret_soft_types_as_like_types ~disallow_inst_meth - ~enable_readonly_enforcement + ~enable_readonly_in_emitter ~escape_brace = GlobalOptions. { @@ -221,7 +221,7 @@ let make disallow_fun_and_cls_meth_pseudo_funcs; po_interpret_soft_types_as_like_types = interpret_soft_types_as_like_types; po_disallow_inst_meth = disallow_inst_meth; - po_enable_readonly_enforcement = enable_readonly_enforcement; + po_enable_readonly_in_emitter = enable_readonly_in_emitter; po_escape_brace = escape_brace; } @@ -277,5 +277,5 @@ let to_rust_ffi_t po ~hhvm_compat_mode ~hhi_mode ~codegen = disallow_fun_and_cls_meth_pseudo_funcs po, interpret_soft_types_as_like_types po, disallow_inst_meth po, - enable_readonly_enforcement po, + enable_readonly_in_emitter po, escape_brace po ) diff --git a/hphp/hack/src/oxidized/gen/global_options.rs b/hphp/hack/src/oxidized/gen/global_options.rs index 0d01247b8f0..c28c05c4ef1 100644 --- a/hphp/hack/src/oxidized/gen/global_options.rs +++ b/hphp/hack/src/oxidized/gen/global_options.rs @@ -3,7 +3,7 @@ // This source code is licensed under the MIT license found in the // LICENSE file in the "hack" directory of this source tree. // -// @generated SignedSource<> +// @generated SignedSource<<9d7dea97a9569f59a12b020b0a50d2fa>> // // To regenerate this file, run: // hphp/hack/src/oxidized_regen.sh @@ -135,7 +135,7 @@ pub struct GlobalOptions { pub po_disallow_hash_comments: bool, pub po_disallow_fun_and_cls_meth_pseudo_funcs: bool, pub po_disallow_inst_meth: bool, - pub po_enable_readonly_enforcement: bool, + pub po_enable_readonly_in_emitter: bool, pub po_escape_brace: bool, pub tco_use_direct_decl_parser: bool, pub tco_ifc_enabled: Vec, diff --git a/hphp/hack/src/oxidized/manual/global_options_impl.rs b/hphp/hack/src/oxidized/manual/global_options_impl.rs index 76cff5fac83..0a45aa67013 100644 --- a/hphp/hack/src/oxidized/manual/global_options_impl.rs +++ b/hphp/hack/src/oxidized/manual/global_options_impl.rs @@ -116,7 +116,7 @@ impl Default for GlobalOptions { po_disallow_hash_comments: false, po_disallow_fun_and_cls_meth_pseudo_funcs: false, po_disallow_inst_meth: false, - po_enable_readonly_enforcement: false, + po_enable_readonly_in_emitter: false, po_escape_brace: false, tco_use_direct_decl_parser: false, tco_ifc_enabled: vec![], diff --git a/hphp/hack/src/oxidized_by_ref/gen/global_options.rs b/hphp/hack/src/oxidized_by_ref/gen/global_options.rs index 18f2188c5aa..12456456d84 100644 --- a/hphp/hack/src/oxidized_by_ref/gen/global_options.rs +++ b/hphp/hack/src/oxidized_by_ref/gen/global_options.rs @@ -3,7 +3,7 @@ // This source code is licensed under the MIT license found in the // LICENSE file in the "hack" directory of this source tree. // -// @generated SignedSource<<7f566680b65f63aad7560b9a041071b2>> +// @generated SignedSource<<0e914b30cec4db31385b109f3a8c3536>> // // To regenerate this file, run: // hphp/hack/src/oxidized_regen.sh @@ -159,7 +159,7 @@ pub struct GlobalOptions<'a> { pub po_disallow_hash_comments: bool, pub po_disallow_fun_and_cls_meth_pseudo_funcs: bool, pub po_disallow_inst_meth: bool, - pub po_enable_readonly_enforcement: bool, + pub po_enable_readonly_in_emitter: bool, pub po_escape_brace: bool, pub tco_use_direct_decl_parser: bool, #[serde(deserialize_with = "arena_deserializer::arena", borrow)] diff --git a/hphp/hack/src/oxidized_by_ref/manual/global_options_impl.rs b/hphp/hack/src/oxidized_by_ref/manual/global_options_impl.rs index d6840883fdd..99d1883c2f0 100644 --- a/hphp/hack/src/oxidized_by_ref/manual/global_options_impl.rs +++ b/hphp/hack/src/oxidized_by_ref/manual/global_options_impl.rs @@ -114,7 +114,7 @@ const DEFAULT: GlobalOptions<'_> = GlobalOptions { po_disallow_hash_comments: false, po_disallow_fun_and_cls_meth_pseudo_funcs: false, po_disallow_inst_meth: false, - po_enable_readonly_enforcement: false, + po_enable_readonly_in_emitter: false, po_escape_brace: false, tco_use_direct_decl_parser: false, tco_ifc_enabled: &[], diff --git a/hphp/hack/src/parser/aast_parser.rs b/hphp/hack/src/parser/aast_parser.rs index f19e92b9e42..72b20f20c71 100644 --- a/hphp/hack/src/parser/aast_parser.rs +++ b/hphp/hack/src/parser/aast_parser.rs @@ -143,7 +143,7 @@ impl<'src> AastParser { let mut empty_program = vec![]; let mut aast = aast.unwrap_or(&mut empty_program); - if env.parser_options.po_enable_readonly_enforcement { + if env.parser_options.po_enable_readonly_in_emitter { errors.extend(readonly_check::check_program(&mut aast)); } errors.extend(aast_check::check_program(&aast)); diff --git a/hphp/runtime/base/runtime-option.cpp b/hphp/runtime/base/runtime-option.cpp index 46370f40c3d..871801dc431 100644 --- a/hphp/runtime/base/runtime-option.cpp +++ b/hphp/runtime/base/runtime-option.cpp @@ -286,7 +286,7 @@ std::uint32_t RepoOptions::getCompilerFlags() const { #define HHBC_FLAGS() \ SETFLAGS(LTRAssign, 0) \ SETFLAGS(UVS, 1) \ - SETFLAGS(RuntimeOption::EvalEnableReadonlyEnforcement, 2) \ + SETFLAGS(RuntimeOption::EvalEnableReadonlyInEmitter, 2) \ SETFLAGS(RuntimeOption::RepoAuthoritative, 4) \ SETFLAGS(RuntimeOption::EvalJitEnableRenameFunction, 5) \ SETFLAGS(RuntimeOption::EvalLogExternCompilerPerf, 6) \ diff --git a/hphp/runtime/base/runtime-option.h b/hphp/runtime/base/runtime-option.h index d0642ab6848..15341d062b3 100644 --- a/hphp/runtime/base/runtime-option.h +++ b/hphp/runtime/base/runtime-option.h @@ -1372,6 +1372,7 @@ struct RuntimeOption { F(bool, TraitConstantInterfaceBehavior, false) \ F(bool, EnableReadonlyEnforcement, false) \ F(string, TaintConfigurationPath, std::string("")) \ + F(bool, EnableReadonlyInEmitter, false) \ /* */ private: diff --git a/hphp/test/slow/readonly/attempted_redefines_mutable.php.hphp_opts b/hphp/test/slow/readonly/attempted_redefines_mutable.php.hphp_opts index d9568283657..f7aa6ed2c27 100644 --- a/hphp/test/slow/readonly/attempted_redefines_mutable.php.hphp_opts +++ b/hphp/test/slow/readonly/attempted_redefines_mutable.php.hphp_opts @@ -1,2 +1,3 @@ -vRuntime.Hack.Lang.AllowUnstableFeatures=1 -vRuntime.Eval.EnableReadonlyEnforcement=1 +-vRuntime.Eval.EnableReadonlyInEmitter=1 diff --git a/hphp/test/slow/readonly/attempted_redefines_mutable.php.opts b/hphp/test/slow/readonly/attempted_redefines_mutable.php.opts index 3b940d49244..e4ec15aae18 100644 --- a/hphp/test/slow/readonly/attempted_redefines_mutable.php.opts +++ b/hphp/test/slow/readonly/attempted_redefines_mutable.php.opts @@ -1,2 +1,3 @@ -v Hack.Lang.AllowUnstableFeatures=1 -v Eval.EnableReadonlyEnforcement=1 +-v Eval.EnableReadonlyInEmitter=1 diff --git a/hphp/test/slow/readonly/attempted_redefines_readonly.php.hphp_opts b/hphp/test/slow/readonly/attempted_redefines_readonly.php.hphp_opts index d9568283657..f7aa6ed2c27 100644 --- a/hphp/test/slow/readonly/attempted_redefines_readonly.php.hphp_opts +++ b/hphp/test/slow/readonly/attempted_redefines_readonly.php.hphp_opts @@ -1,2 +1,3 @@ -vRuntime.Hack.Lang.AllowUnstableFeatures=1 -vRuntime.Eval.EnableReadonlyEnforcement=1 +-vRuntime.Eval.EnableReadonlyInEmitter=1 diff --git a/hphp/test/slow/readonly/attempted_redefines_readonly.php.opts b/hphp/test/slow/readonly/attempted_redefines_readonly.php.opts index 3b940d49244..e4ec15aae18 100644 --- a/hphp/test/slow/readonly/attempted_redefines_readonly.php.opts +++ b/hphp/test/slow/readonly/attempted_redefines_readonly.php.opts @@ -1,2 +1,3 @@ -v Hack.Lang.AllowUnstableFeatures=1 -v Eval.EnableReadonlyEnforcement=1 +-v Eval.EnableReadonlyInEmitter=1 diff --git a/hphp/test/slow/readonly/config.ini b/hphp/test/slow/readonly/config.ini index 63361926de9..e7fb8037235 100644 --- a/hphp/test/slow/readonly/config.ini +++ b/hphp/test/slow/readonly/config.ini @@ -1,2 +1,3 @@ +hhvm.enable_readonly_in_emitter = true hhvm.enable_readonly_enforcement = true hhvm.allow_hhas = true diff --git a/hphp/test/slow/readonly/hphp_config.ini b/hphp/test/slow/readonly/hphp_config.ini index 2371086d034..64a5d8d1e33 100644 --- a/hphp/test/slow/readonly/hphp_config.ini +++ b/hphp/test/slow/readonly/hphp_config.ini @@ -1,2 +1,3 @@ hhvm.allow_hhas = true hhvm.enable_readonly_enforcement = true +hhvm.enable_readonly_in_emitter = true diff --git a/hphp/test/slow/readonly/nofatal.php.hphp_opts b/hphp/test/slow/readonly/nofatal.php.hphp_opts index 1894a881966..c6289ec8a3e 100644 --- a/hphp/test/slow/readonly/nofatal.php.hphp_opts +++ b/hphp/test/slow/readonly/nofatal.php.hphp_opts @@ -1,2 +1,3 @@ -vRuntime.Hack.Lang.AllowUnstableFeatures=1 -vRuntime.Eval.EnableReadonlyEnforcement=0 +-vRuntime.Eval.EnableReadonlyInEmitter=0 diff --git a/hphp/test/slow/readonly/nofatal.php.opts b/hphp/test/slow/readonly/nofatal.php.opts index 6b5b428c9d4..9a3eeafa66d 100644 --- a/hphp/test/slow/readonly/nofatal.php.opts +++ b/hphp/test/slow/readonly/nofatal.php.opts @@ -1,2 +1,3 @@ -v Hack.Lang.AllowUnstableFeatures=1 -v Eval.EnableReadonlyEnforcement=0 +-v Eval.EnableReadonlyInEmitter=0 -- 2.11.4.GIT