Lines Matching defs:sfi
810 bool Lookup(SharedFunctionInfo sfi, FunctionData** data) {
811 int start_position = sfi.StartPosition();
812 if (!sfi.script().IsScript() || start_position == -1) {
815 Script script = Script::cast(sfi.script());
816 return Lookup(GetFuncId(script.id(), sfi), data);
831 SharedFunctionInfo sfi = SharedFunctionInfo::cast(obj);
833 if (!Lookup(sfi, &data)) continue;
834 data->shared = handle(sfi, isolate);
837 SharedFunctionInfo sfi = js_function.shared();
839 if (!Lookup(sfi, &data)) continue;
844 SharedFunctionInfo sfi = gen.function().shared();
846 if (!Lookup(sfi, &data)) continue;
876 FuncId GetFuncId(int script_id, SharedFunctionInfo sfi) {
877 DCHECK_EQ(script_id, Script::cast(sfi.script()).id());
878 int start_position = sfi.StartPosition();
880 if (sfi.is_toplevel()) {
899 for (auto& sfi : sfis) {
901 if (!Lookup(*sfi, &data)) continue;
919 Handle<SharedFunctionInfo> sfi;
920 if (!data->shared.ToHandle(&sfi)) {
957 void UpdatePositions(Isolate* isolate, Handle<SharedFunctionInfo> sfi,
959 int old_start_position = sfi->StartPosition();
962 int new_end_position = LiveEdit::TranslatePosition(diffs, sfi->EndPosition());
964 LiveEdit::TranslatePosition(diffs, sfi->function_token_position());
965 sfi->SetPosition(new_start_position, new_end_position);
966 sfi->SetFunctionTokenPosition(new_function_token_position,
968 if (sfi->HasBytecodeArray()) {
970 isolate, handle(sfi->GetBytecodeArray(isolate), isolate), diffs);
1049 Handle<SharedFunctionInfo> sfi;
1050 if (!data->shared.ToHandle(&sfi)) continue;
1051 DCHECK_EQ(sfi->script(), *script);
1053 isolate->compilation_cache()->Remove(sfi);
1054 isolate->debug()->DeoptimizeFunction(sfi);
1055 if (sfi->HasDebugInfo()) {
1056 Handle<DebugInfo> debug_info(sfi->GetDebugInfo(), isolate);
1059 SharedFunctionInfo::EnsureSourcePositionsAvailable(isolate, sfi);
1060 UpdatePositions(isolate, sfi, diffs);
1062 sfi->set_script(*new_script);
1063 sfi->set_function_literal_id(mapping.second->function_literal_id());
1065 mapping.second->function_literal_id(), HeapObjectReference::Weak(*sfi));
1066 DCHECK_EQ(sfi->function_literal_id(),
1074 if (sfi->HasUncompiledDataWithPreparseData()) {
1075 sfi->ClearPreparseData();
1088 if (!sfi->HasBytecodeArray()) continue;
1089 FixedArray constants = sfi->GetBytecodeArray(isolate).constant_pool();
1114 Handle<SharedFunctionInfo> sfi;
1115 if (!data->shared.ToHandle(&sfi)) continue;
1117 isolate->debug()->DeoptimizeFunction(sfi);
1118 isolate->compilation_cache()->Remove(sfi);
1133 for (SharedFunctionInfo sfi = it.Next(); !sfi.is_null(); sfi = it.Next()) {
1134 if (!sfi.HasBytecodeArray()) continue;
1135 FixedArray constants = sfi.GetBytecodeArray(isolate).constant_pool();
1168 for (SharedFunctionInfo sfi = script_it.Next(); !sfi.is_null();
1169 sfi = script_it.Next()) {
1170 DCHECK_EQ(sfi.script(), *new_script);
1171 DCHECK_EQ(sfi.function_literal_id(), script_it.CurrentIndex());
1174 if (sfi.is_toplevel()) {
1175 DCHECK_EQ(start_positions.find(sfi.StartPosition()),
1177 start_positions.insert(sfi.StartPosition());
1180 if (!sfi.HasBytecodeArray()) continue;
1184 FixedArray constants = sfi.GetBytecodeArray(isolate).constant_pool();