| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index f2cdde94443ae0a653d303208a6de5d22595fbee..894563a1e6308c16a1b0544e30383824906accca 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -3764,6 +3764,22 @@ void Code::set_stack_check_table_offset(unsigned offset) {
|
| }
|
|
|
|
|
| +bool Code::stack_check_patched_for_osr() {
|
| + ASSERT_EQ(FUNCTION, kind());
|
| + return StackCheckPatchedForOSRField::decode(
|
| + READ_UINT32_FIELD(this, kKindSpecificFlags2Offset));
|
| +}
|
| +
|
| +
|
| +void Code::set_stack_check_patched_for_osr(bool value) {
|
| + ASSERT_EQ(FUNCTION, kind());
|
| + int previous = READ_UINT32_FIELD(this, kKindSpecificFlags2Offset);
|
| + int updated = StackCheckPatchedForOSRField::update(previous, value);
|
| + WRITE_UINT32_FIELD(this, kKindSpecificFlags2Offset, updated);
|
| +}
|
| +
|
| +
|
| +
|
| CheckType Code::check_type() {
|
| ASSERT(is_call_stub() || is_keyed_call_stub());
|
| byte type = READ_BYTE_FIELD(this, kCheckTypeOffset);
|
| @@ -4296,6 +4312,7 @@ BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_expression,
|
| kIsExpressionBit)
|
| BOOL_ACCESSORS(SharedFunctionInfo, start_position_and_type, is_toplevel,
|
| kIsTopLevelBit)
|
| +
|
| BOOL_GETTER(SharedFunctionInfo,
|
| compiler_hints,
|
| has_only_simple_this_property_assignments,
|
| @@ -4702,9 +4719,15 @@ bool JSFunction::IsMarkedForLazyRecompilation() {
|
| }
|
|
|
|
|
| +bool JSFunction::IsMarkedForInstallingRecompiledCode() {
|
| + return code() == GetIsolate()->builtins()->builtin(
|
| + Builtins::kInstallRecompiledCode);
|
| +}
|
| +
|
| +
|
| bool JSFunction::IsMarkedForParallelRecompilation() {
|
| - return code() ==
|
| - GetIsolate()->builtins()->builtin(Builtins::kParallelRecompile);
|
| + return code() == GetIsolate()->builtins()->builtin(
|
| + Builtins::kParallelRecompile);
|
| }
|
|
|
|
|
| @@ -4736,6 +4759,13 @@ void JSFunction::set_code(Code* value) {
|
| }
|
|
|
|
|
| +void JSFunction::set_code_no_write_barrier(Code* value) {
|
| + ASSERT(!HEAP->InNewSpace(value));
|
| + Address entry = value->entry();
|
| + WRITE_INTPTR_FIELD(this, kCodeEntryOffset, reinterpret_cast<intptr_t>(entry));
|
| +}
|
| +
|
| +
|
| void JSFunction::ReplaceCode(Code* code) {
|
| bool was_optimized = IsOptimized();
|
| bool is_optimized = code->kind() == Code::OPTIMIZED_FUNCTION;
|
|
|