| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index 54cef6f06e10eac2958e985b728a58c1498614e5..9e9bd591b112a3cee24c911cc8ec50bca0f21ec1 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -5820,19 +5820,21 @@ void SharedFunctionInfo::set_optimization_disabled(bool disable) {
|
|
|
|
|
| LanguageMode SharedFunctionInfo::language_mode() {
|
| - STATIC_ASSERT(LANGUAGE_END == 2);
|
| - return BooleanBit::get(compiler_hints(), kStrictModeFunction)
|
| - ? STRICT : SLOPPY;
|
| + STATIC_ASSERT(LANGUAGE_END == 3);
|
| + return construct_language_mode(
|
| + BooleanBit::get(compiler_hints(), kStrictModeFunction),
|
| + BooleanBit::get(compiler_hints(), kStrongModeFunction));
|
| }
|
|
|
|
|
| void SharedFunctionInfo::set_language_mode(LanguageMode language_mode) {
|
| - STATIC_ASSERT(LANGUAGE_END == 2);
|
| + STATIC_ASSERT(LANGUAGE_END == 3);
|
| // We only allow language mode transitions that set the same language mode
|
| // again or go up in the chain:
|
| DCHECK(is_sloppy(this->language_mode()) || is_strict(language_mode));
|
| int hints = compiler_hints();
|
| hints = BooleanBit::set(hints, kStrictModeFunction, is_strict(language_mode));
|
| + hints = BooleanBit::set(hints, kStrongModeFunction, is_strong(language_mode));
|
| set_compiler_hints(hints);
|
| }
|
|
|
|
|