src/mono/mono/mini/interp/interp.c (65 lines): - line 164: // FIXME: - line 413: // A bit for every pointer sized slot in the stack. FIXME don't allocate whole bit array - line 459: mono_error_cleanup (error); /* FIXME: don't swallow the error */ - line 620: /* TODO: interface offset lookup is slow, go through IMT instead */ - line 637: mono_error_cleanup (error); /* FIXME: don't swallow the error */ - line 1362: // FIXME: Does this need to be recursive? - line 1435: // FIXME: r4/r8 - line 1443: // FIXME: Should mini_wasm_is_scalar_vtype stuff go in here? - line 1874: // FIXME: - line 1900: * FIXME We should do this later, when we also know the delegate on which the - line 1948: // FIXME Handle unboxing here ? - line 2277: // FIXME: This is slow - line 2284: // FIXME: Optimize this - line 2333: // FIXME: Set dummy return value ? - line 2635: // FIXME: Memory management - line 2748: // FIXME: Thread safety for the thunk pointer - line 3196: /* FIXME we should reuse computation on imethod for this */ - line 3364: // FIXME: We don't support generating wasm trampolines for high arg counts yet - line 3631: mono_error_cleanup (error); // FIXME: do not swallow the error - line 3642: mono_error_cleanup (error); // FIXME: do not swallow the error - line 4057: // FIXME push/pop LMF - line 4124: // FIXME push/pop LMF - line 4185: // FIXME we could avoid memmove - line 4200: // FIXME push/pop LMF - line 4239: // FIXME push/pop LMF - line 4276: // FIXME push/pop LMF - line 4293: // FIXME push/pop LMF - line 4349: // FIXME: Add stack overflow checks - line 5560: // FIXME read casted var directly and remove redundant conv opcodes - line 5760: // FIXME push/pop LMF - line 5773: // FIXME push/pop LMF - line 5813: // FIXME push/pop LMF - line 5834: // FIXME push/pop LMF - line 5879: // FIXME push/pop LMF - line 5891: mono_interp_error_cleanup (error); // FIXME: do not swallow the error - line 6057: // FIXME push/pop LMF - line 6058: isinst = mono_interp_isinst (o, c); // FIXME: do not swallow the error - line 6105: // FIXME push/pop LMF - line 6106: if (!mono_interp_isinst (o, c)) { // FIXME: do not swallow the error - line 6410: // FIXME push/pop LMF - line 6431: // FIXME push/pop LMF - line 6445: // FIXME push/pop LMF - line 6458: // FIXME push/pop LMF - line 6460: mono_interp_error_cleanup (error); /* FIXME: don't swallow the error */ - line 6465: // FIXME push/pop LMF - line 6550: // FIXME push/pop LMF - line 6593: // FIXME push/pop LMF - line 6678: // FIXME push/pop LMF - line 7172: // FIXME push/pop LMF - line 7173: LOCAL_VAR (ip [1], MonoObject*) = mono_interp_new ((MonoClass*)frame->imethod->data_items [ip [2]]); // FIXME: do not swallow the error - line 7177: // FIXME push/pop LMF - line 7257: // FIXME push/pop LMF - line 7293: // FIXME push/pop LMF - line 7455: // FIXME push/pop LMF - line 7465: // FIXME push/pop LMF - line 7477: // FIXME push/pop LMF - line 7499: // FIXME push/pop LMF - line 7531: // FIXME push/pop LMF - line 7690: // FIXME push/pop LMF - line 7817: // FIXME: can we emit a call directly instead of a runtime-invoke? - line 7819: /* FIXME: think about pinning the FieldStore and adding a second opcode to - line 7960: * FIXME We should be able to avoid dereferencing imethod here, if we will have - line 8293: // FIXME: This - line 8589: // FIXME: Scan the whole area with 1 call - line 8945: // FIXME: Caller needs to check this src/mono/mono/mini/aot-runtime.c (63 lines): - line 607: container = mono_class_try_get_generic_container (class_def); //FIXME is this a case for a try_get? - line 622: // FIXME: maybe do this for all anon gparams? - line 625: // FIXME: Maybe use types directly to avoid - line 677: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 703: /* TODO: encode aggregate cmods differently than simple cmods and make it possible to use the more compact encoding here. */ - line 808: // FIXME: memory management - line 850: // FIXME: Error handling, memory management - line 911: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 2177: // FIXME: Select a better default size - line 2396: mono_error_cleanup (load_error); /* FIXME don't swallow the error */ - line 2416: mono_error_cleanup (load_error); /* FIXME don't swallow the error */ - line 2421: mono_error_cleanup (load_error); /* FIXME don't swallow the error */ - line 2563: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 2570: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 2615: mono_error_cleanup (inner_error); /* FIXME don't swallow the error */ - line 2619: mono_error_cleanup (inner_error); /* FIXME don't swallow the error */ - line 2744: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 2819: // FIXME: This depends on emscripten allocating ftnptr ids sequentially - line 3222: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3239: // FIXME: async - line 3298: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3352: // FIXME: Cache - line 3397: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3415: // FIXME: Call a function in seq-points.c - line 3416: // FIXME: - line 3566: // FIXME: async - line 3598: * FIXME: Large sizes in the lock free allocator - line 3759: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3767: g_error ("AOT runtime could not load method due to %s", mono_error_get_message (error)); /* FIXME don't swallow the error */ - line 3771: /* FIXME: */ - line 3852: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 3866: g_error ("AOT Runtime could not load method due to %s", mono_error_get_message (error)); /* FIXME don't swallow the error */ - line 3885: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3895: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3902: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3907: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3915: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3948: // FIXME: Align to 16 bytes ? - line 3962: // FIXME: Align to 16 bytes ? - line 3979: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3990: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3998: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4005: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4049: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4070: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 4079: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 4091: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4104: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4134: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4173: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 4176: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 4547: // FIXME: Select a better initial capacity. - line 4553: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 4628: // TODO: see if we can share these - line 4639: // FIXME: - line 4756: // FIXME: Is this aligned ? - line 4771: //FIXME old code would use the class from @method if not null and ignore the one encoded. I don't know if we need to honor that -- @kumpera - line 4836: // FIXME: Lookup using the index - line 4975: // TODO: unsafe accessor methods should come here too? - line 5043: g_error ("AOT runtime could not load method due to %s", mono_error_get_message (error)); /* FIXME don't swallow the error */ - line 5378: * FIXME: Clean this up, but how ? - line 6004: /* FIXME set unwind info for these trampolines */ - line 6427: g_error ("FIXME: ftnptr_arg page trampolines"); src/mono/mono/mini/mini-generic-sharing.c (51 lines): - line 191: /* FIXME: quadratic! */ - line 557: mono_error_assert_msg_ok (error, "Could not inflate generic type"); /* FIXME proper error handling */ - line 575: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 592: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 629: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 658: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 679: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 717: // FIXME: Temporary - line 720: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 726: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 735: mono_error_assert_msg_ok (error, "Could not inflate generic type"); /* FIXME proper error handling */ - line 741: mono_error_assert_msg_ok (error, "Could not inflate generic method"); /* FIXME proper error handling */ - line 743: // FIXME: Temporary - line 839: /* FIXME: quadratic! */ - line 889: // FIXME: - line 919: // FIXME Consolidate the multiple functions named get_method_nofail. - line 1074: /* FIXME: We have no access to the gsharedvt signature/gsctx used by the caller, so have to construct it ourselves */ - line 1092: /* FIXME: We have no access to the gsharedvt signature/gsctx used by the caller, so have to construct it ourselves */ - line 1183: // FIXME: Map 1 member structs to primitive types on platforms where its supported - line 1378: // FIXME: refs and intptr cannot be shared because - line 1414: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 1538: // FIXME: Memory management - line 1541: // FIXME: Normal cache - line 1553: // FIXME: - line 1584: // FIXME: Use shared signatures - line 1652: // FIXME: Memory management - line 1655: // FIXME: Normal cache - line 1667: // FIXME: - line 1703: // FIXME: Use shared signatures - line 1722: // FIXME: - line 1741: // FIXME: - line 1787: * FIXME: Move this elsewhere. - line 2123: // FIXME: - line 2318: // FIXME: Check type load - line 2379: // FIXME: Check type load - line 2511: // FIXME: This loads information in the AOT case - line 2581: * FIXME: Optimize this. - line 2633: // FIXME: - line 2651: // FIXME: Do the same things as alloc_stack_slots - line 2733: // FIXME: - line 2754: // FIXME: - line 3277: /*FIXME We should use CAS here, no need to take a lock.*/ - line 3626: mono_error_cleanup (error); /* FIXME don't swallow the error? */ - line 3675: // FIXME: - line 4310: // FIXME: - line 4353: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 4443: * FIXME: Add other cases. - line 4501: class_container = mono_class_try_get_generic_container (declaring_method->klass); //FIXME is this a case for a try_get? - line 4547: // FIXME: - line 4559: // FIXME: - line 4597: // FIXME: src/mono/mono/metadata/marshal.c (45 lines): - line 635: /* FIXME we leak wrapper with the interpreter */ - line 656: // FIXME This optimization ok to miss before wrapper? Or null is rare? - line 674: // FIXME This optimization ok to miss before wrapper? Or null is rare? - line 678: // FIXME Check max_len while scanning data? mono_string_from_byvalstr does. - line 719: // FIXME set error? - line 766: g_assert (string_builder_class); //TODO don't swallow the error - line 1032: // FIXME pass g_utf16_to_utf8 an allocator to avoid double alloc/copy. - line 1140: // FIXME convert right into dst instead of the double copy. - line 1269: // FIXME gcmode - line 1600: /* FIXME: Optimize this */ - line 1736: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1831: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1874: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1899: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1931: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1958: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 2217: container = mono_class_try_get_generic_container (method->klass); //FIXME is this a case of a try? - line 2287: /* FIXME: Other subtypes */ - line 2311: /* FIXME: Other subtypes */ - line 3146: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3446: // TODO: Support CallConvMemberFunction? - line 3447: // TODO: Support multiple calling convetions? - line 3485: // TODO: Support multiple conventions? - line 3861: // FIXME: include UnmanagedFunctionPointerAttribute info - line 4116: * FIXME: Should cache the method+delegate type pair, since the same method - line 4271: // FIXME: Associate it with the method+delegate_klass pair - line 4370: /* FIXME: Implement VTFIXUP_TYPE_FROM_UNMANAGED_RETAIN_APPDOMAIN. */ - line 4628: container = mono_class_try_get_generic_container (method->klass); //FIXME is this a case of a try? - line 4645: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 4672: /* FIXME: Support generic methods too */ - line 4679: container = mono_class_try_get_generic_container (method->klass); //FIXME is this a case of a try? - line 4846: * TODO: - line 5109: /* FIXME: free ret */ - line 5152: * FIXME: Use generic methods. - line 5268: // TODO: this always tries to compile a generic version of the accessor method and - line 5281: // TODO: - line 5325: // FIXME: if is_inflated, do we need to mess with ctx? - line 5460: // FIXME This should be an intrinsic. - line 5991: mono_class_set_nonblittable (klass); /* FIXME - how is this justified? what if we previously thought the class was blittable? */ - line 6205: // FIXME: Have to consider ArraySubType - line 6297: //TODO: Implement structs and in-params for all value types - line 6567: * FIXME: We currently leak the wrappers. Freeing them would be tricky as - line 6572: // FIXME: Need to clear the caches in other images as well - line 6814: // TODO: Add support for the native type layout. - line 6837: // TODO: We currently don't support vector types, so we can say that the maximum size of a non-by_reference struct src/mono/mono/metadata/class.c (44 lines): - line 100: g_assert (is_ok (error)); /*FIXME proper error handling*/ - line 1322: * FIXME: This should hold, but it doesn't: - line 1624: //FIXME do we leak here? - line 1749: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1762: if (mono_class_has_failure (klass)) /*FIXME do proper error handling*/ - line 1844: g_assert (is_ok (error)); /* FIXME don't swallow this error */ - line 1921: /*FIXME verify all callers if they should switch to mono_class_interface_offset_with_variance*/ - line 1944: * FIXME figure out MS disambiguation rules and fix this function. - line 2005: * FIXME Use proper MonoError machinery here. - line 2051: * FIXME Use proper MonoError machinery here. - line 2420: /*FIXME this is broken for types with multiple fields with the same name.*/ - line 2605: /* TODO: metadata-update - added literal fields */ - line 2751: /* TODO: metadata-update: get tokens for added props, too */ - line 2847: /* FIXME: */ - line 2850: /* FIXME: */ - line 2853: /* FIXME: */ - line 2864: /* FIXME: */ - line 2980: //FIXME: this will not fix the very issue for which mono_type_get_full exists -but how to do it then? - line 3008: /* FIXME: This is a workaround fo the fact that a typespec token sometimes reference to the generic type definition. - line 3061: // TODO: Figure out a good initial capacity for this table by doing a scan, - line 3081: /* FIXME: metadata-update */ - line 3097: // FIXME: Compute an appropriate capacity for this table to avoid growing it - line 3124: // FIXME: Compute an appropriate capacity for this table to avoid growing it - line 3145: /*FIXME Only dynamic assemblies or metadata-update should allow this operation.*/ - line 3343: /* FIXME: get_class_from_name () can't handle types in the EXPORTEDTYPE table */ - line 3507: mono_error_cleanup (error); /* FIXME Don't swallow the error */ - line 3585: /* FIXME test for interfaces with variant generic arguments */ - line 4124: // FIXME: IEnumerator`1 should not be an array special interface. - line 4372: MonoReflectionTypeBuilder *tb = mono_class_get_ref_info_raw (candidate); /* FIXME use handles */ - line 4393: /*FIXME this doesn't handle primitive type arrays. - line 4502: // FIXME: 2250 is arbitrary (roughly 256 11-item buckets w/load factor) - line 4573: /*FIXME properly handle nullables */ - line 4574: /*FIXME properly handle (M)VAR */ - line 4662: mono_error_assert_msg_ok (error, "Could not lookup inflated class cctor"); /* FIXME do proper error handling */ - line 5302: * FIXME we should better report this error to the caller - line 5959: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 5968: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 6045: FIXME we should better report this error to the caller - line 6353: /* FIXME: check visibility of type, too */ - line 6418: /* FIXME: check all overlapping fields */ - line 6532: /* FIXME: check all overlapping fields */ - line 6611: * FIXME: TypeBuilder enums are allowed to implement interfaces, but since they cannot have methods, only empty interfaces are possible - line 6612: * FIXME: enum types are not allowed to have a cctor, but mono_reflection_create_runtime_class sets has_cctor to 1 for all types - line 6613: * FIXME: TypeBuilder enums can have any kind of static fields, but the spec is very explicit about that (P II 14.3) src/mono/mono/mini/mini-amd64.c (37 lines): - line 186: // FIXME Assert alignment. - line 1457: /* FIXME: */ - line 1512: /* TODO: This is crashing on Win64 right now. - line 1648: * FIXME: Remove some of the restrictions. - line 1941: /* FIXME: Allocate volatile arguments to registers */ - line 1948: * FIXME: Optimize this. - line 2157: if (call->tailcall) // FIXME tailcall is not always yet initialized. - line 2289: /* FIXME: the non-LLVM codegen should also pass arguments in registers or - line 2624: // FIXME: Code growth - line 2733: // FIXME: Preprocess the info to speed up get_dyn_call_args (). - line 3115: * FIXME: Add support for thunks - line 3879: * FIXME: Need to add more instructions, but the current machine - line 4328: /* FIXME: do this in the local reg allocator */ - line 4772: // FIXME: Decompose this earlier - line 4785: // FIXME: Decompose this earlier - line 4903: /* FIXME: Make a 64 version too */ - line 5574: // FIXME hardcoding RAX here is not ideal. - line 5590: // FIXME Patch data instead of code. - line 5610: // FIXME: - line 5616: // FIXME use rep mov for constant code size, before nonvolatiles - line 5635: // FIXME This should be jmp rip+32 for AOT direct to same assembly. - line 5636: // FIXME This should be jmp [rip+32] for AOT direct to not-same assembly (through data). - line 5637: // FIXME This should be jmp [rip+32] for JIT direct -- patch data instead of code. - line 5645: // FIXME Just like NT the direct cases are are not ideal. - line 6389: * FIXME: Get rid of this. - line 6911: /* TODO: Some of these IR opcodes are marked as no clobber when they indeed do. */ - line 7449: /*TODO: This is appart of the sse spec but not added - line 7676: /*FIXME the peephole pass should have killed this*/ - line 8036: // FIXME: - line 8175: /* FIXME: Optimize this so the regs are saved at the end of the frame in increasing order */ - line 8191: // FIXME: GC - line 8268: /* FIXME: I1 etc */ - line 8368: * FIXME: Generalize this - line 8668: // FIXME: R8 and R4 only need 8 and 4 byte alignment, respectively - line 9023: /* FIXME: Support more cases */ - line 9563: // FIXME: Add a free function - line 9573: // FIXME: Optimize the size src/mono/mono/metadata/metadata.c (37 lines): - line 539: // FIXME: This number is arbitrary, a more practical number should be found - line 730: // FIXME: This table is in another file - line 1055: /* FIXME: metadata-update */ - line 1057: g_return_val_if_fail (idx > 0 && GINT_TO_UINT32(idx) <= table_info_get_rows (&meta->tables [table]), ""); /*FIXME shouldn't we return NULL here?*/ - line 1285: /* EnC TODO: lookup in DeltaInfo:delta_image_last. Unlike the other heaps, the GUID heaps are always full in every delta, even in minimal delta images. */ - line 1611: * FIXME: The caller is not forced to call this function, which is error-prone, since - line 1749: etype = mono_metadata_parse_type_checked (m, container, 0, FALSE, ptr, &ptr, error); //FIXME this doesn't respect @transient - line 1965: FIXME: https://bugzilla.xamarin.com/show_bug.cgi?id=58793 - line 3077: // FIXME: test this - line 3257: // FIXME: - line 3357: // FIXME: Pick a better pre-reserved size - line 3360: // FIXME: The lookup is done on the newly allocated sig so it always fails - line 3364: // FIXME: sig is an inflated signature not owned by the mem manager - line 3368: // FIXME: We're wasting memory and cpu by storing key and value redundantly for this table - line 3515: // FIXME: Dup into the mem manager - line 3989: * FIXME This better be moved to the metadata verifier as it can catch more cases. - line 4343: /*FIXME extract this into a MACRO and share it with mono_method_get_header*/ - line 4907: // FIXME: Modifies locator_t.idx - line 4941: // FIXME: Modifies locator_t.idx - line 5160: /* FIXME: metadata-update */ - line 5192: /* FIXME: Index translation */ - line 5233: /* FIXME: metadata-update */ - line 5263: /* FIXME: metadata-update */ - line 5589: /* FIXME: check if this seed is good enough */ - line 5830: // FIXME: propagate error to caller - line 6126: ERROR_DECL (error); // XXX FIXME: AK - propagate the error to the caller. - line 6193: /* FIXME: if image, and the images of the custom modifiers from - line 6253: /* FIXME: if it's aggregate what do we assert here? */ - line 6281: /*FIXME the dup'ed signature is leaked mono_metadata_free_type*/ - line 6450: /* FIXME: Index translation */ - line 6717: /* FIXME: metadata-update */ - line 7058: /* FIXME : we need to handle ArrayList and StringBuilder here, probably */ - line 7138: /* FIXME: Index translation */ - line 7306: /* FIXME: metadata-update */ - line 7557: MONO_ENTER_GC_UNSAFE; // FIXME slow - line 7599: /* FIXME: review the runtime users before adding the assert here */ - line 7637: /* FIXME: implement */ src/mono/mono/mini/mini-ppc.c (34 lines): - line 421: /* FIXME: Support more cases */ - line 597: /* FIXME: use block instead? */ - line 637: // FIXME: Fix partial sharing for power and remove this - line 768: /* FIXME: */ - line 1101: /* FIXME: don't we have to set fr, too? */ - line 1249: /* FIXME: check this */ - line 1407: // FIXME ABIs vary as to if this local is in the parameter area or not, - line 1477: /* FIXME: handle long values? */ - line 1624: /* FIXME: Add support for signature tokens to AOT */ - line 1864: /* FIXME: alignment? */ - line 2188: /* FIXME: change precision for CEE_CONV_R4 */ - line 2928: // FIXME: assert the top bits of li are 0 - line 2987: /* FIXME: make this thread safe */ - line 2989: /* FIXME: we're assuming we're using r12 here */ - line 3008: /* FIXME: make this thread safe */ - line 3560: /* FIXME: the ppc macros as inconsistent here: put dest as the first arg! */ - line 3740: // FIXME: Fix max instruction length - line 3857: /* FIXME restore from MonoLMF: though this can't happen yet */ - line 3921: /* FIXME: this should be handled somewhere else in the new jit */ - line 3933: /* FIXME: if we know that this is a method, we - line 3951: /* FIXME: this should be handled somewhere else in the new jit */ - line 3970: /* FIXME: this should be handled somewhere else in the new jit */ - line 3980: /* FIXME: should be calculated from MONO_ARCH_FRAME_ALIGNMENT */ - line 3997: /* FIXME: make this loop work in 8 byte - line 4195: /* FIXME: Optimize this */ - line 4273: case CEE_CONV_R4: /* FIXME: change precision */ - line 5041: /* the argument should be put on the stack: FIXME handle size != word */ - line 5219: /* FIXME: what if there is no class? */ - line 5238: /* FIXME: what if there is no class? */ - line 5304: /* FIXME: we need to do the shifting here, too */ - line 5373: // FIXME: - line 5428: /* FIXME: speedup: there is no actual need to restore the registers if - line 5740: * FIXME: Get rid of this by making sure that r12 is - line 5904: * TODO: Floating point version with fsel, but fsel has src/mono/mono/metadata/sre.c (32 lines): - line 43: * FIXME: Move SRE class construction to class-init.c and unify with ordinary class construction. - line 114: /* FIXME all callers to string_to_utf8_image_raw should use handles */ - line 403: //FIXME some code compiled under DISABLE_REFLECTION_EMIT depends on this function, we should be more aggressively disabling things - line 441: /* FIXME: */ - line 1102: * FIXME: do the equivalent for Fields. - line 1288: * FIXME: we already created an image in mono_reflection_dynimage_basic_init (), but - line 1663: HANDLE_FUNCTION_ENTER(); /* FIXME callers of mono_type_array_get_and_resolve_raw should use handles */ - line 1772: sig->sentinelpos = -1; /* FIXME */ - line 2374: sig = ctor_builder_to_signature_raw (NULL, (MonoReflectionCtorBuilder*)ctor, error); /* FIXME use handles */ - line 2599: * FIXME: handle interfaces. - line 3127: if (!m) // FIXME: This leaks if image is not NULL. - line 3153: sig = ctor_builder_to_signature_raw (klass->image, mb, error); /* FIXME use handles */ - line 3184: MonoReflectionMethodBuilder *mb = MONO_HANDLE_RAW (ref_mb); /* FIXME use handles */ - line 3213: HANDLE_FUNCTION_ENTER (); /* FIXME change callers of methodbuilder_to_mono_method_raw to use handles */ - line 3298: MonoReflectionTypeBuilder *tb = mono_class_get_ref_info_raw (klass); /* FIXME use handles */ - line 3324: MonoMethod *meth = methodbuilder_to_mono_method_raw (klass, mono_array_get_internal (tb->methods, MonoReflectionMethodBuilder*, i), error); /* FIXME use handles */ - line 3334: MonoType *iface = mono_type_array_get_and_resolve_raw (tb->interfaces, i, error); /* FIXME use handles */ - line 3420: tb = mono_class_get_ref_info_raw (klass); /* FIXME use handles */ - line 3491: field->name = string_to_utf8_image_raw (image, fb->name, error); /* FIXME use handles */ - line 3554: MonoReflectionTypeBuilder *tb = mono_class_get_ref_info_raw (klass); /* FIXME use handles */ - line 3609: MonoReflectionTypeBuilder *tb = mono_class_get_ref_info_raw (klass); /* FIXME use handles */ - line 3632: properties [i].name = string_to_utf8_image_raw (image, pb->name, error); /* FIXME use handles */ - line 3662: MonoReflectionTypeBuilder *tb = mono_class_get_ref_info_raw (klass); /* FIXME use handles */ - line 3682: events [i].name = string_to_utf8_image_raw (image, eb->name, error); /* FIXME use handles */ - line 3793: mono_save_custom_attrs (klass->image, klass, MONO_HANDLE_RAW (cattrs)); /* FIXME use handles */ - line 3971: mb = MONO_HANDLE_RAW (ref_mb); /* FIXME convert reflection_create_dynamic_method to use handles */ - line 4120: // TODO: make this work on netcore when working on SRE.TypeBuilder - line 4217: // TODO: make this work on netcore when working on SRE.TypeBuilder - line 4246: /* TODO: Copy type ? */ - line 4249: sig->params [i] = mono_type_array_get_and_resolve_raw (helper->arguments, i, error); /* FIXME use handles */ - line 4287: // FIXME: - line 4289: // FIXME: Check parameters/return value etc. match src/mono/mono/metadata/icall.c (31 lines): - line 103: #pragma warning(disable:4047) // FIXME differs in levels of indirection - line 221: // FIXME: Get rid of handle usage - line 237: // FIXME: Get rid of handle usage - line 1213: // FIXME: Implement - line 1278: /* FIXME: Add more types */ - line 1370: /* FIXME: Add more types */ - line 1604: // FIXME: Use the stack mark - line 1640: // FIXME: once wasm can use stack marks, consider turning all this into an assert - line 2247: mono_field_static_set_value_internal (vtable, cf, MONO_HANDLE_RAW (value)); /* FIXME make mono_field_static_set_value work with handles for value */ - line 2265: mono_field_set_value_internal (MONO_HANDLE_RAW (obj), cf, v); /* FIXME: make mono_field_set_value take a handle for obj */ - line 2378: /*FIXME unify this with reflection.c:mono_get_object_from_blob*/ - line 2699: /* FIXME: we need some other way to detect reabstracted methods. "final" is an incidental detail of the spec. */ - line 2849: // FIXME: Once we address: https://github.com/dotnet/runtime/issues/90308 this should not be needed anymore - line 2942: // FIXME: cache - possible on managed side - line 3042: // FIXME: this should be escaped in some scenarios with mono_identifier_escape_type_name_chars - line 3362: * FIXME: Why is this stuff needed at all ? Why can't the code below work for - line 3567: mono_error_cleanup (error); /* FIXME does this make sense? */ - line 4650: /* FIXME: metadata-update */ - line 4692: /* FIXME: metadata-update */ - line 4789: /* FIXME: metadata update */ - line 4800: /* FIXME */ - line 5030: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 5783: // FIXME ignoring error - line 5784: // FIXME Push MONO_HANDLE_NEW to lower layers. - line 5795: /* FIXME: What to do if the index points into the middle of a string ? */ - line 5929: /* FIXME: Support other tables ? */ - line 5947: // FIXME MONO_ENTER_NO_SAFEPOINTS instead of pin/gchandle. - line 6052: /* FIXME improve this exception message */ - line 6312: /* FIXME: it's not documented what start is exactly... */ - line 6368: /* FIXME: endianness issue... */ - line 7166: // FIXME This is a bit obscure. src/mono/browser/runtime/jiterpreter-trace-generator.ts (31 lines): - line 86: // FIXME: Encoding this data directly into the trace will prevent trace reuse - line 92: // FIXME: Encoding this data directly into the trace will prevent trace reuse - line 99: // FIXME: Encoding this data directly into the trace will prevent trace reuse - line 112: // TODO: sort the table and exploit that for faster scan. Not important yet - line 170: // TODO: Cache this table object instance and reuse it to reduce gc pressure? - line 175: // FIXME: This will potentially scan the entire method and record branches that won't - line 388: // FIXME: Ideally we would stop generating opcodes after the first unreachable, but that causes v8 to hang - line 398: // FIXME: We should move the first entry point after initlocals if it exists - line 440: // size (FIXME: uint32 not int32) - line 492: // TODO: Handle constant size initblks. Not sure if they matter though - line 493: // FIXME: This will cause an erroneous bailout if dest and size are both 0 - line 499: // size (FIXME: uint32 not int32) - line 529: // FIXME: Identify when we should actually set the conditionally executed flag, perhaps - line 756: // FIXME: It would be nice to optimize this down to a single (index < length) comparison - line 814: // FIXME: ldloca invalidation size - line 1263: // TODO: Verify that this isn't worse. I think these may only show up in wrappers? - line 1307: // FIXME: Clean this codegen up - line 1329: // FIXME: prune opcodes? - line 1563: // FIXME: Or do we want to record them? Early conditional returns might reduce the value of a trace, - line 1641: // FIXME: Try to reduce the number of these - line 1857: // FIXME: Do we need to invalidate the local again? I don't think we do, we invalidated it - line 1913: // FIXME: We need to know how big this variable is so we can invalidate the whole space it occupies - line 2136: // TODO: Actually initialize the vtable instead of just checking and bailing out? - line 2138: // FIXME: This will prevent us from reusing traces between runs since the vtables can move - line 2172: // TODO: Figure out whether this is commonly used to access fields of structs that - line 2414: // FIXME: Use mono_gc_wbarrier_set_field_internal - line 2758: builder.appendMemarg(clauseDataOffset, 0); // FIXME: 32-bit alignment? - line 2841: // FIXME: Should there be a safepoint here? - line 3617: // FIXME: Can rhs be a scalar? We handle shifts separately already - line 3744: // FIXME: i64x2_ne and i64x2_any_true? - line 3805: // FIXME: I8 src/mono/mono/metadata/object.c (31 lines): - line 62: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 897: /* FIXME: should not happen, flag as type load error */ - line 1025: /* FIXME: should not happen, flag as type load error */ - line 1268: mono_error_cleanup (error); /* FIXME don't swallow the error? */ - line 1769: /* FIXME: Leaking memory ? */ - line 1918: // FIXME: Won't work if assemblies are shared between alcs - line 1952: /* FIXME: special static */ - line 1959: // FIXME: Stores into this would need gc barriers - line 1980: // FIXME: Stores into this would need gc barriers - line 2349: * FIXME: Is it ok to allocate while holding the domain/loader locks ? If not, we can release them, allocate, then - line 2400: /*FIXME shouldn't this fail the current type?*/ - line 3629: mono_error_cleanup (error); /* FIXME don't raise here */ - line 3850: /* FIXME: better external API that doesn't swallow the error */ - line 3895: /* FIXME: better external API that doesn't swallow the error */ - line 3940: /* FIXME: better external API that doesn't swallow the error */ - line 4099: /* FIXME: better external API that doesn't swallow the error */ - line 4545: // TODO: use handles directly - line 4605: // TODO: use handles directly - line 4611: mono_print_unhandled_exception_internal (MONO_HANDLE_RAW (exc)); // TODO: use handles - line 4671: mono_error_cleanup (cattr_error); /* FIXME warn here? */ - line 4701: /* FIXME: check signature of method */ - line 4735: /* FIXME: check signature of method */ - line 4790: // FIXME Maybe change mode back here? - line 5775: /* FIXME: callers of mono_array_clone_checked should use handles */ - line 6634: // FIXME remove (gpointer) cast. - line 6834: mono_error_cleanup (error); /* FIXME better API that doesn't swallow the error */ - line 7099: // FIXME invert mono_ldstr_handle and mono_ldstr_checked. - line 7254: // FIXME utf8_length is ambiguous here. - line 7366: // FIXME This optimization ok to miss before wrapper? Or null is rare? - line 7401: // FIXME This optimization ok to miss before wrapper? Or null is rare? - line 7540: return mono_string_to_utf8_internal (NULL, image, MONO_HANDLE_RAW (s), error); /* FIXME pin the string */ src/mono/mono/mini/mini-arm64.c (28 lines): - line 242: // FIXME: - line 356: // FIXME: - line 648: // TODO: expand to full specification - line 775: // FIXME: - line 789: // FIXME: - line 1523: * FIXME: The vararg argument handling code in ves_icall_System_ArgIterator_IntGetNextArg - line 1650: /* FIXME: gshared, gsharedvt, dyncalls */ - line 2188: // FIXME: Add more cases - line 2243: // FIXME: Preprocess the info to speed up start_dyn_call () - line 2768: // FIXME: - line 2805: // FIXME: Use nregs/size - line 2829: // FIXME: - line 2907: // FIXME: Allocate these to registers - line 2991: // FIXME: This doesn't work yet since the llvm backend represents these types as an i8 - line 3281: // FIXME: Smaller sizes - line 3438: // FIXME Limit stack_usage to 1G. emit_ldrx / strx has 32bit limits. - line 3966: // FIXME: andx_imm doesn't work yet - line 4079: /* TODO: once https://github.com/dotnet/runtime/issues/83252 is done, - line 4238: // FIXME: pass VREG_LOW for 64-bit vectors - line 4613: // FIXME: 32 vs 64 bit issues for 0xffffffff - line 4688: // FIXME: Optimize this - line 4722: // FIXME: Optimize this - line 5452: // FIXME a fixed size memcpy is desirable here, - line 5992: // FIXME: use IS_VALID_STPX_OFFSET before doing STPX - line 6052: // FIXME: check IS_VALID_STPX_OFFSET before doing STPX - line 6168: * FIXME: Save callee saved fp regs, JITted code doesn't use them, but native code does, and they - line 6566: // FIXME: Optimize this - line 6733: // FIXME: Add a free function src/mono/mono/metadata/class-init.c (27 lines): - line 453: * FIXME: don't return NULL on failure, just let the caller figure it out. - line 472: /* FIXME: metadata-update - this function needs extensive work */ - line 575: /*FIXME implement a mono_class_set_failure_from_mono_error */ - line 694: /* TODO: check that array has 0 non-const fields */ - line 802: /* TODO: use typeref_scope_token to check that attribute comes from - line 880: /* FIXME: implement well known attribute check for dynamic images */ - line 931: //FIXME add setter - line 1090: // FIXME: Optimize this - line 1203: /*FIXME we fail the array type, but we have to let other fields be set.*/ - line 1220: /* FIXME: complete.... */ - line 1468: /* FIXME: Should this go inside 'make_generic_param_klass'? */ - line 1491: // FIXME: Optimize this - line 1585: /* FIXME: These should be allocate from a mempool as well, but which one ? */ - line 1653: * FIXME It would be nice if this information could be cached somewhere. - line 2309: /* FIXME (LAMESPEC): should we also change the min alignment according to pack? */ - line 2542: // FIXME: - line 3280: //FIXME IEnumerator needs to be special because GetEnumerator uses magic under the hood - line 3281: /* FIXME: System.Array/InternalEnumerator don't need all this interface fabrication machinery. - line 3500: g_assert (is_ok (error)); /*FIXME can this fail for array types?*/ - line 3659: g_assert (is_ok (error)); /*FIXME proper error handling*/ - line 3699: mono_error_cleanup (error); /* FIXME don't swallow this error */ - line 3742: g_assert (is_ok (error)); /*FIXME proper error handling*/ - line 3787: g_assert (is_ok (error)); /*FIXME proper error handling*/ - line 3789: g_assert (is_ok (error)); /*FIXME proper error handling*/ - line 3791: g_assert (is_ok (error)); /*FIXME proper error handling*/ - line 3830: mono_error_cleanup (error); /* FIXME don't swallow this error */ - line 4139: /*FIXME don't swallow the error message*/ src/mono/mono/component/hot_reload.c (26 lines): - line 434: /* FIXME: use concurrent hash tables so that readers don't have to lock. */ - line 779: * TODO: assert that the updater isn't depending on current metadata, else publishing might block. - line 828: /* TODO: give threads a way to voluntarily wait for an update to be published. */ - line 836: /* TODO: wait for all threads that are using old metadata to update. */ - line 996: /* TODO: find a better memory manager. But this way we at least won't lose the IL data. */ - line 1154: /* FIXME: don't let any thread other than the updater thread see values from a delta image - line 1306: /* TODO: while going through the tables, update delta_info->count[tbl].{modified,inserted}_rows */ - line 1408: /* FIXME: unaligned access, endianness */ - line 1425: /* FIXME: unaligned access, endianness */ - line 1500: /* FIXME: this is a race if other threads are doing a lookup. */ - line 1898: /* TODO: See CMiniMdRW::ApplyDelta for how to drive this. - line 1946: /* FIXME: use DeltaInfo:prev_gen_rows instead of looping */ - line 1947: /* TODO: do we know that there will never be modified rows in ASSEMBLYREF? */ - line 1959: /* TODO: this can end bad with code around assembly.c:mono_assembly_load_reference */ - line 2020: g_print ("TODO: this case is still a bit contrived. token=0x%08x with rva=0x%04x\n", log_token, rva); - line 2073: /* TODO: do we need to do anything special? Conceptually - line 2257: // FIXME: need to do something here? - line 2624: /* FIXME: for non-minimal deltas we should just look in the last published image. */ - line 2704: /* FIXME: locking for the GArray? */ - line 2766: // FIXME locking - line 3049: /* FIXME: is it ok to re-use MONO_ROOT_SOURCE_STATIC here? */ - line 3290: // FIXME: this might need to look at the generic class if `klass` is a ginst - line 3307: /* FIXME: locking in case the hash table grows */ - line 3430: mono_error_assert_ok (error); /*FIXME proper error handling*/ - line 3460: mono_error_assert_ok (error); /*FIXME proper error handling*/ - line 3487: mono_error_assert_ok (error); /*FIXME proper error handling*/ src/mono/mono/mini/interp/transform.c (25 lines): - line 74: mono_error_cleanup (aerror); /* FIXME don't swallow the error? */ - line 89: mono_error_cleanup (aerror); /* FIXME don't swallow the error? */ - line 431: // FIXME: We don't need to do this memset unless we realloc'd, since we malloc0 vars initially - line 685: // FIXME can be hit in some IL cases. Should we merge the stack states ? (b41002.il) - line 1238: // FIXME: Namespaces - line 1947: g_error ("TODO ArrayClass::UnsafeStore"); - line 2039: // FIXME add also intrinsic for Round - line 2260: // FIXME: No CEQ0_I8 - line 3246: // FIXME: Add more - line 3371: // TODO We would need to emit unboxing in order to devirtualize call to valuetype method - line 3895: // FIXME Consider adding special dreg type (ex -1), that is - line 3968: // FIXME calli receives both the args offset and sometimes another arg for the frame pointer, - line 5240: // FIXME: Free - line 6933: // FIXME do this somewhere else, maybe in super instruction pass, where we would check - line 8536: // TODO: This should raise a method_tail_call profiler event. - line 8591: /* FIXME: implement */ - line 8803: // FIXME This doesn't currently hold because of bblock reordering potentially - line 8965: // FIXME Some vars might end up with unitialized offset because they are not declared at all in the code. - line 9065: // FIXME missing handling for long branch - line 9157: /* TODO: could `ins` be removed by any interp optimization? */ - line 9602: // FIXME: Can't allocate this using imethod_alloc0 as its registered with mono_interp_register_imethod_data_items () - line 9706: /* TODO: Force compilation here. Currently the JIT will be invoked upon - line 9712: /* FIXME: this only works on 64bit */ - line 9855: // FIXME Publishing of seq points seems to be racy with tiereing. We can have both tiered and untiered method - line 9869: // FIXME: Add a different callback ? src/mono/mono/mini/simd-intrinsics.c (25 lines): - line 1173: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 1307: // TODO: with mini, one can emit movi to achieve broadcasting immediate i8/i16/i32 - line 1450: // FIXME: - line 1500: // FIXME: This limitation could be removed once everything here are supported by mini JIT on arm64 - line 1719: // FIXME: - line 1752: // FIXME: - line 1776: // FIXME: - line 1900: // FIXME: Add support for Vector64 on arm64 https://github.com/dotnet/runtime/issues/90402 - line 2037: // TODO: on x86, use a LEA - line 2371: // TODO: on x86, use a LEA - line 2426: // FIXME: - line 2548: // FIXME: Support Vector64 for mini JIT on arm64 - line 2806: // FIXME: Support Vector2 and Vector3 for WASM and AMD64 - line 2820: // FIXME: Support Vector2 and Vector3 for WASM and AMD64 - line 2829: // FIXME: Support Vector2 and Vector3 for WASM and AMD64 - line 2873: // TODO: on x86, use a LEA - line 2977: // TODO: on x86, use a LEA - line 2999: // FIXME https://github.com/dotnet/runtime/issues/82408 - line 4091: // FIXME: The c# api has ConstantExpected(Max = (byte)(15)), but the hw only supports - line 4094: // FIXME: Throw the right exception ? - line 4283: {SN_Min}, // FIXME: - line 4980: * TODO: remove this if cross-AOT-assembly inlining works - line 5123: // TODO: Can the creation of tuple be elided? (e.g. if deconstruction is used) - line 5595: * FIXME: llvm.wasm_shuffle causes llvm to crash if the shuffle argument is not a constant, - line 5628: // TODO: test and enable for x86 too src/mono/mono/mini/mini-arm.c (23 lines): - line 142: * TODO: - line 714: /* FIXME: Support more cases */ - line 1015: * FIXME: Interface calls might go through a static rgctx trampoline which - line 1051: /* FIXME: */ - line 1839: // FIXME The limit here is that moving the parameters requires addressing the parameters - line 1883: * FIXME: Remove some of the restrictions. - line 2120: /* FIXME: if a structure is misaligned, our memcpy doesn't work, - line 2179: // FIXME: - line 2191: /* FIXME: if a structure is misaligned, our memcpy doesn't work, - line 2878: // FIXME: Can't use cinfo only as it doesn't contain info about I8/float */ - line 2922: // FIXME: Preprocess the info to speed up start_dyn_call () - line 4879: /* FIXME: handle ovf/ sreg2 != dreg */ - line 4881: /* FIXME: MUL doesn't set the C/O flags on ARM */ - line 4884: /* FIXME: handle ovf/ sreg2 != dreg */ - line 4886: /* FIXME: MUL doesn't set the C/O flags on ARM */ - line 5032: // FIXME a fixed size memcpy is desirable here, - line 5035: // FIXME For most functions, with frames < 4K, we can use frame_reg directly here instead of IP. - line 5397: * FIXME: add aot support. - line 5514: /* FIXME: we can optimize the imm load by dealing with part of - line 6099: * FIXME: Optimize this. - line 6451: /* FIXME: handle overrun! with struct sizes not multiple of 4 */ - line 6773: /* FIXME: */ - line 7309: // FIXME: Add a free function src/mono/mono/mini/mini-runtime.c (22 lines): - line 491: // FIXME: ji - line 716: // FIXME ifdef in mini_register_opcode_emulation and just call it. - line 1444: * FIXME: This could be hit for methods without a prolog. Should use -1 - line 1856: // FIXME: - line 1969: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 1973: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 2224: // TODO: write unwindInfo immediately before the JitCodeLoadRecord (while lock is held). - line 2294: TODO: - line 2495: // FIXME: - line 2650: * FIXME: The caller signature doesn't match the callee, which might cause problems on some platforms - line 2735: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 2842: //FIXME mini_jit_info_table_find doesn't work yet under wasm due to code_start/code_end issues. - line 3472: // FIXME: On wasm, if the callee throws an exception, this will return NULL, and the - line 3880: // FIXME: This shouldn't run on the altstack - line 4145: /* FIXME Support more cases */ - line 4234: // FIXME Kill this debug flag - line 4298: // FIXME: - line 4486: // FIXME: Support Vector2/Vector3 - line 4942: // FIXME: This is broken - line 5339: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 5355: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 5484: * FIXME: Review all callers and change them to allocate from a src/mono/mono/mini/mini-exceptions.c (20 lines): - line 149: // FIXME: Happens with llvm_only - line 459: // FIXME: Do this somewhere else ? - line 945: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 1318: // FIXME: Cannot lookup the actual method - line 1450: /* FIXME: Generalize this code with an interface which returns an array of StackFrame structures */ - line 1548: /* FIXME: we shouldn't inflate but instead put the - line 1555: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 1570: // FIXME: Transition all callers to this function - line 1612: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 1695: /* FIXME Maybe remove more wrapper types */ - line 1993: // FIXME: - line 2024: ERROR_DECL (isinst_error); // FIXME not used https://github.com/mono/mono/pull/3055/files#r240548187 - line 2247: // FIXME: This runs managed code so it might cause another stack overflow when - line 2404: //FIXME make this stack direction aware - line 3237: // TODO: For WASI, we need to review how thread state is initialized - line 3297: /*FIXME Move all monoctx -> sigctx conversion to signal handlers once all archs support utils/mono-context */ - line 3596: // FIXME: Does this work correctly for rethrows? - line 3604: // FIXME: - line 3664: // FIXME: The flag needs to be thread local - line 3667: // FIXME: src/mono/mono/metadata/loader.c (20 lines): - line 18: * TODO: - line 86: // FIXME: potential race - line 294: /* FIXME: This needs a cache, especially for generic instances, since - line 296: * FIXME part2, mono_metadata_parse_type_checked actually allows for a transient type instead. - line 297: * FIXME part3, transient types are not 100% transient, so we need to take care of that first. - line 311: mono_class_init_internal (klass); /*FIXME is this really necessary?*/ - line 412: /* FIXME: method refs from metadata-upate probably end up here */ - line 418: /* FIXME: !mono_class_is_ginst (from_class) condition causes test failures. */ - line 450: mono_class_setup_methods (klass); /* FIXME don't swallow the error here. */ - line 454: FIXME we should better report this error to the caller - line 468: /* FIXME: metadata-update iterating using - line 508: // FIXME: metadata-update: hack - line 1112: /*FIXME put this before the image alloc*/ - line 1175: /* FIXME: method definition lookups for metadata-update probably end up here */ - line 1373: /* FIXME: This hack will go away when the profiler will support freeing methods */ - line 1379: * FIXME: This causes crashes because the types inside signatures and - line 1435: /*FIXME this check is somewhat redundant since the caller usually will have to get the signature to figure out the - line 1541: g_assert (signature); /*FIXME there is no way to signal error from this function*/ - line 2000: // FIXME Replace all internal callers of mono_method_get_header_checked with - line 2014: // FIXME: for internal callers maybe it makes sense to do this check at the call site, not src/mono/mono/mini/interp/jiterpreter.c (18 lines): - line 201: mono_error_cleanup (error); // FIXME: do not swallow the error - line 263: // FIXME push/pop LMF - line 265: // FIXME: do not swallow the error - line 305: // FIXME push/pop LMF - line 381: // TODO: return 0 on success and a unique bailout code on failure? - line 483: // FIXME: Harmless race condition if threads are in use - line 543: // FIXME: Thread safety - line 551: // FIXME: Thread safety - line 662: // TODO: Estimate interpreter and jiterpreter side values based on table, and only keep traces - line 677: // FIXME: Harmless race condition if threads are in use - line 786: // FIXME: Do this per slot instead of per byte. - line 811: // FIXME: Should we do this based on relationships between BBs instead of insn sequence? - line 833: // FIXME: This scan will likely proceed forward all the way out of the current block, - line 881: // FIXME: This caused a bunch of regressions - line 960: // FIXME: Enumerate all active threads and ensure we perform the free_method_data_js - line 1170: // FIXME push/pop LMF - line 1351: // FIXME: This shouldn't be possible - line 1417: // FIXME: Harmless race condition if threads are in use src/mono/mono/metadata/marshal-lightweight.c (18 lines): - line 91: // FIXME There are multiple caches of "GetObjectForNativeVariant". - line 104: // FIXME There are multiple caches of "GetNativeVariantForObject". - line 121: /* FIXME: Only do this if needed */ - line 131: // FIXME Put a boolean in MonoMethodBuilder instead. - line 874: * FIXME: AOT case - line 985: /* TODO: marshal-lightweight: can this move to marshal-ilgen? */ - line 2022: // FIXME: - line 2113: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 2161: /* FIXME Is this really the best way to signal an error here? Isn't this called much later after class setup? -AK */ - line 2213: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 2271: g_assert (is_ok (error)); /* FIXME don't swallow the error */ - line 2857: /* TODO: marshal-lightweight: can this move to marshal-ilgen? */ - line 3089: /* FIXME: We should eventually relax the assertion, below, to - line 3121: // FIXME: - line 3133: /* FIXME: we only want the transitions for hybrid suspend. Q: What to do about AOT? */ - line 3161: // FIXME: The stuff from mono_metadata_signature_dup_internal_with_padding () - line 3167: /* TODO support adding wrappers to non-static struct methods */ - line 3197: // FIXME better type src/mono/mono/mini/mini-x86.c (17 lines): - line 706: * FIXME: The metadata calls might not be signal safe. - line 1429: // FIXME: - line 1564: // FIXME: Emit EMIT_NEW_GC_PARAM_SLOT_LIVENESS_DEF everywhere - line 1679: /* FIXME: The == STACK_OBJ check might be fragile ? */ - line 1763: case 3: /* FIXME */ - line 1785: // FIXME: Code growth - line 2095: * FIXME: Need to add more instructions, but the current machine - line 3212: // FIXME use rep mov for constant code size, before nonvolatiles - line 3227: // FIXME Patch data instead of code. - line 3345: /* FIXME: Optimize this */ - line 3617: // FIXME: - line 3821: * FIXME: Get rid of this. - line 3827: * FIXME: Get rid of this. - line 4810: /*FIXME the peephole pass should have killed this*/ - line 5098: /*FIXME handle unbounded code expansion, we should use a loop in case of more than X interactions*/ - line 5913: /* FIXME: Support more cases */ - line 6085: /*TODO move this to simd-intrinsic.c once we support sse 4.1 dword extractors since we need the runtime caps info */ src/mono/mono/mini/dwarfwriter.c (17 lines): - line 408: // FIXME: Check that the ops really begin with the CIE program */ - line 653: // FIXME: Free stuff - line 952: * FIXME: gdb can't handle namespaces in languages it doesn't know about. - line 1156: // FIXME: - line 1218: // FIXME: - line 1267: /* FIXME: This needs a location list, since the args can go from reg->stack */ - line 1277: // FIXME: - line 1335: g_assert (is_ok (error)); /* FIXME error handling */ - line 1347: g_error ("Could not load method due to %s", mono_error_get_message (error)); /* FIXME don't swallow the error */ - line 1371: g_assert (is_ok (error)); /* FIXME error handling */ - line 1399: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 1520: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 1619: /* FIXME: Avoid duplicates */ - line 1683: // FIXME: Optimize this - line 1778: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 1889: /* FIXME: Uses made in calls are not recorded */ - line 1946: /* FIXME: Uses made in calls are not recorded */ src/mono/mono/sgen/sgen-marksweep.c (16 lines): - line 105: * FIXME: Do we even need this? It's only used during sweep and might be worth - line 109: /* FIXME: Reduce this - it only needs a byte. */ - line 658: /* FIXME: do this more elegantly */ - line 713: /* FIXME: assumes object layout */ - line 767: /* FIXME: assumes object layout */ - line 770: /* FIXME is it worth CAS-ing here */ - line 1093: SGEN_ASSERT (0, mod_union, "FIXME: optionally allocate the mod union if it's not here and CAS it in."); - line 1399: * FIXME: Merge consecutive - line 1452: /* FIXME: Do this more elegantly */ - line 1470: // FIXME: Add more sizes - line 1620: /* FIXME: do this more elegantly */ - line 1684: * FIXME: Go straight to SWEPT if there are no free slots. We need - line 1710: /* FIXME: Do we need the heap boundaries while we do nursery collections? */ - line 2322: /* FIXME: return number of bytes, not of sections */ - line 2515: * FIXME: On systems with very large pages, we allocate fairly large - line 2618: /* FIXME: do this more efficiently */ src/mono/mono/mini/mini.c (15 lines): - line 1150: /* FIXME: Optimize this */ - line 1175: /* FIXME: Optimize this */ - line 1183: // FIXME: Enabling this seems to cause impossible to debug crashes - line 1204: * FIXME: All valuetypes are marked as INDIRECT because of LDADDR - line 1214: /* FIXME: We might want to consider the inactive intervals as well if slot_info->slots is empty */ - line 1461: * FIXME: All valuetypes are marked as INDIRECT because of LDADDR - line 2876: /* FIXME: */ - line 2889: // FIXME: other configurations - line 3045: // FIXME: Clean this up - line 3487: /* FIXME: Fix SSA to handle branches inside bblocks */ - line 3492: * FIXME: This confuses liveness analysis because variables which are assigned after - line 3546: // FIXME: - line 4019: /* FIXME: use an explicit function to read booleans */ - line 4191: // FIXME: MonoError has no copy ctor - line 4329: // FIXME: Special case more types: byte, string, nullable, enum ? src/mono/mono/metadata/custom-attrs.c (15 lines): - line 121: * FIXME: the return value is also TRUE when custom attribute constructor is NULL, which is probably a bug - line 128: /* FIXME: Need to do more checks */ - line 954: /* FIXME: check in assembly the Run flag is set */ - line 1213: /* FIXME: lookup the type and check type consistency */ - line 1393: /* FIXME: lookup the type and check type consistency */ - line 1593: /* FIXME: lookup the type and check type consistency */ - line 1685: // FIXME: Handles - line 1877: mono_error_assert_ok (error); /*FIXME proper error handling*/ - line 2008: mono_error_cleanup (error); /* FIXME want a better API that doesn't swallow the error */ - line 2401: mono_error_assert_ok (error); /*FIXME proper error handling*/ - line 2437: * FIXME this function leaks like a sieve for SRE objects. - line 2460: * FIXME this function leaks like a sieve for SRE objects. - line 2532: // FIXME: Is this still needed ? - line 2535: // FIXME: Is this still needed ? - line 3017: /* FIXME: metadata-update */ src/coreclr/gc/gcpriv.h (14 lines): - line 1045: // TODO: for gen_time_tuning, we should put the multipliers in static data. - line 3544: // REGIONS TODO: this means we should treat g_mark_list_piece as part of - line 3547: // REGIONS TODO: currently we only make use of SOH's promoted bytes to - line 3598: // TODO: get rid of total_ephemeral_plugs. - line 3647: // TODO: actually a couple of entries in these elements are carried over from GC to GC - - line 3733: // TODO: note that we do reinit background_mark_stack_tos in grow_bgc_mark_stack but there's really - line 3828: // TODO: for regions we should be able to just get rid of these - they don't change and - line 3936: // TODO: could consider dynamically grow this. - line 4230: // REGIONS TODO: these are allocated separately but should really be part - line 5108: // REGIONS TODO: right now soh_segment_size is still used in a few places for tuning. Should replace those with - line 5166: // TODO: some of the logic here applies to the general case as well - line 6107: // TODO: - line 6153: // TODO: to accommodate 32-bit processes, we reserve in segment sizes and divide each seg - line 6568: // REGIONS TODO: this shouldn't need gc_low for regions. src/coreclr/nativeaot/Runtime/portable.cpp (13 lines): - line 43: ASSERT_UNCONDITIONALLY("NYI"); // TODO: Throw OOM - line 80: #define GC_ALLOC_FINALIZE 0x1 // TODO: Defined in gc.h - line 81: #define GC_ALLOC_ALIGN8_BIAS 0x4 // TODO: Defined in gc.h - line 82: #define GC_ALLOC_ALIGN8 0x8 // TODO: Defined in gc.h - line 98: ASSERT_UNCONDITIONALLY("NYI"); // TODO: Throw overflow - line 131: // TODO: Implement. We tail call to RhpNewArray for now since there's a bunch of TODOs in the places - line 228: ASSERT_UNCONDITIONALLY("NYI"); // TODO: Throw overflow - line 327: // @TODO Implement UniversalTransition - line 331: // @TODO Implement UniversalTransition_DebugStepTailCall - line 338: // @TODO: USE_PORTABLE_HELPERS - Null check - line 346: // @TODO: USE_PORTABLE_HELPERS - Null check - line 363: // @TODO: USE_PORTABLE_HELPERS - Null check - line 440: // TODO: implement src/mono/browser/debugger/DebuggerTestSuite/SteppingTests.cs (13 lines): - line 203: // FIXME: Failing test CheckNumber (locals_m1, "i", 5); - line 204: // FIXME: Failing test CheckString (locals_m1, "text", "Hello"); - line 215: // FIXME: Failing test CheckNumber (locals_m1, "i", 5); - line 217: // FIXME: Failing test CheckNumber (locals, "new_i", 24); - line 244: // FIXME: Failing test CheckNumber (locals, "k", 34); - line 256: // FIXME: failing test CheckNumber (locals, "i", 5); - line 289: // FIXME: Failing test CheckNumber (locals, "i", 5); - line 319: // FIXME: Failing test CheckNumber (locals, "i", 5); - line 360: // TODO: previous frames have async machinery details, so no point checking that right now - line 368: //FIXME: check fields - line 371: // TODO: struct fields - line 381: // TODO: Check `this` properties - line 503: // FIXME: check ss_local.gs.List's members src/mono/mono/sgen/sgen-gc.c (13 lines): - line 66: * TODO: - line 413: * FIXME: Tune this. - line 414: * FIXME: Make this self-tuning for each thread. - line 1032: /* FIXME: handle OOM */ - line 2045: /* FIXME: only use these values for the precise scan - line 2471: /* FIXME: also report this to the user, preferably in gc-end. */ - line 2498: // FIXME: store reason and pass it when finishing - line 2644: // FIXME: extract overflow reason - line 2645: // FIXME: minor overflow for concurrent case - line 2854: /* FIXME: batch to reduce lock contention */ - line 3182: SGEN_UPDATE_REFERENCE_ALLOW_NULL ((void*)ptr, value); // FIXME volatile - line 3184: mono_gc_wbarrier_generic_nostore_internal ((void*)ptr); // FIXME volatile - line 3249: /* FIXME: account for pinned objects */ src/mono/mono/mini/mini-gc.c (13 lines): - line 205: * FIXME: Merge these with the normal bitmaps, i.e. reserve the first x slots for them ? - line 293: // FIXME: Move these to a shared place - line 470: // FIXME: - line 842: // FIXME: For skipped frames, scan the param area of the parent frame conservatively ? - line 843: // FIXME: trampolines - line 985: // FIXME: Use a binary search - line 991: // FIXME: Use a binary search - line 1180: * FIXME: Add a function to mark using a bitmap, to avoid doing a - line 1516: * FIXME: This is not needed. - line 1536: /* FIXME: 32 bit */ - line 1620: /* FIXME: Generic sharing */ - line 2123: // FIXME: - line 2125: // FIXME: src/coreclr/tools/ILVerification/ILImporter.Verify.cs (12 lines): - line 589: VerifierError.StackUnexpected /* TODO: ExpectedIndex */, value)) - line 1039: // TODO: Better error message - line 1048: // TODO: Better error message - line 1058: // TODO: Better error message - line 1561: // TODO: VarArgs - line 1745: // TODO: Check exact match - line 1996: // TODO: Do we need to allow conversions? - line 2184: // TODO: verification of readonly references https://github.com/dotnet/runtime/issues/57444 - line 2452: // TODO: Change to CheckIsArrayElementCompatibleWith for two intermediate types - line 2518: // TODO !!! - line 2617: // TODO: Validate srcaddr, dstaddr - line 2634: // TODO: Validate addr src/coreclr/nativeaot/Runtime/StackFrameIterator.cpp (12 lines): - line 37: #if !defined(USE_PORTABLE_HELPERS) // @TODO: these are (currently) only implemented in assembly helpers - line 158: #if !defined(USE_PORTABLE_HELPERS) // @TODO: no portable version of regdisplay - line 404: // TODO: Copy X2-X7 when we start supporting HVA's - line 787: #if defined(USE_PORTABLE_HELPERS) // @TODO: Currently no funclet invoke defined in a portable way - line 1125: // WASMTODO: #error NYI for this arch - line 1128: PTR_uintptr_t get_CallerSP() { PORTABILITY_ASSERT("@TODO: FIXME:WASM"); return NULL; } - line 1129: PTR_uintptr_t get_AddressOfPushedCallerIP() { PORTABILITY_ASSERT("@TODO: FIXME:WASM"); return NULL; } - line 1130: PTR_uintptr_t get_LowerBoundForConservativeReporting() { PORTABILITY_ASSERT("@TODO: FIXME:WASM"); return NULL; } - line 1135: PORTABILITY_ASSERT("@TODO: FIXME:WASM"); - line 1160: #if defined(USE_PORTABLE_HELPERS) // @TODO: Corresponding helper code is only defined in assembly code - line 1202: #if defined(USE_PORTABLE_HELPERS) // @TODO: no portable version of throw helpers - line 1797: #if defined(USE_PORTABLE_HELPERS) // @TODO: no portable thunks are defined src/mono/mono/mini/mini-riscv.c (12 lines): - line 38: // TODO: skip compress inst for now - line 213: // FIXME: - line 317: // FIXME: - line 994: // FIXME: May break some ABI rules - line 1442: // TODO: Make a proper decision based on opcode. - line 2347: // FIXME: Allocate these to registers - line 3587: // TODO: Add inst riscv_adduw in riscv-codegen.h - line 4069: * FIXME: Save callee saved fp regs, JITted code doesn't use them, but native code does, and they - line 5071: // TODO: Add inst riscv_adduw in riscv-codegen.h - line 5192: // TODO: Check This - line 5201: // TODO: Check This - line 5780: // FIXME: Add a free function src/mono/mono/metadata/reflection.c (12 lines): - line 114: /* FIXME callers of mono_class_get_ref_info_raw should use handles */ - line 191: // FIXME: These are mempool allocated, so they are not really freed - line 212: mono_error_cleanup (error); /* FIXME new API that doesn't swallow the error */ - line 534: mono_loader_lock (); /*FIXME mono_class_init_internal and mono_class_vtable acquire it*/ - line 596: res = &mono_class_get_ref_info_raw (klass)->type; /* FIXME use handles */ - line 690: // FIXME: For methods/params etc., use the mem manager for refclass or a merged one ? - line 957: /* FIXME change mono_field_get_value_object_checked to return a handle */ - line 976: /* FIXME change mono_field_get_value_object_checked to return a handle */ - line 2752: /*FIXME but I think this is no longer necessary*/ - line 2839: /* FIXME: No cache (for the moment) */ - line 3215: g_assert (mono_is_sre_type_builder (mono_object_class (&mono_class_get_ref_info_raw (klass)->type.object))); /* FIXME use handles */ - line 3221: res = mono_runtime_try_invoke (method, &mono_class_get_ref_info_raw (klass)->type.object, params, &exc, inner_error); /* FIXME use handles */ src/mono/mono/metadata/sgen-mono.c (12 lines): - line 43: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 272: // FIXME: Maybe create a separate version for ctors (the branch would be - line 399: /* FIXME move this to the bridge code */ - line 726: /* FIXME: do a single allocation */ - line 764: /* FIXME: Do this in the JIT, where specialized allocation sequences can be created - line 1748: // TODO: How do we report this in a way that makes sense? - line 1787: * TODO: Once SGen has multiple worker threads, we need to switch to a - line 2140: //FIXME we should eventually use the new stack_mark from coop - line 2151: //FIXME under coop, for now, what we need to ensure is that we scan any extra memory from info->client_info.info.stack_end to stack_mark - line 2590: /* FIXME: A GC can occur after this check fails, in which case we - line 2610: // FIXME: - line 2750: /* FIXME: This should probably in MONO_GC_DEBUG */ src/mono/mono/mini/branch-opts.c (12 lines): - line 22: * TODO verify if it helps to check if the bb last ins is a branch to its successor. - line 295: // FIXME: Make this work with extended bblocks - line 355: /* FIXME: Get rid of the nops earlier */ - line 379: /* FIXME: */ - line 383: /* FIXME: */ - line 388: /* FIXME: */ - line 539: /* FIXME: */ - line 544: /* FIXME: */ - line 549: /* FIXME: */ - line 626: * FIXME: Maybe need to do this more generally in - line 663: // FIXME: Add more cases - line 1450: * FIXME: Enable the optimization if that is not true. src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventSource.cs (12 lines): - line 153: // TODO There is cleanup needed There should be no divergence until WriteEventRaw. - line 155: // TODO: We should have a single choke point (right now we always have this parallel EventData* and object[] path. This - line 1968: // TODO: activity ID support - line 2344: // TODO Create variations of EventSourceException that indicate more information using the error code. - line 2441: public ParameterInfo[] Parameters; // TODO can we remove? - line 2718: // TODO: should we generate the manifest here if we hadn't already? - line 2807: // TODO Enforce singleton pattern - line 3550: // TODO this is moderately expensive (N*N). We probably should not even bother.... - line 4954: // TODO: there is a convention that the name is the Provider/Type Should we provide an override? - line 5265: // TODO: validate there are no conflicting manifest exposed names (generally following the format "provider/type") - line 5377: // TODO: for 'byte*' types it assumes the user provided length is named using the same naming convention - line 5577: // TODO: Warn people about the dropping of values. src/mono/mono/metadata/class-setup-vtable.c (12 lines): - line 497: /* FIXME: the "signature_is_subsumed" check for covariant returns is not good enough: - line 940: MonoGenericContainer *container = mono_class_try_get_generic_container (klass); //FIXME is this a case of a try? - line 957: /* FIXME it's probably a good idea to avoid this for generic instances. */ - line 1169: // FIXME move state to caller - line 1193: * FIXME we should better report this error to the caller - line 1243: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 1410: * FIXME: it's slow to do this loop every time. A faster way would be - line 1420: /* FIXME: for abstract classes, do we put abstract methods here? */ - line 1680: /* FIXME: do we need to check all the way up? can we just check the most derived one? */ - line 1751: // FIXME: Ordering between interfaces - line 1944: // FIXME If klass is abstract, we can end up with abstract method in the vtable. Is this a problem ? - line 2019: if (!cmsig || !m1sig) /* FIXME proper error message, use signature_checked? */ src/mono/mono/metadata/assembly-load-context.c (12 lines): - line 42: // FIXME: - line 168: // TODO: free mempool stuff/jit info tables, see domain freeing for an example - line 177: // TODO: alc unloading profiler event - line 186: // FIXME: Do it for every memory manager - line 190: // FIXME: Change to FALSE - line 198: // FIXME: - line 212: // TODO: alc unloaded profiler event - line 279: // FIXME: - line 652: // FIXME: Can dynamic assemblies match here for netcore? - line 688: // FIXME: prevent the individual ALCs from being collected until the iteration is done. - line 728: // FIXME: Generic memory managers might need to be destroyed in a specific order/together, - line 733: // FIXME: Use debug_unload=FALSE src/mono/mono/component/marshal-ilgen.c (12 lines): - line 76: /* FIXME: Only do this if needed */ - line 250: // FIXME: Support other types - line 260: /* FIXME: Optimize blittable case */ - line 424: /* FIXME: t is from the method which is wrapped, not the delegate type */ - line 441: /* FIXME: Optimize blittable case */ - line 604: /* FIXME: Optimize blittable case */ - line 1485: /* FIXME: */ - line 1964: * FIXME: If an out-of-memory situation or exception happens here we will - line 2387: // FIXME: - line 2448: // FIXME: - line 2551: // FIXME: What to do here ? - line 2555: /* FIXME: Handle null */ src/coreclr/jit/helperexpansion.cpp (12 lines): - line 24: // TODO: use this function in more places in this file. - line 247: // Prepare slotPtr tree (TODO: consider sharing this part with impRuntimeLookup) - line 422: // TODO: consider marking fallbackBb as rarely-taken - line 423: // TODO: derive block weights from edge likelihoods. - line 441: // 20% chance we fail nullcheck (TODO: Consider making it cold (0%)) - line 490: // TODO: Replace with opts.compCodeOpt once it's fixed - line 1566: // TODO: Replace with opts.compCodeOpt once it's fixed - line 1601: // TODO: Expand IsKnownConstant here - line 1674: // TODO: handle srcLenCns == 0 if it's a common case - line 2026: // TODO: Revise this: - line 2101: // TODO: can we do the same for string[]? (importer did not) - line 2125: // TODO: should we keep the helper call for ISINSTANCEOFARRAY like we do for CHKCASTARRAY above? src/mono/mono/metadata/handle.c (12 lines): - line 27: /* TODO (missing pieces) - line 38: TODO (things to explore): - line 173: // FIXME: Since we scan the handle stack inprecisely, some of the - line 372: // FIXME This used to check for out of scope handles. - line 421: //FIXME inline - line 434: //FIXME inline - line 443: //FIXME inline - line 455: //FIXME inline - line 462: //FIXME inline - line 469: //FIXME inline - line 476: //FIXME inline - line 483: //FIXME inline src/mono/mono/component/debugger-engine.c (12 lines): - line 73: //FIXME can we safely destroy `domains`? - line 81: * FIXME can we move the locking to here? Callers in sdb must be properly audited. - line 273: /* FIXME: Handle !mvar */ - line 379: // FIXME: - line 382: // FIXME: This previously used an iterator instead of foreach, so introducing - line 410: // FIXME: - line 470: // FIXME: locking, races - line 785: // FIXME: A suspend race - line 803: * FIXME: - line 858: // FIXME: Has to lock earlier - line 1490: // FIXME: Multiple requests - line 1602: mono_error_assert_ok (error); /* FIXME don't swallow the error */ src/coreclr/vm/methodtable.cpp (11 lines): - line 2692: // TODO: Fix JIT, NoClass eightbytes are valid and passing them is broken because of this. - line 2765: // TODO: templatize isManaged and use if constexpr for differences when we migrate to C++17 - line 3476: // @TODO: We should make this an ExceptionInInitializerError if the exception thrown is not - line 4980: //@TODO: This is currently not guaranteed to work without throwing, - line 4981: //@TODO: even with lazy interface restore disabled. - line 6491: //@TODO: Must adjust this to use an alternate allocator so that we don't - line 6492: //@TODO: potentially cause deadlocks on the debug thread. - line 7057: //@TODO: Must adjust this to use an alternate allocator so that we don't - line 7058: //@TODO: potentially cause deadlocks on the debug thread. - line 7111: //@TODO: Must adjust this to use an alternate allocator so that we don't - line 7112: //@TODO: potentially cause deadlocks on the debug thread. src/mono/mono/mini/calls.c (10 lines): - line 159: // FIXME tailcall should not be changed this late. - line 160: // FIXME It really should not be changed due to llvm_only. - line 477: /* FIXME: Cache these */ - line 506: // FIXME This has already been read in amd64 parameter construction. - line 534: FIXME: a dummy use is not the best way to do it as the local register allocator - line 656: * FIXME: Is the abs_patches hashtable avoidable? - line 752: // FIXME: Make the wrapper use the preserveall cconv - line 753: // FIXME: Use one icall per slot for small slot numbers ? - line 915: // FIXME: memory allocation - line 956: // FIXME no tailcall support src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectWriter/CodeView/CodeViewSymbolsBuilder.cs (10 lines): - line 74: // TODO: Floating point - line 97: // TODO: Floating point - line 105: // TODO: Floating point - line 122: // TODO: Do we need those? - line 146: recordWriter.Write((ushort)(debugVar.IsParameter ? 1 : 0)); // TODO: Flags - line 147: recordWriter.Write(debugVar.Name); // TODO: Names (this, etc.) - line 172: recordWriter.Write((ushort)0); // TODO: Attributes - line 181: // FIXME: Handle REGNUM_AMBIENT_SP - line 188: // TODO: Flags, CV_OFFSET_PARENT_LENGTH_LIMIT - line 232: recordWriter.Write((ushort)0); // TODO: Flags (eg. have columns) src/mono/mono/mini/decompose.c (10 lines): - line 312: /* FIXME: Instead of = NOP, don't emit the original ins at all */ - line 508: // FIXME: Optimize this - line 909: /* FIXME: Add OP_BIGMUL optimization */ - line 933: /* FIXME This is normally handled in cprop. Proper fix or remove if no longer needed. */ - line 1233: // FIXME: - line 1298: // FIXME: - line 1331: // FIXME: src_var->backend.is_pinvoke ? - line 1408: FIXME Other ABIs might return in different regs than the ones used for LCALL. - line 1409: FIXME It would be even nicer to be able to leverage the long decompose stuff. - line 1791: /* FIXME: Optimize this */ src/coreclr/vm/virtualcallstub.cpp (10 lines): - line 25: //@TODO: make these conditional on whether logs are being produced - line 121: //@TODO: use the existing logging mechanisms. for now we write to a file. - line 1564: //@TODO: Would be nice to add assertion code to ensure we only ever call Resolver once per . - line 1605: //@TODO: Figure out how to track these indirection cells so that in the - line 1606: //@TODO: future we can create dispatch stubs for this case. - line 1666: //@TODO: Can we store a pointer to the holder rather than the entrypoint? - line 2232: // TODO: passing NULL as protectedObj here can lead to incorrect behavior for ICastable objects - line 2994: @TODO: It is not clear if this routine is actually necessary and/or if the - line 3157: //@TODO: add an assert to ensure we are at a gc safe point - line 3812: // TODO: passing NULL as protectedObj here can lead to incorrect behavior for ICastable objects src/mono/mono/metadata/threads.c (10 lines): - line 73: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 1484: // FIXME invert - line 1931: mono_free (0); // FIXME keep mono-publib.c in use and its functions exported - line 2172: mono_gc_wbarrier_generic_nostore_internal ((gpointer)location); // FIXME volatile - line 2230: mono_gc_wbarrier_generic_nostore_internal ((gpointer)location); // FIXME volatile - line 2917: /*FIXME mono_thread_suspend probably should call mono_thread_execute_interruption when self interrupting. */ - line 3237: * FIXME: Clear the abort exception and return an AppDomainUnloaded - line 4082: /* FIXME using thread_saved_state [ASYNC_SUSPEND_STATE_INDEX] can race with another suspend coming in. */ - line 4201: /*FIXME we need to wait for interruption to complete -- figure out how much into interruption we should wait for here*/ - line 4217: /* FIXME this is insanely broken, it doesn't cause interruption to happen synchronously src/mono/mono/eventpipe/ep-rt-mono-runtime-provider.c (10 lines): - line 675: //TODO: Optimize string formatting into functions accepting GString to reduce heap alloc. - line 807: // TODO: Extract all module native paths and pdb metadata when available. - line 895: // TODO: FireEtwMethodDCEndVerbose_V1_or_V2 for all native methods in module as well? - line 1216: // TODO: Investigate alternatives on platforms supporting Signals/SuspendThread (see Mono profiler) or CPU PMU's (see ETW/perf_event_open). - line 1291: // TODO: An async frame can contain wrapper methods (no way to check during stackwalk), we could skip writing profile event - line 1810: //TODO: Optimize string formatting into functions accepting GString to reduce heap alloc. - line 1943: //TODO: Optimize string formatting into functions accepting GString to reduce heap alloc. - line 2432: uintptr_t ip = 0; //TODO: Have profiler pass along IP of handler block. - line 2827: //TODO: CoreCLR doesn't have this case, so no failure event currently exists. - line 4200: // TODO: If/when we can unload vtables, we would need to temporary src/mono/mono/mini/ssa.c (10 lines): - line 983: /* FIXME: Support longs/floats */ - line 984: /* FIXME: Work on vregs as well */ - line 1012: /* FIXME: */ - line 1057: * FIXME: This isn't true if the ins is visited through an SSA edge. - line 1068: /* FIXME: Speed this up */ - line 1082: /* FIXME: handle this as well */ - line 1168: /* FIXME: */ - line 1185: /* FIXME: Handle 3 op insns */ - line 1194: /* FIXME: handle this as well */ - line 1302: * FIXME: This should be bb->flags & BB_FLAG_EXCEPTION_HANDLER, but src/mono/mono/mini/mini-s390x.c (9 lines): - line 909: /* FIXME: s390_r12 is reserved for bkchain_reg. Only reserve it if needed */ - line 1811: cfg->param_area = MAX(((signed) cfg->param_area), lParamArea); /* FIXME */ - line 1952: /* FIXME: alignment? */ - line 1963: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 5226: /*TODO: This is appart of the sse spec but not added - line 5383: /*FIXME the peephole pass should have killed this*/ - line 6345: /* FIXME: */ - line 6597: /* FIXME: Support more cases */ - line 7104: // FIXME: Optimize the size src/mono/mono/mini/driver.c (9 lines): - line 496: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 747: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 774: expected = atoi (method->name + 5); // FIXME: oh no. - line 832: /* TODO: merge this code with the regression harness of the JIT */ - line 1072: * FIXME: We are actually not allowed - line 1218: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 1249: // FIXME There are a few failures due to DllNotFoundException related to System.Native - line 1341: /* FIXME: remove this silly requirement. */ - line 1776: /* FIXME: Avoid code duplication */ src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs (9 lines): - line 363: // TODO: might not actually be the real reason. It could be e.g. a JIT failure/bad IL that followed - line 1119: // TODO: Cache inlining hits - line 1177: // TODO: Inlining - line 2022: // TODO: Support for verification (CORINFO_FLG_GENERIC_TYPE_VARIABLE) - line 3066: // TODO: Access check - line 3156: // TODO: Debugging - line 3164: // TODO: Debugging - line 3523: // TODO: Lazy string literal helper - line 4183: // TODO: enable this check in full AOT src/mono/mono/metadata/assembly.c (9 lines): - line 981: //req.no_postload_search = TRUE; // FIXME: should this be set? - line 1081: mono_error_assert_ok (hook_error); /* FIXME: proper error handling */ - line 1168: mono_error_assert_ok (hook_error); /* FIXME: proper error handling */ - line 1305: /* TODO: propagage error out to callers */ - line 1708: /* FIXME: should we only check for it in dynamic modules? */ - line 1941: /* FIXME: I think individual context should probably also look for an existing MonoAssembly here, we just need to pass the asmctx to the search hook so that it does a filename match (I guess?) */ - line 2690: /* FIXME: AOT compiler comes here without an installed hook. */ - line 3218: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 3232: // FIXME: Support named parameters src/mono/mono/mini/memory-access.c (9 lines): - line 28: /*FIXME arbitrary hack to avoid unbound code expansion.*/ - line 202: /* FIXME: Optimize the case when src/dest is OP_LDADDR */ - line 231: /* FIXME: Optimize the case when dest is OP_LDADDR */ - line 542: /* FIXME: should check item at sp [1] is compatible with the type of the store. */ - line 560: * FIXME: It's unclear whether we should be emitting both the acquire - line 564: * FIXME: We emit full barriers on both sides of the operation for - line 594: //FIXME unrolled memset only supports zeroing - line 616: * FIXME: It's unclear whether we should be emitting both the acquire - line 620: * FIXME: We emit full barriers on both sides of the operation for src/coreclr/vm/threads.cpp (9 lines): - line 454: // TODO: managed ThreadPriority only supports up to 4. - line 2028: // TODO: we should always use small stacks for most of these threads. For CLR 4, we're being conservative - line 2209: // @TODO cwb: for a typical shutdown, only background threads are still around. - line 2269: // TODO: we would prefer to use a GC Holder here, however it is hard - line 2313: // TODO: we would prefer to use GCX_COOP here, see comment above. - line 2417: // TODO: enable this - line 3550: // @TODO cwb: we don't know whether a thread has a message pump or - line 3552: // @TODO cwb: WinCE isn't going to support Thread.Interrupt() correctly until - line 6308: // TODO: we need to measure what the stack usage needs are at the limits in the hosted scenario for host callbacks src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http3RequestStream.cs (9 lines): - line 708: // TODO: special-case Content-Type for static table values values? - line 899: // TODO: this header budget is sent as SETTINGS_MAX_HEADER_LIST_SIZE, so it should not use frame payload but rather 32 bytes + uncompressed size per entry. - line 1026: // TODO: The parsing is not optimal, but I don't expect this line to be executed at all for now. - line 1168: // TODO: this is inefficient if data is already available in transport - line 1191: // TODO: this is inefficient if data is already available in transport - line 1240: // TODO: this is inefficient if data is already available in transport - line 1263: // TODO: this is inefficient if data is already available in transport - line 1389: // TODO: it may be possible for Http3RequestStream to implement Stream directly and avoid this allocation. - line 1480: // TODO: it may be possible for Http3RequestStream to implement Stream directly and avoid this allocation. src/mono/System.Private.CoreLib/src/System/Reflection/Emit/MonoArrayMethod.cs (8 lines): - line 65: // FIXME: "Always returns this" - line 68: return this; /* FIXME */ - line 78: // FIXME: "Not implemented. Always returns null" - line 84: // FIXME: "Not implemented. Always returns zero" - line 90: // FIXME: "Not implemented. Always returns an empty array" - line 101: // FIXME: "Not implemented. Always returns 0" - line 107: // FIXME: "Not implemented" - line 118: // FIXME: "Not implemented. Always returns zero" src/mono/mono/eventpipe/ds-rt-mono.h (8 lines): - line 85: // TODO: Implement. - line 93: // TODO: Implement. - line 101: // TODO: Implement. - line 109: // TODO: Implement. - line 165: // TODO: Implement. - line 196: // TODO: Implement. - line 205: // TODO: Implement. - line 246: // TODO: Implement. src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteProperties.String.cs (8 lines): - line 1369: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1404: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1440: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1476: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1512: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1562: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1613: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 1664: // TODO: https://github.com/dotnet/runtime/issues/29293 src/mono/mono/mini/llvmonly-runtime.c (8 lines): - line 50: // FIXME: Cache this - line 466: // FIXME: Memory management - line 543: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 561: // FIXME: This wastes memory since add_generic_virtual_invocation ignores it in a lot of cases - line 774: // FIXME: Cache - line 831: // FIXME: Cache - line 869: if (m_class_is_valuetype (vt->klass)) /*FIXME is this required variant iface?*/ - line 938: // FIXME: This should be somewhere else src/libraries/System.Data.Common/src/System/Data/DataView.cs (8 lines): - line 551: // TODO: This will throw NRE if _table isn't set (e.g. default ctor) - line 721: // TODO: This will throw NRE if _index isn't set (e.g. default ctor) - line 730: // TODO: This will throw NRE if _index isn't set (e.g. default ctor) - line 749: // TODO: This will throw NRE if _index isn't set (e.g. default ctor) - line 762: // TODO: This will throw NRE if _index isn't set (e.g. default ctor) - line 1639: /*default*/ null! // TODO: This will cause an NRE - line 1650: /*default*/ null! // TODO: This will cause an NRE - line 1661: /*default*/ null! // TODO: This will cause an NRE src/mono/browser/runtime/jiterpreter-support.ts (8 lines): - line 225: // FIXME: This does not take into account any other functions already generated if they weren't - line 665: // FIXME: This combined with the initial cost of decoding the function name is somewhat expensive - line 906: // FIXME: How do we make sure this has correct semantics for pointers over 2gb? - line 1056: // FIXME: Find a way to avoid temporarily allocating a view for every appendBytes - line 1122: isBackward: boolean; // FIXME: This should be inferred automatically - line 1377: // FIXME: If back branch target, generate a loop and put it on the block stack - line 1864: // FIXME: This check will always return true on worker threads. - line 2057: // FIXME: Unfortunately the interp entry tables need to be REALLY big. I'm not sure why. src/mono/mono/tools/offsets-tool/clang/cindex.py (8 lines): - line 163: FIXME: Make libclang expose additional error information in this scenario. - line 338: # FIXME: Eliminate this and make normal constructor? Requires hiding ctypes - line 1662: # TODO: Should probably check that this is either a reference or - line 1976: # FIXME: Expose iteration from CIndex, PR6125. - line 1978: # FIXME: Document this assertion in API. - line 1979: # FIXME: There should just be an isNull method. - line 2036: # FIXME: There should just be an isNull method. - line 2373: # FIXME Support slice objects. src/mono/mono/metadata/handle.h (8 lines): - line 189: // FIXME There should be fast and slow versions of this, i.e. with and without local variable. - line 196: // FIXME This should be one function call since it is not fully inlined. - line 199: // FIXME This should be one function call since it is not fully inlined. - line 441: { /* FIXME scope needed by Centrinel */ \ - line 442: /* FIXME mono_array_setref_fast is not an expression. */ \ - line 452: { /* FIXME scope needed by Centrinel */ \ - line 453: /* FIXME mono_array_set is not an expression. */ \ - line 590: //FIXME this should go somewhere else src/mono/mono/metadata/memory-manager.c (7 lines): - line 70: // FIXME: Free the allocator - line 123: // TODO: make these not linked to the domain for debugging - line 175: // FIXME: - line 194: // FIXME: Call cleanup_refobject_hash - line 255: // FIXME: Free generics caches - line 658: /* FIXME: The LoaderAllocator object has a finalizer, which shouldn't execute */ - line 690: // FIXME: GC safety src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeTypeBuilder.Mono.cs (7 lines): - line 351: return created!.GetConstructor(bindingAttr, binder, callConvention, types!, modifiers); // FIXME: types shouldn't be null - line 1235: // FIXME: I doubt just removing this still works. - line 1330: // FIXME: Check that 'named_type' and 'named_typename' match, etc. - line 1331: // See related code/FIXME in mono/mono/metadata/reflection.c - line 1557: // FIXME: - line 1563: // FIXME: "arrays" - line 1647: // FIXME: src/mono/wasi/build/WasiApp.targets (7 lines): - line 45: - line 67: - line 239: - line 245: - line 263: - line 297: - line 373: src/coreclr/jit/lclvars.cpp (7 lines): - line 2709: // TODO: Ideally we would want to consider the impact of whether the struct is - line 2948: // TODO: Need to determine if/how to handle split args. - line 3879: // ARM-TODO: this was disabled for ARM under !FEATURE_FP_REGALLOC; it was probably a left-over from - line 3990: // ARM-TODO: this was disabled for ARM under !FEATURE_FP_REGALLOC; it was probably a left-over from - line 4656: // TODO: Zero-inits in LSRA are created with below condition. But if filter out based on that condition - line 4766: // TODO: Stop passing isRecompute once we are sure that this assert is never hit. - line 8049: // TODO: make this a bit more random, eg: src/mono/mono/metadata/image.c (7 lines): - line 58: // FIXME: This number is arbitrary, a more practical number should be found - line 309: /* FIXME: we ignore the writable flag since we don't patch the binary */ - line 671: /* FIXME: */ - line 835: /* FIXME: we lose bits here, but we don't use this stuff internally, so we don't care much. - line 1084: * FIXME: byte swap all addresses here for header. - line 1584: /* TODO: Maybe implement this for netcore by searching only the default ALC of the current domain */ - line 2041: /* FIXME: do we need this? (image is disposed anyway) */ src/coreclr/vm/i386/jithelp.asm (7 lines): - line 23: ; @TODO Switch to g_ephemeral_low and g_ephemeral_high - line 24: ; @TODO instead of g_lowest_address, g_highest address - line 195: ; TODO: In Orcas timeframe if we move to P4+ only on X86 we should enable - line 213: ;; TODO: Should be changed to a push if the mfence described above is added. - line 332: ; TODO: In Orcas timeframe if we move to P4+ only on X86 we should enable - line 350: ;; TODO: Should be changed to a push if the mfence described above is added. - line 821: ; @TODO : esp based - doesnt work with localloc src/coreclr/nativeaot/Runtime/unix/PalRedhawkUnix.cpp (7 lines): - line 571: PORTABILITY_ASSERT("UNIXTODO: Implement this function"); - line 587: PORTABILITY_ASSERT("UNIXTODO: Implement this function"); - line 694: // TODO: Figure out which scheduler to use, the default one doesn't seem to - line 959: // UNIXTODO: Implement this function - line 1001: // UNIXTODO: Implement this function - line 1066: // TODO: Once our CI tools can get upgraded to xcode >= 15.3, replace the code above by this: - line 1123: // TODO: encapsulate this stuff src/mono/browser/runtime/jiterpreter-jit-call.ts (7 lines): - line 160: // FIXME: Without doing this we occasionally get name collisions while jitting. - line 615: [CilOpcodes.LDIND_REF]: WasmOpcode.i32_load, // TODO: Memory barrier? - line 678: // FIXME: STACK_ADD_BYTES does alignment, but we probably don't need to? - line 698: // FIXME: - line 715: // FIXME: LDOBJ is not implemented - line 757: // FIXME: - line 777: // FIXME: STOBJ is not implemented src/coreclr/tools/aot/ILCompiler.ReadyToRun/JitInterface/CorInfoImpl.ReadyToRun.cs (7 lines): - line 1699: // TODO: Handle the case when the RVA is in the TLS range - line 1816: // TODO: We need to implement access checks for fields and methods. See JitInterface.cpp in mrtjit - line 2294: // TODO: access checks - line 2420: // TODO in the future we should consider allowing this for regular virtuals as well with a fixup that verifies the method wasn't implemented - line 2468: // TODO: m_pImage->m_pPreloader->MethodReferencedByCompiledCode(pResult->hMethod); - line 2766: // TODO: m_pImage->m_pPreloader->MethodReferencedByCompiledCode((CORINFO_METHOD_HANDLE)pResult->compileTimeHandle); - line 2824: // TODO: READYTORUN FUTURE: Handle this case correctly src/mono/mono/mini/mini-trampolines.c (6 lines): - line 535: /* FIXME: only do this if the method is sharable */ - line 633: if (m_class_is_valuetype (vt->klass) && !mini_method_is_default_method (m)) /*FIXME is this required variant iface?*/ - line 748: * FIXME: Performance problem. - line 943: // FIXME: Error handling (how ?) - line 1442: // FIXME: Can the dynamic method outlive the delegate class if its unloadable ? - line 1450: // FIXME: Use a different conditional src/mono/System.Private.CoreLib/src/System/Reflection/Emit/SignatureHelper.cs (6 lines): - line 120: // FIXME: "Not implemented" - line 126: // FIXME: "Not implemented" - line 137: // FIXME: "Not implemented" - line 225: // FIXME: "Currently we ignore requiredCustomModifiers and optionalCustomModifiers" - line 245: // FIXME: "pinned is ignored" - line 274: // FIXME: "Not implemented" src/coreclr/vm/exceptionhandling.cpp (6 lines): - line 3268: // TODO: remove this call and try to report the IL catch handler in the IL stub itself. - line 4642: // TODO: make sure the establisher frame is properly aligned. - line 4645: // TODO: add better error handling - line 4842: // TODO: make sure the establisher frame is properly aligned. - line 4845: // TODO: add better error handling - line 6488: // TODO: Check if we could enable it for non-PAL as well. src/mono/mono/mini/mini-codegen.c (6 lines): - line 61: #pragma warning(disable:4293) // FIXME negative shift is undefined - line 135: 16 /*FIXME make this a constant. Maybe MONO_ARCH_SIMD_VECTOR_SIZE? */ - line 1875: // FIXME: - line 1887: // FIXME: - line 2007: /* FIXME: */ - line 2053: /* FIXME: */ src/mono/mono/mini/mini.h (6 lines): - line 128: //TODO: This is x86/amd64 specific. - line 186: * FIXME This typedef exists only to avoid tons of code rewriting - line 804: // FIXME tailcall field is written after read; prefer MONO_IS_TAILCALL_OPCODE. - line 1372: * FIXME We can potentially get rid of this, since it was mainly used - line 1553: /* FIXME: Use a bitmap */ - line 1560: /* FIXME: Use a bitmap */ src/mono/System.Private.CoreLib/src/System/Reflection/Emit/DynamicILInfo.cs (6 lines): - line 61: // FIXME: - line 94: // FIXME: - line 100: // FIXME: - line 121: // FIXME: - line 127: // FIXME: - line 134: // FIXME: src/coreclr/vm/jithelpers.cpp (6 lines): - line 2373: // @TODO right now we check for precisely the correct type. - line 4307: // TODO: It would be MUCH more robust if we should remember which threads - line 4356: // @TODO: the following ifdef is in error, but if corrected the - line 4765: // TODO: if we access the patchpointInfo here, we can read out the FP-SP delta from there and - line 4897: // TODO: may not want to optimize this part of the method, if it's truly partial compilation - line 4968: // TODO: if we access the patchpointInfo here, we can read out the FP-SP delta from there and src/coreclr/jit/lowerarmarch.cpp (6 lines): - line 59: // TODO: Enable for arm too (vcmp) - line 294: // TODO: Handle CMN, NEG/NEGS, BIC/BICS, EON, MVN, ORN, TST - line 362: // TODO: Handle BIC/BICS, EON, MVN, ORN, TST - line 444: // TODO: Handle CMN - line 948: // TODO: We could do this optimization in morph but we do not have - line 3320: // TODO: Codegen isn't currently handling this correctly src/mono/mono/mini/abcremoval.c (6 lines): - line 301: /* FIXME: */ - line 309: /* FIXME: */ - line 347: /* FIXME: Add more opcodes */ - line 495: /* FIXME: Other compare opcodes */ - line 653: /* FIXME Figure this out! (ignoring it is safe anyway) */ - line 1035: /* FIXME: Add support for 'constant' arrays and constant indexes */ src/mono/mono/sgen/sgen-alloc.c (6 lines): - line 136: /* FIXME: handle OOM */ - line 162: // FIXME: - line 192: /* FIXME: handle overflow */ - line 350: /*FIXME we should use weak memory ops here. Should help specially on x86. */ - line 358: /* FIXME: handle overflow */ - line 409: g_assert (*p == NULL); /* FIXME disable this in non debug builds */ src/coreclr/vm/classcompat.cpp (6 lines): - line 289: //@TODO: This doesn't work for generics - fix if generics will be exposed to COM - line 1140: // Returns FALSE for failure. Currently we don't fail, but @TODO perhaps we should fail if we recurse - line 1769: //@TODO: Maybe need to create new slot data entries for this copy-out based on - line 1770: //@TODO: the MD's of the interface slots. - line 2784: // @DIM_TODO - What if default interface method is called through COM interop? - line 3260: // @TODO: CTS this may be illegal and we could throw an error src/mono/mono/metadata/sgen-stw.c (6 lines): - line 36: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 130: * FIXME We should probably rework and check the valid flag instead. - line 191: /* FIXME this is the wrong spot at we can STW for non collection reasons. */ - line 259: FIXME: can't we merge this with thread_is_dying? - line 278: FIXME Use some state bit in SgenThreadInfo for this. - line 288: FIXME: can't we merge this with skip src/mono/browser/debugger/DebuggerTestSuite/EvaluateOnCallFrameTests.cs (6 lines): - line 14: // TODO: static async, static method args - line 27: // TODO: { "DebuggerTests.EvaluateTestsGeneric`1", "Instance", 9, "EvaluateTestsGenericStructInstanceMethod", prefix } - line 263: // "((this))", TObject("foo")); //FIXME: - line 264: // "((dt))", TObject("foo")); //FIXME: - line 357: // TODO: change types also.. so, that `this` is different! - line 443: //BUG: TODO: src/mono/mono/mini/intrinsics.c (6 lines): - line 395: // FIXME: Sign extend index ? - line 411: * FIXME: This doesn't work with abcrem, since the src is a unique LDADDR not - line 783: // FIXME: The JIT case uses PCONST - line 1423: /* TODO: Decompose these opcodes instead of bailing here. */ - line 1520: /* TODO: Decompose these opcodes instead of bailing here. */ - line 2061: // FIXME: Leaks src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/PEBuilder.cs (6 lines): - line 203: // PointerToSymbolTable (TODO: not supported): - line 208: // NumberOfSymbols (TODO: not supported): - line 377: // PointerToRelocations (TODO: not supported): - line 380: // PointerToLinenumbers (TODO: not supported): - line 383: // NumberOfRelocations (TODO: not supported): - line 386: // NumberOfLinenumbers (TODO: not supported): src/mono/browser/runtime/jiterpreter.ts (6 lines): - line 818: // TODO: Call generateWasmBody before generating any of the sections and headers. - line 864: // FIXME: Before threading can be supported, we will need to ensure that - line 998: // FIXME: We shouldn't need this check - line 1053: // FIXME: These could theoretically be 0 or 1, in which case the trace - line 1067: // TODO: Uninstall the trace function pointer from the function pointer table, - line 1179: // FIXME: A single hot method can contain many failed traces. This creates a lot of noise src/mono/mono/sgen/sgen-gc.h (6 lines): - line 83: /* FIXME: Use mono_atomic_add_i32 & mono_atomic_add_i64 to reduce the CAS cost. */ - line 447: /*FIXME add allocation function? */ - line 580: /* FIXME put this asserts under a non default level */ - line 861: /* FIXME: move the toggleref stuff out of here */ - line 933: /* FIXME: what exactly does this return? */ - line 1025: * FIXME: major_collector.is_object_live() also calculates the src/mono/mono/mini/tramp-arm64.c (6 lines): - line 57: /* FIXME: disp is signed */ - line 153: while (imm > 256) { // TODO: can this be changed to ARM_MAX_ARITH_IMM? - line 169: // FIXME: Optimize this - line 403: // FIXME: Maybe make a normal non-ptrauth call ? - line 558: // FIXME: Currently, we always go to the slow path. - line 604: // FIXME: Unwind info src/coreclr/vm/eetwain.cpp (5 lines): - line 86: _ASSERTE(stateBuf->hdrInfoBody.handlers); // @TODO : This will always be set. Remove it - line 209: return E_FAIL; // stack should be empty - @TODO : Barring localloc - line 226: /* @TODO : What if the new method offset is in a fuclet, - line 236: /* @TODO: Check if we have grown out of space for locals, in the face of localloc */ - line 239: // @TODO: If nesting level grows above the MAX_EnC_HANDLER_NESTING_LEVEL, src/coreclr/pal/src/thread/thread.cpp (5 lines): - line 259: // UNIXTODO Should take pThread parameter here (modify callers) - line 320: // TODO: should do perf test to see how this compares - line 862: // TODO: Is this still needed after removing InternalSuspendThreadFromData? - line 1189: // UNIXTODO: Should log a warning to the event log - line 2223: // @UNIXTODO: This is our last chance to unlink our Mach exception handler from the pseudo-chain we're trying src/coreclr/tools/ILVerification/ILImporter.StackValue.cs (5 lines): - line 482: // TODO IsEquivalent - line 511: // TODO: Other cases - variance, etc. - line 519: // TODO: Other cases - variance, etc. - line 536: // TODO: - line 698: // TODO: Check for other by-ref like types Slice, ArgIterator, TypedReference src/mono/mono/mini/linear-scan.c (5 lines): - line 274: /* FIXME: This is x86 only */ - line 326: /* FIXME: Optimize this */ - line 350: /* FIXME: Optimize this */ - line 425: /* FIXME: Optimize the selection of the interval */ - line 467: /* FIXME: This is x86 only */ src/coreclr/jit/fgdiagnostic.cpp (5 lines): - line 2311: const bool printEdgeLikelihoods = true; // TODO: parameterize? - line 3282: // TODO: it's only allowed if its underlying effective node is also a small type. - line 3295: // TODO: validate types in GT_CAST nodes. - line 3386: // TODO: enable checking of GTF_GLOB_REF. - line 3582: // TODO: return? src/libraries/System.Data.Common/src/System/Data/Common/DbDataAdapter.cs (5 lines): - line 1043: // TODO: the event may be raised with a null command, but only if the update, but only if - line 1169: // TODO: See above comment on dataCommand being null - line 1192: // TODO: See above comment on dataCommand being null - line 1290: // TODO: See above comment on dataCommand being null - line 1291: // TODO: DataRow is null because we call AdapterInit below, which populates rows src/libraries/System.Data.OleDb/src/System/Data/ProviderBase/DbConnectionPool.cs (5 lines): - line 678: PerformanceCounters.NumberOfPooledConnections.Increment(); // TODO: Performance: Consider moving outside of lock? - line 877: // TODO: BID trace processing state? - line 920: // TODO: move this to src/Common and integrate with SqlClient - line 1552: // TODO: Consider using a Cer to ensure that we mark the object for reclaimation in the event something bad happens? - line 1693: // TODO: Consider implement a control knob here; why do we only check for dead objects ever other time? why not every 10th time or every time? src/mono/mono/eglib/glib.h (5 lines): - line 90: // FIXME It used to do more. Rename? - line 409: /* FIXME: g_strcasecmp supports utf8 unicode stuff */ - line 660: //FIXME previous missing parens - line 686: //FIXME previous missing parens - line 1153: G_END_DECLS // FIXME: There is more extern C than there should be. src/coreclr/tools/aot/ILCompiler.RyuJit/JitInterface/CorInfoImpl.RyuJit.cs (5 lines): - line 816: // TODO: Implement MapMethodDeclToMethodImpl from CoreCLR - line 1662: // TODO: Optimize this - line 2097: // TODO: Handle the case when the RVA is in the TLS range - line 2240: // TODO: We need to implement access checks for fields and methods. See JitInterface.cpp in mrtjit - line 2405: // TODO: handle FrozenObjectNode src/coreclr/debug/ee/controller.cpp (5 lines): - line 1379: // TODO: : determine if this is needed for AMD64 - line 1380: #if defined(TARGET_X86) //REVISIT_TODO what is this?! - line 1515: // TODO: : determine if this is needed for AMD64 - line 1600: // TODO: : determine if this is needed for AMD64 - line 2269: // TODO: Figure out what we want to do here src/coreclr/debug/daccess/request.cpp (5 lines): - line 114: // TODO: Microsoft, need another test for validity, this one isn't always true anymore. - line 1941: // TODO: This is not currently useful, I need to get the module of the - line 1944: // TODO: Is there an easier way to get this information? - line 2252: // TODO: avoid instantiating even object Arrays in the host. - line 3743: // TODO: Microsoft, implement the wait list src/mono/mono/mini/tramp-arm64-gsharedvt.c (5 lines): - line 280: // FIXME: Only do this if fp regs are used - line 325: // FIXME: - line 328: // FIXME: Only do this if needed - line 339: // FIXME: Use a switch - line 353: // FIXME: Use cmpx_imm src/mono/mono/utils/mono-hwcap-arm.c (5 lines): - line 62: /* TODO: Find a way to detect Thumb 2. */ - line 77: /* TODO: Find a way to detect v7s. */ - line 96: /* TODO: Find a way to detect features like Thumb and VFP. */ - line 193: /* TODO: Find a way to detect v7s. */ - line 203: /* TODO: Find a way to detect Thumb 2. */ src/coreclr/vm/gccover.cpp (5 lines): - line 390: // TODO: If the entire range is uninterruptible, we should skip the - line 527: // REVISIT_TODO apparently the jit does not use the entire RUNTIME_FUNCTION range - line 1097: *nextInstr = instrPtr + 4; // TODO: adjust once we support "C" (compressed instructions) - line 1671: // instruction in the epilog (TODO: fix it for the first instr Case) - line 1785: // TODO currently disabled. we only do a GC once per instruction location. src/mono/wasm/build/WasmApp.Common.targets (5 lines): - line 131: - line 173: - line 618: - line 756: src/mono/mono/mini/alias-analysis.c (5 lines): - line 186: //FIXME optimize - line 279: //FIXME missing storei1_membase_imm and storei2_membase_imm - line 306: // FIXME Kill more aliases if used as dreg, since we are not in ssa form. - line 375: FIXME: - line 378: TODO: src/coreclr/ilasm/portable_pdb.cpp (5 lines): - line 172: // TODO: make use of hash algorithm and hash value - line 253: break; // TODO: break or ignore? - line 350: ULONG importScopeRid = RidFromToken(mdImportScopeNil); // TODO: not supported for now - line 352: ULONG firstLocalConstRid = RidFromToken(mdLocalConstantNil); // TODO: not supported for now - line 362: USHORT attribute = 0; // TODO: not supported for now src/coreclr/gc/sample/gcenv.ee.cpp (5 lines): - line 117: // TODO: Locks - line 131: // TODO: Implement - line 136: // TODO: Implement - line 143: // TODO: Implement - Scan stack roots on given thread - line 263: // TODO: Implement for finalization src/mono/mono/utils/mono-wasm-pagemgr.c (5 lines): - line 153: // TODO: Remove the duplication in here - line 171: // TODO: Don't recalculate the address from scratch each time - line 175: // FIXME: Can we generate correct skip_value here? This is used - line 352: // TODO: If we find a free page with a skip count in it, that would indicate - line 449: // FIXME: Scan backwards from the new allocation to look for free pages src/mono/mono/metadata/debug-helpers.c (5 lines): - line 486: /* FIXME: implement g_pattern_match_simple in eglib */ - line 627: /* FIXME: Is this call necessary? We don't use its result. */ - line 1049: mono_error_cleanup (error); /* FIXME don't swallow the error */ - line 1167: /* TODO: metadata-update: print something here */ - line 1244: /* TODO: metadata-update: print something for added fields? */ src/mono/mono/arch/arm64/arm64-codegen.h (5 lines): - line 357: /* FIXME: Not yet */ - line 495: // FIXME: - line 500: // FIXME: - line 525: // FIXME: imm - line 722: /* FIXME: Missing multiple opcodes */ src/coreclr/vm/codeman.cpp (5 lines): - line 1043: // TODO: maybe optimize further. - line 1518: // TODO: https://github.com/dotnet/runtime/issues/101477 - line 2863: // TODO: think about the CodeHeap carrying around a RealCodeHeader chunking mechanism - line 3393: // TODO: Although we have backout the GCInfo and EHInfo, we haven't actually backout the - line 5964: // TODO: We need a solution for arm64 here src/mono/mono/metadata/class-internals.h (5 lines): - line 436: MonoGenericContext context; /* a context that contains the type instantiation doesn't contain any method instantiation */ /* FIXME: Only the class_inst member of "context" is ever used, so this field could be replaced with just a monogenericinst */ - line 947: mono_memory_barrier (); /* FIXME excessive? */ \ - line 957: // FIXME This maybe has excessive volatile/barriers. - line 1398: // FIXME Replace all internal callers of mono_method_get_header_checked with - line 1556: // FIXME: All callers should get a MemoryManager from their callers or context src/mono/mono/metadata/weak-hash.c (5 lines): - line 44: // FIXME: Do it in the caller - line 215: // FIXME: - line 259: // FIXME: Does this work ? - line 294: // FIXME: - line 333: // FIXME: src/mono/browser/debugger/DebuggerTestSuite/AsyncTests.cs (5 lines): - line 19: // FIXME: method with multiple async blocks - so that we have two separate classes for that method! - line 20: // FIXME: nested blocks - line 21: // FIXME: Confirm the actual bp location - line 22: // FIXME: check object properties.. - line 24: //FIXME: function name src/libraries/System.Private.CoreLib/src/System/Decimal.DecCalc.cs (5 lines): - line 197: // TODO: https://github.com/dotnet/runtime/issues/5213 - line 370: // TODO: https://github.com/dotnet/runtime/issues/5213 - line 416: // TODO: https://github.com/dotnet/runtime/issues/5213 - line 1955: // TODO: https://github.com/dotnet/runtime/issues/5213 - line 2386: // TODO: https://github.com/dotnet/runtime/issues/5213 src/tasks/Microsoft.NET.WebAssembly.Webcil/WebcilReader.cs (5 lines): - line 110: // FIXME threading - line 153: // FIXME: copied from DebugDirectoryEntry.Size - line 164: // FIXME: copy-pasted from PEReader - line 217: // FIXME: copy-pasted from PEReader.DecodeCodeViewDebugDirectoryData - line 264: // FIXME: inspired by PEReader.DecodeEmbeddedPortablePdbDebugDirectoryData src/mono/System.Private.CoreLib/src/System/Reflection/CustomAttribute.cs (5 lines): - line 61: /* FIXME: Add other types */ - line 113: // FIXME: Callers are explicitly passing in null for attributeType, but GetCustomAttributes prohibits null attributeType arguments - line 155: // FIXME: GetCustomAttributesBase doesn't like being passed a null attributeType - line 468: //FIXME resolve this case if it makes sense. Assign empty array for now. - line 500: /* FIXME: Add other types */ src/mono/browser/runtime/loader/assets.ts (5 lines): - line 442: // FIXME: should we also load Net7 backward compatible `config.configs` in a same way ? - line 451: // TODO what should be the virtualPath ? - line 456: // FIXME: why are not loading all the other named files in appsettings ? https://github.com/dotnet/runtime/issues/89861 - line 485: // FIXME: Connection reset is probably the only good one for which we should retry - line 736: // FIXME: "no-cache" is how blazor works in Net7, but this prevents caching on HTTP level src/mono/mono/metadata/gc.c (5 lines): - line 53: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 256: * FIXME: This is not perfect, objects dying at the same time as - line 572: /* FIXME: Need to handle case where obj has COM Callable Wrapper - line 695: // TODO: Schedule the background job on WASI. Threads aren't yet supported in this build. - line 792: /* FIXME: Avoid finalizing threads, etc */ src/mono/browser/runtime/jiterpreter-interp-entry.ts (5 lines): - line 165: // FIXME: move this counter into C and make it thread safe - line 520: // FIXME: 8-byte ints (unaligned) - line 521: // FIXME: 4 and 8-byte floats (unaligned) - line 549: // FIXME: This is not thread-safe, but the alternative of alloca makes the trampoline - line 554: // FIXME: Pre-allocate these buffers and their constant slots at the start before we src/mono/mono/mini/tramp-amd64.c (5 lines): - line 80: /* FIXME: Optimize this */ - line 232: * FIXME: Avoid this if possible if !MONO_ARCH_NOMAP32BIT and ADDR is 32 bits. - line 235: // FIXME: Has to be an argument - line 804: // FIXME: Currently, we always go to the slow path. - line 829: /* FIXME: This is not thread safe */ src/coreclr/nativeaot/Runtime/threadstore.cpp (5 lines): - line 350: // TODO: consider enabling multiple thread aborts running in parallel on different threads - line 356: // TODO: Stage 2: Queue APC to the target thread to break out of possible wait - line 362: // TODO: Stage 3: protected regions (finally, catch) handling - line 364: // TODO: Stage 4: reverse PInvoke handling - line 449: // ARM64TODO: Re-enable optimization src/coreclr/jit/inlinepolicy.cpp (5 lines): - line 1389: // TODO: Enable for PgoSource::Static as well if it's not the generic profile we bundle. - line 1593: // TODO: handle 'if (SomeMethod(constArg))' patterns in fgFindJumpTargets - line 1770: // TODO: Investigate cases where it makes sense to inline non-foldable switches - line 1810: // TODO: investigate in which cases we should [never] inline callees with loops. - line 3731: // TODO: handle prejit root case....need to record this in the src/native/containers/dn-simdhash-specialization.h (4 lines): - line 66: // TODO: Find some way to automatically select an ideal bucket capacity based on key size. - line 204: // FIXME: Could be profitable to manually hoist the data load outside of the loop, - line 254: // FIXME: inline? might improve performance for bucket overflow, but would - line 415: // TODO: Store this by-reference instead of inline in the hash? src/mono/mono/profiler/mprof-report.c (4 lines): - line 2384: /* TODO: track_handle_free () - would need to record and keep track of the associated object address... */ - line 2391: // TODO: Generate a finalizer report based on these events. - line 2623: /* FIXME: use object distance to measure how good - line 3862: /* FIXME: sometimes there are leftovers: indagate */ src/mono/System.Private.CoreLib/src/System/Threading/Thread.Mono.cs (4 lines): - line 33: private IntPtr debugger_thread; // FIXME switch to bool as soon as CI testing with corlib version bump works - line 166: // TODO: arguments check - line 186: #if TARGET_UNIX || TARGET_BROWSER || TARGET_WASI // TODO: https://github.com/dotnet/runtime/issues/49521 - line 240: // TODO: Should only raise the events src/mono/mono/utils/mono-time.c (4 lines): - line 282: // TODO: Potentially make this the default? - line 319: // TODO: need to implement this function for Windows - line 325: // TODO: need to implement this function for Windows - line 331: // TODO: need to implement time stamp function for Windows src/coreclr/gcinfo/gcinfoencoder.cpp (4 lines): - line 443: // This causes multiple complus.log files in JIT64. TODO: consider using ICorJitInfo::logMsg instead. - line 1831: // TODO: we should sort this to improve locality (the more frequent ones at the beginning) - line 2656: // @TODO: use memcpy instead - line 2669: // @TODO: use memcpy instead src/mono/mono/mini/seq-points.c (4 lines): - line 235: // FIXME: dynamic methods - line 237: // FIXME: - line 240: // FIXME: The lookup can fail if the method is JITted recursively though a type cctor - line 272: // FIXME: src/coreclr/vm/loongarch64/stubs.cpp (4 lines): - line 59: ////TODO: add for LOONGARCH. unused now! - line 1150: //TODO: maybe optimize further. - line 1203: _ASSERTE(isVec == FALSE); // TODO: VecReg not supported yet - line 1242: _ASSERTE(isVec == FALSE); // TODO: VecReg not supported yet src/coreclr/jit/compiler.hpp (4 lines): - line 1017: // TODO: check if const regMaskTP& matter or should we pass by value - line 2526: // TODO: Check if any of the exception clauses are - line 3268: // TODO: bbTgtStkDepth is DEBUG-only. - line 3897: // TODO: other helpers src/coreclr/jit/loopcloning.cpp (4 lines): - line 1378: // TODO: ensure array is dereference-able? - line 1824: // TODO: This seems like it can be deleted. If the header is the beginning - line 2098: // TODO: Cache this invariance information - line 2907: // TODO: if we can verify that the IR was not modified, we can return PhaseStatus::MODIFIED_NOTHING src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ILScanner.cs (4 lines): - line 47: // TODO: We should have a base class for compilation that doesn't implement ICompilation so that - line 292: // TODO: move ownership of compiler-generated entities to CompilerTypeSystemContext. - line 401: // TODO: move ownership of compiler-generated entities to CompilerTypeSystemContext. - line 413: // TODO: move ownership of compiler-generated entities to CompilerTypeSystemContext. src/coreclr/jit/assertionprop.cpp (4 lines): - line 1542: // TODO: only copy assertions rely on valid SSA number so we could generate more assertions here - line 3080: // TODO: Extend on more kinds of trees - line 4999: // TODO: - line 6430: // TODO https://github.com/dotnet/runtime/issues/10450: src/coreclr/vm/threadsuspend.cpp (4 lines): - line 1512: // TODO WIN64: consider this if there is a way to detect of managed code on stack. - line 2246: // @TODO: we should consider treating this function as an FCALL or HCALL and use FCThrow instead of COMPlusThrow - line 4573: // TODO [DAVBR]: For the full fix for VsWhidbey 450273, the below - line 6141: // TODO: this fires at times... src/mono/mono/mini/interp/transform-opt.c (4 lines): - line 784: // FIXME we can now remove EH bblocks. This means some vars can stop being EH vars - line 2044: // FIXME we could clear recursively - line 3239: // TODO Add more relevant opcodes - line 3708: // FIXME This optimization is very limited, it is meant mainly to remove cknull src/mono/mono/sgen/sgen-copy-object.h (4 lines): - line 52: /* FIXME: assumes object layout */ - line 74: /* FIXME: Is this path ever tested? */ - line 115: /* FIXME we might need a membar here so other threads see the vtable before we forward */ - line 130: * FIXME make sure it is not a problem if another threads scans it while we clear src/libraries/System.Data.Common/src/System/Data/DataTable.cs (4 lines): - line 5023: // TODO: There may be null values in the key - line 7171: // TODO: Possible bug, dc.DataExpression may be null - line 7203: // TODO: Possible bug, dc.DataExpression may be null - line 7235: // TODO: Possible bug, dc.DataExpression may be null src/mono/mono/metadata/native-library.c (4 lines): - line 132: // FIXME: other platforms have similar prefixes, such as $ORIGIN - line 316: // TODO: this algorithm doesn't quite match CoreCLR, so respecting DLLIMPORTSEARCHPATH_LEGACY_BEHAVIOR makes little sense - line 367: // TODO: Pass remaining flags on to LoadLibraryEx on Windows where appropriate, see https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.dllimportsearchpath?view=netcore-3.1 - line 1151: // FIXME: implement search flag defaults properly src/coreclr/jit/codegencommon.cpp (4 lines): - line 1562: // TODO: Is this really UNIX_X86_ABI specific? Should we guard with compiler->UsesFunclets() instead? - line 3818: // TODO: Consider taking into account the presence of large structs that - line 6090: // TODO: it seems like better design would be to create a list of prologs/epilogs - line 6647: // (TODO: Why? Debugger has no problem breaking on the prolog mapping src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeModuleBuilder.Mono.cs (4 lines): - line 117: return null!; // FIXME: this should not return null - line 283: return new MonoArrayMethod(arrayClass, methodName, callingConvention, returnType!, parameterTypes!); // FIXME: nulls should be allowed - line 502: // TODO: Should return RuntimeModule - line 509: // FIXME: src/mono/mono/metadata/marshal-shared.c (4 lines): - line 351: // FIXME Consolidate the multiple functions named get_method_nofail. - line 366: // FIXME This or its caller might be a good place to inline some - line 404: // FIXME: This is how LPTStr was handled on legacy, but it's not correct and for netcore we should implement this more properly. - line 807: * FIXME: Should really check for usize==0 and msize>0, but we apply src/mono/System.Private.CoreLib/src/System/Reflection/Emit/CustomAttributeBuilder.Mono.cs (4 lines): - line 115: /* FIXME: Add more checks */ - line 207: // FIXME: Check enums and TypeBuilders as well - line 484: throw new Exception("FIXME: Type " + t + " not yet handled in decode_cattr_value."); - line 566: // FIXME: src/coreclr/vm/util.cpp (4 lines): - line 30: // TODO: Introduce DAC API to make this hack unnecessary - line 275: // TODO: Fix AMBIENT_SP handling. - line 566: // @TODO : VLT_STK2 is overloaded to also mean VLT_STK_n. - line 1507: // TODO: fix this in Beta 2 src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.ConvertTruncating.cs (4 lines): - line 106: public static bool Vectorizable => false; // TODO https://github.com/dotnet/runtime/pull/97529: make this true once vectorized behavior matches scalar - line 117: public static bool Vectorizable => false; // TODO https://github.com/dotnet/runtime/pull/97529: make this true once vectorized behavior matches scalar - line 128: public static bool Vectorizable => false; // TODO https://github.com/dotnet/runtime/pull/97529: make this true once vectorized behavior matches scalar - line 139: public static bool Vectorizable => false; // TODO https://github.com/dotnet/runtime/pull/97529: make this true once vectorized behavior matches scalar src/mono/mono/mini/monovm.c (4 lines): - line 100: /* TODO: check that CoreCLR wants the strong name semantics here */ - line 114: basename = g_strconcat (aname->name, ".dll", (const char*)NULL); /* TODO: make sure CoreCLR never needs to load .exe files */ - line 133: /* TODO: do something with the status at the end? */ - line 312: // TODO: Should be return code of Main only (mono_jit_exec result) src/mono/mono/mini/tramp-ppc.c (4 lines): - line 378: // TODO: is here function descriptor unpacking necessary? - line 500: /* FIXME: make shorter if possible */ - line 536: /* FIXME: we can save a few bytes here by committing if the - line 620: /* FIXME: if we use r3 as the work register we can avoid this copy */ src/tasks/WasmAppBuilder/PInvokeTableGenerator.cs (4 lines): - line 224: // FIXME: Handle the scenario where there are fields of struct types that contain no members - line 232: // FIXME: System.Reflection.MetadataLoadContext can't decode function pointer types - line 260: // FIXME: System.Reflection.MetadataLoadContext can't decode function pointer types - line 310: // FIXME: this is a hack, we need to encode this better src/mono/browser/runtime/runtime.c (4 lines): - line 99: // FIXME: llvm+interp mode needs this to call icalls - line 327: // TODO https://github.com/dotnet/runtime/issues/98366 - line 342: // TODO https://github.com/dotnet/runtime/issues/98366 - line 354: // TODO https://github.com/dotnet/runtime/issues/98366 src/coreclr/vm/ceemain.cpp (4 lines): - line 215: static int GetThreadUICultureId(_Out_ LocaleIDValue* pLocale); // TODO: This shouldn't use the LCID. We should rely on name instead - line 614: // TODO: This shouldn't rely on the LCID (id), but only the name - line 1352: // @TODO: This does things which shouldn't occur in part 2. Namely, - line 1952: int tmp; tmp = GetThreadUICultureId(&id); // TODO: We should use the name instead src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/LibraryRootProvider.cs (4 lines): - line 31: // TODO: fail compilation if a switch was passed - line 36: // TODO: Log as a warning - line 68: // TODO: fail compilation if a switch was passed - line 74: // TODO: Log as a warning src/mono/mono/mini/exceptions-arm.c (4 lines): - line 279: * FIXME: Do this on more platforms. - line 395: // FIXME Macro to make one line per trampoline and less repetition of names. - line 432: // FIXME Macroize. - line 665: // FIXME: src/mono/mono/metadata/sgen-new-bridge.c (4 lines): - line 51: * FIXME: Optimizations: - line 198: /* FIXME the bridge check can be quite expensive, cache it at the class level. */ - line 328: * DFS1 maintains a stack, where each two entries are effectively one entry. (FIXME: - line 488: * FIXME: Right now we don't even unique the direct ancestors, but just add to the src/coreclr/vm/virtualcallstub.h (4 lines): - line 245: //@TODO: the logging should be tied into the VMs normal logging mechanisms, - line 246: //@TODO: for now we just always write a short log file called "StubLog_.log" - line 591: //@TODO: This is a bit of a workaround, but the limitations of LoaderHeap require that we - line 592: //@TODO: take this approach. Hopefully in Orcas we'll have a chance to rewrite LoaderHeap. src/mono/mono/mini/exceptions-amd64.c (4 lines): - line 711: * FIXME: ji == NULL can happen when a managed-to-native wrapper is interrupted - line 963: // FIXME Macro to make one line per trampoline. - line 1000: // FIXME Macro can make one line per trampoline here. - line 1790: // TODO: DW_CFA_offset can also be used to move saved regs into frame. src/mono/mono/sgen/sgen-debug.c (4 lines): - line 30: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 101: // FIXME: Handle pointers to the inside of objects - line 435: FIXME Flag missing remsets due to pinning as non fatal - line 460: FIXME: src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/ThunkPool.cs (4 lines): - line 128: // TODO: Feature - line 181: // TODO: optimize the implementation and make it lock-free - line 224: // TODO: optimize the implementation and make it lock-free - line 399: // TODO: [Feature] Keep track of mapped sections and free them if we need to. src/mono/mono/profiler/coverage.c (4 lines): - line 427: // FIXME: We don't handle partially covered yet. - line 595: // FIXME: Is substring search sufficient? - line 645: // FIXME: Locking - line 1010: //FIXME how should we handle passing a value to an arg that doesn't expect it? src/coreclr/vm/stringliteralmap.cpp (4 lines): - line 164: // TODO: We can be more efficient by checking our local hash table now to see if - line 179: // TODO: except that by not inserting into our local table we always take the global map lock - line 248: // TODO: We can be more efficient by checking our local hash table now to see if - line 263: // TODO: except that by not inserting into our local table we always take the global map lock src/coreclr/tools/aot/ILCompiler.MetadataTransform/ILCompiler/Metadata/Transform.Type.cs (4 lines): - line 109: // TODO: LowerBounds - line 111: // TODO: Sizes - line 450: // TODO: LowerBounds - line 452: // TODO: Sizes src/coreclr/md/enc/metamodelrw.cpp (4 lines): - line 155: // TODO: - line 219: // TODO: - line 293: // TODO: - line 4249: // TODO: Is it OK that index 0 contains empty blob (00) and not empty string (00 01)? src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteValues.String.cs (4 lines): - line 115: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 142: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 262: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 289: // TODO: https://github.com/dotnet/runtime/issues/29293 src/mono/mono/metadata/unsafe-accessor.c (4 lines): - line 30: /* FIXME: !mono_class_is_ginst (from_class) condition causes test failures. */ - line 100: /* FIXME: metadata-update iterating using - line 164: mono_class_setup_methods (klass); /* FIXME don't swallow the error here. */ - line 168: FIXME we should better report this error to the caller src/mono/mono/component/debugger-state-machine.c (4 lines): - line 99: // FIXME: print the array in a format that can be decoded / printed? - line 114: // FIXME: print the array in a format that can be decoded / printed? - line 234: // FIXME: log TCP handshake / connection state - line 295: // FIXME: Log breakpoint state src/mono/mono/utils/mono-threads.c (4 lines): - line 47: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 1244: FIXME fix cardtable WB to be out of line and check with the runtime if the target is not the - line 1410: /*FIXME: unify this with self-suspend*/ - line 1466: /*FIXME this is a bad assert, we probably should do proper locking and fail if one is already set*/ src/mono/mono/sgen/sgen-marksweep-drain-gray-stack.h (4 lines): - line 92: /* FIXME: test this case somehow. */ - line 110: * FIXME: See comment for copy_object_no_checks(). If - line 115: * FIXME (2): We should rework this to avoid all those nursery checks. - line 295: /* FIXME: We're half scanning this object. How do we account for that? */ src/mono/mono/mini/cfgdump.c (4 lines): - line 238: write_int (cfg, 0); // TODO: real bytecode index. - line 436: case PT_INPUTTYPE: // TODO: singleton. - line 457: case PT_METHOD: // TODO: implement proper equal. - line 461: case PT_INPUTTYPE: // TODO: singleton. src/coreclr/vm/fcall.h (4 lines): - line 81: // TODO: we should have a way of doing a trial allocation (an allocation that - line 583: /* TODO TURN THIS ON!!! */ \ - line 595: /* TODO TURN THIS ON!!! */ \ - line 608: /* TODO TURN THIS ON!!! */ \ src/mono/mono/mini/exceptions-arm64.c (4 lines): - line 53: // FIXME: Restore less registers - line 54: // FIXME: fp should be restored later - line 303: // FIXME Macroize. - line 581: // FIXME: src/mono/browser/debugger/BrowserDebugProxy/MonoSDBHelper.cs (4 lines): - line 169: /* FIXME: Merge into GetInfo when the major protocol version is increased */ - line 252: /* FIXME: Merge into GetSourceFiles when the major protocol version is increased */ - line 254: /* FIXME: Merge into GetValues when the major protocol version is increased */ - line 2392: // FIXME: DebuggerTypeProxyAttribute(string) - not supported src/mono/mono/mini/trace.c (4 lines): - line 31: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 161: /* FIXME: Might be better to pass the ji itself */ - line 335: /* FIXME: Might be better to pass the ji itself from the JIT */ - line 465: /* FIXME: Might be better to pass the ji itself from the JIT */ src/mono/mono/utils/mono-memory-model.h (4 lines): - line 70: TODO: Add support for weaker forms of CAS such as present on ARM. - line 71: TODO: replace all explicit uses of memory barriers with macros from this section. This will make a nicer read of lazy init code. - line 72: TODO: if we find places where a data depencency could replace barriers, add macros here to help with it - line 73: TODO: some arch with strong consistency, such as x86, support weaker access. We might need to expose more kinds of barriers once we exploit this. src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/ManualTypeMarshallingHelper.cs (3 lines): - line 54: // TODO: Hard failure based on previous implementation - line 216: // TODO: Report invalid shape for mode - line 220: // TODO: Should we fire a diagnostic for duplicated modes or just take the last one? src/coreclr/tools/aot/ILCompiler/Program.cs (3 lines): - line 124: // TODO: To support our pre-compiled test tree, allow input files that aren't managed assemblies since - line 677: // TODO: move ownership of compiler-generated entities to CompilerTypeSystemContext. - line 721: // TODO: allow specifying signature to distinguish overloads src/libraries/System.Reflection.Metadata/src/System/Reflection/PortableExecutable/ManagedTextSection.cs (3 lines): - line 196: // TODO: constants - line 211: // TODO: constants - line 259: // TODO: avoid recalculation src/mono/browser/runtime/strings.ts (3 lines): - line 124: // TODO https://github.com/dotnet/runtime/issues/100411 - line 258: // remains rooted. TODO: Is this actually necessary? - line 264: // TODO this could be stack allocated for small strings src/tasks/WasmAppBuilder/SignatureMapper.cs (3 lines): - line 40: // FIXME: These will need to be L for wasm64 - line 50: // FIXME: Most of these need to be L for wasm64 - line 56: // FIXME: Should we narrow this to only certain types of delegates? src/mono/mono/utils/mono-threads-wasm.c (3 lines): - line 50: // TODO after https://github.com/llvm/llvm-project/commit/1532be98f99384990544bd5289ba339bca61e15b - line 440: // FIXME: we should not be attaching UI thread with deputy design - line 560: // TODO ideally we should not need to have UI thread registered as managed src/mono/mono/mini/tramp-x86-gsharedvt.c (3 lines): - line 111: * FIXME: Optimize this. - line 213: // FIXME: Move the I4 case to the top */ - line 296: // FIXME: Use moves src/mono/browser/debugger/DebuggerTestSuite/DebuggerTestBase.cs (3 lines): - line 1084: // FIXME: Should be done when generating the list in dotnet.es6.lib.js, but not sure yet - line 1142: // FIXME: Should be done when generating the list in dotnet.es6.lib.js, but not sure yet - line 1339: //FIXME: um maybe we don't need to convert jobject right here! src/mono/mono/mini/gshared.cs (3 lines): - line 49: // FIXME: Add mixed ref/noref tests, i.e. Dictionary - line 1377: // FIXME: Wasm is single threaded and can't handle blocking waits - line 1660: // FIXME: This doesn't work src/coreclr/tools/Common/TypeSystem/Interop/IL/Marshaller.cs (3 lines): - line 946: // TODO: https://github.com/dotnet/corert/issues/4466 - line 958: // TODO: https://github.com/dotnet/corert/issues/4466 - line 1073: // @TODO - We can use LoadManagedValue, but that requires byref arg propagation happen in a special setup stream src/coreclr/inc/holder.h (3 lines): - line 634: // @TODO: Due to prefast template problems, implementations of the DoNothing macro have been changed - line 1122: //@TODO: Dangerous default value. Some Win32 functions return INVALID_HANDLE_VALUE, some return NULL (such as CreatEvent). - line 1372: //@TODO: Would be good to add runtime validation that the return value is used. src/coreclr/vm/stackwalk.cpp (3 lines): - line 119: // differs by architecture. @TODO: fix this. - line 141: //@TODO: What about other calling conventions? - line 145: // @TODO: PORT: we need to find the this pointer without triggering a GC src/mono/mono/mini/liveness.c (3 lines): - line 492: // FIXME: Do this somewhere else - line 740: /* FIXME: Merge intersecting ranges */ - line 790: /* FIXME: Optimize this */ src/mono/browser/runtime/managed-exports.ts (3 lines): - line 23: // TODO https://github.com/dotnet/runtime/issues/98366 - line 30: // TODO https://github.com/dotnet/runtime/issues/98366 - line 350: // TODO https://github.com/dotnet/runtime/issues/98366 src/native/public/mono/metadata/details/metadata-types.h (3 lines): - line 75: // TODO: MONO_NATIVE_IINSPECTABLE = 0x2e - line 76: // TODO: MONO_NATIVE_HSTRING = 0x2f - line 218: /* FIXME: Keeping this name alive for now, since it is part of the exposed API, even though no entrypoint uses it. */ src/mono/browser/runtime/diagnostics/server_pthread/index.ts (3 lines): - line 131: // TODO: add an "error" handler here - if we get readyState === 3, the connection failed. - line 175: /* FIXME: don't use const fake guid and fake process id. In dotnet-dsrouter the pid is used - line 234: // FIXME: send a binary response for non-mock sessions! src/mono/mono/sgen/sgen-protocol.c (3 lines): - line 207: /* FIXME: short back-off */ - line 365: /* FIXME: if we're interrupted at this point, we have a buffer - line 378: /* FIXME Consider using different index bases for different thread pools */ src/coreclr/vm/comdelegate.cpp (3 lines): - line 864: //TODO: depending on what we decide for generics method we may want to move this check to better places - line 2869: //@TODO:NEWVTWORK: Might need changing. - line 2907: //TODO: need to differentiate on 5 src/coreclr/vm/stublink.cpp (3 lines): - line 1325: // REVISIT_TODO better exception - line 1430: // REVISIT_TODO better exception - line 1463: // REVISIT_TODO better exception src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/PInvokeMarshal.cs (3 lines): - line 37: // @TODO: Setup IErrorInfo - line 180: // TODO: Free s_thunkPoolHeap if the thread lose the race - line 487: // @TODO - we really shouldn't allocate one-byte arrays and then destroy it src/coreclr/jit/lir.cpp (3 lines): - line 1643: // TODO: validate catch arg stores - line 1670: // TODO: dump the users and the def - line 1679: // TODO: dump the user and the def src/coreclr/pal/src/map/map.cpp (3 lines): - line 523: // TODO: technically, the file mapping object should hold - line 856: // TODO: Figure out if we can support mapping at a specific address on Linux. - line 1553: // TODO: can we add configure flags to model the behavior of ftruncate src/mono/sample/mbr/DeltaHelper/DeltaHelper.cs (3 lines): - line 25: /* TODO: non-default ALCs */ - line 50: /* FIXME WASM: Location is empty on wasm. Make up a name based on Name */ - line 60: byte[] dpdb_data = null; // TODO also use the dpdb data src/libraries/Microsoft.Extensions.Caching.Memory/src/MemoryCache.cs (3 lines): - line 251: // TODO: For efficiency queue this up for batch removal - line 331: // TODO: For efficiency consider processing these expirations in batches. - line 599: // TODO: Refine policy src/mono/mono.proj (3 lines): - line 78: - line 779: - line 956: src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335/Encoding/BlobEncoders.cs (3 lines): - line 8: // TODO: debug metadata blobs - line 9: // TODO: revisit ctors (public vs internal vs static factories)? - line 1302: if (lowerBounds.IsDefault) // TODO: remove -- update Roslyn src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Interop/JavaScriptExports.cs (3 lines): - line 16: // TODO: change all of these to [UnmanagedCallersOnly] and drop the reflection in mono_wasm_invoke_jsexport - line 287: // TODO ideally this would be public API callable from generated C# code for JSExport - line 317: // TODO ideally this would be public API callable from generated C# code for JSExport src/mono/mono/mini/interp/transform.h (3 lines): - line 84: // FIXME We should consider using a separate higher level IR, that is also easier - line 314: // FIXME: ptr_u32 - line 318: // FIXME: ptr_u32 src/mono/mono/mini/debug-mini.c (3 lines): - line 139: mono_error_assert_ok (error); /* FIXME don't swallow the error */ - line 719: /*FIXME This is part of the public API by accident, remove it from there when possible. */ - line 732: /*FIXME This is part of the public API by accident, remove it from there when possible. */ src/coreclr/vm/object.cpp (3 lines): - line 1127: // REVISIT_TODO: fix this, why is this constructor being used for non-null object refs? - line 1197: // REVISIT_TODO: Weakening the contract system a little bit here. We should really - line 1235: // REVISIT_TODO: Weakening the contract system a little bit here. We should really src/coreclr/inc/utilcode.h (3 lines): - line 610: // TODO: All HRESULT_FROM_WIN32(GetLastError()) should be replaced by calls to - line 1595: // @TODO: Fix this by adding an abstract function Hash() which must be implemented - line 3721: // operator &. TODO: probe with a static_assert? src/coreclr/tools/dotnet-pgo/TraceTypeSystemContext.cs (3 lines): - line 100: // TODO: catch typesystem BadImageFormatException and throw a new one that also captures the - line 152: // TODO: the exception is wrong for two reasons: for one, this should be assembly full name, not simple name. - line 403: _metadataStringDecoder = new CachingMetadataStringDecoder(0x10000); // TODO: Tune the size src/libraries/System.Data.Common/src/System/Data/Common/TimeSpanStorage.cs (3 lines): - line 84: return null!; // TODO: This is incorrect, should be DBNull.Value - line 102: return null!; // TODO: This is incorrect, should be DBNull.Value - line 136: return null!; // TODO: This is incorrect, should be DBNull.Value src/mono/mono/utils/mono-mmap-wasm.c (3 lines): - line 118: // FIXME: Make this work if the requested address range is free - line 175: // FIXME: This doubles the memory usage - line 205: // FIXME: We could be trying to unmap part of an aligned mapping, in which case the src/mono/mono/metadata/debug-mono-ppdb.c (3 lines): - line 315: // FIXME: UTF8 - line 330: // FIXME: UTF8 - line 760: // FIXME: This duplicates table_locator from metadata.c src/coreclr/debug/createdump/threadinfomac.cpp (3 lines): - line 85: // TODO: get "full" register state for the segment regs - line 108: // TODO: get "full" register state for the segment regs - line 135: // TODO: debug registers? src/coreclr/jit/fgprofile.cpp (3 lines): - line 3477: // Optimization TODO: if profileCount is zero, we can just ignore this edge - line 3625: // TODO: no point walking all the blocks here, we should find a way to just walk - line 4063: // (TODO: use synthesis here) src/coreclr/debug/di/module.cpp (3 lines): - line 872: // UNIXTODO: Some intricate details of file mapping don't work on Linux as on Windows. - line 3747: // * See TODO comment in code:Compiler::siUpdate (jit\scopeinfo.cpp). In optimized - line 4673: //@TODO by euzem: src/coreclr/jit/optimizebools.cpp (3 lines): - line 507: // TODO: If ranges don't intersect we might be able to fold the condition to true/false. - line 584: // TODO: handle "X < NN && X >= 0" (where the 2nd comparison is the lower bound) - line 722: // TODO: We should support overlapped ranges here, e.g. "X > 10 && x > 100" -> "X > 100" src/mono/mono/sgen/sgen-split-nursery.c (3 lines): - line 64: TODO: - line 78: /*FIXME Move this to a separate header. */ - line 279: /* FIXME: assumes object layout */ src/coreclr/tools/StressLogAnalyzer/StressLogDump.cpp (3 lines): - line 110: // TODO: This function assumes the pointer size of the target equals the pointer size of the host - line 111: // TODO: replace uses of void* with appropriate TADDR or CLRDATA_ADDRESS - line 429: // TODO: fix on 64 bit src/coreclr/md/inc/portablepdbmdds.h (3 lines): - line 49: // TODO: - line 62: // TODO: - line 74: // TODO: src/mono/mono/metadata/sgen-mono-ilgen.c (3 lines): - line 229: /* FIXME: assert instance_size stays a 4 byte integer */ - line 412: /* FIXME: mono_gc_alloc_obj takes a 'size_t' as an argument, not an int32 */ - line 438: /* FIXME: Memory barrier */ src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/BlobBuilder.cs (3 lines): - line 388: // TODO: consider copying data from right to left while there is space - line 449: // TODO: consider copying data from right to left while there is space - line 525: // TODO: consider converting the last chunk to a smaller one if there is too much empty space left src/mono/browser/runtime/diagnostics/server_pthread/socket-connection.ts (3 lines): - line 73: // TODO notify runtime that the connection had an error - line 97: // TODO: notify runtime that connection is closed - line 106: // TODO: notify runtime that connection had an error src/mono/mono/metadata/bundled-resources.c (3 lines): - line 113: // FIXME: Seed - line 114: // FIXME: We should cache the hash code so rehashes are cheaper - line 144: // FIXME: Choose a good initial capacity to avoid rehashes during startup. I picked one at random src/mono/browser/build/BrowserWasmApp.targets (3 lines): - line 124: - line 267: - line 391: src/coreclr/vm/gc_unwind_x86.inl (3 lines): - line 2942: // TODO If funclet frame layout is changed from CodeGen::genFuncletProlog() and genFuncletEpilog(), - line 2944: // TODO Currently we assume that ESP of funclet frames is always fixed but actually it could change. - line 3110: // TODO [DAVBR]: For the full fix for VsWhidbey 450273, all the below src/libraries/Common/src/System/Net/CookieParser.cs (3 lines): - line 534: // TODO https://github.com/dotnet/runtime/issues/19348: - line 555: // TODO https://github.com/dotnet/runtime/issues/19348: - line 572: // TODO https://github.com/dotnet/runtime/issues/19348: src/coreclr/debug/daccess/dacdbiimpl.cpp (3 lines): - line 3236: /* TODO: Ideally we should be checking if the class is allocated first, however - line 3450: // TODO: There is the special signatures cases missing. - line 4003: // GENERICS: TODO: this method will need to be modified if we ever support EnC on src/mono/browser/runtime/diagnostics/server_pthread/protocol-socket.ts (3 lines): - line 85: // FIXME: dispatch error event? - line 93: // TODO: we need to see the magic and the size to make a partial commmand - line 214: (ev).data = cmd; // FIXME: use a proper event subclass src/mono/mono/metadata/sgen-tarjan-bridge.c (3 lines): - line 64: /* FIXME the bridge check can be quite expensive, cache it at the class level. */ - line 135: // FIXME this can be eliminated; if we have a ScanData we generally looked it up from its GCObject - line 1185: //FIXME move half of the cleanup to before the bridge callback? src/coreclr/jit/fgopt.cpp (3 lines): - line 1041: // TODO: we should probably base this on the statements within. - line 3255: // TODO: Consider removing this, and using traversal order in lSRA - line 6156: // TODO: consider removing hasSingleStmt(), it should find more opportunities src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilationBuilder.cs (3 lines): - line 224: // TODO: only copy COR headers for single-assembly build and for composite build with embedded MSIL - line 228: // TODO: proper support for multiple input files - line 232: // TODO: proper support for multiple input files src/coreclr/jit/jiteh.cpp (3 lines): - line 2053: newHndStart->bbCodeOffsEnd = newHndStart->bbCodeOffs; // code size = 0. TODO: use BAD_IL_OFFSET instead? - line 2219: newTryStart->bbCodeOffs; // code size = 0. TODO: use BAD_IL_OFFSET instead? - line 2705: newLast->bbCodeOffsEnd = newLast->bbCodeOffs; // code size = 0. TODO: use BAD_IL_OFFSET instead? src/coreclr/pal/src/exception/signal.cpp (3 lines): - line 258: // TODO: Once our CI tools can get upgraded to xcode >= 15.4, replace the code above by this: - line 542: // TODO: First variable parameter says whether a read (0) or write (non-0) caused the - line 712: // TODO: First variable parameter says whether a read (0) or write (non-0) caused the eng/common/pipeline-logging-functions.ps1 (3 lines): - line 6: $script:loggingCommandEscapeMappings = @( # TODO: WHAT ABOUT "="? WHAT ABOUT "%"? - line 12: # TODO: BUG: Escape % ??? - line 13: # TODO: Add test to verify don't need to escape "=". src/mono/System.Private.CoreLib/src/System/Reflection/RuntimePropertyInfo.cs (3 lines): - line 314: /*TODO verify for attribute based default values, just like ParameterInfo*/ - line 400: /*FIXME we should check if the number of arguments matches the expected one, otherwise the error message will be pretty criptic.*/ - line 408: //FIXME find a way to build an invoke delegate for value types. src/mono/mono/mini/exceptions-x86.c (3 lines): - line 771: // FIXME Macroize. - line 964: /* FIXME no unwind before we push ip */ - line 1157: // FIXME: test_only is no more. src/libraries/Common/src/System/Net/Http/aspnetcore/Http3/QPack/H3StaticTable.Http3.cs (3 lines): - line 13: // TODO connect is internal to system.net.http - line 48: // TODO: just use Dictionary directly to avoid interface dispatch. - line 112: CreateHeaderField("strict-transport-security", "max-age=31536000; includesubdomains"), // 57; TODO confirm spaces here don't matter? src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/NativeHashtable.cs (3 lines): - line 14: // TODO (refactoring) - all these Native* class should be private - line 87: // TODO (refactoring) - all these Native* class should be private - line 248: // TODO (refactoring) - all these Native* class should be private src/mono/mono/profiler/log.c (3 lines): - line 3096: // TODO: Actual native unwinding. - line 3613: // FIXME: We should free this stuff too. - line 3619: // FIXME: We should free this stuff too. src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonElement.cs (3 lines): - line 1206: // TODO make public https://github.com/dotnet/runtime/issues/77666 - line 1217: // TODO make public https://github.com/dotnet/runtime/issues/77666 - line 1226: // TODO make public https://github.com/dotnet/runtime/issues/33388 src/coreclr/pal/inc/unixasmmacrosriscv64.inc (3 lines): - line 170: // TODO RISCV NYI - line 207: // TODO RISCV NYI - line 333: // TODO RISCV NYI src/mono/mono/mini/local-propagation.c (3 lines): - line 318: /* FIXME: Add long/float */ - line 562: /* FIXME: Optimize this */ - line 690: /* FIXME: Use OP_PADD_IMM when the new JIT is done */ src/coreclr/vm/arm/stubs.cpp (3 lines): - line 999: // ARMSTUB TODO: promotion - line 1577: // @TODO: Remove this after the debugger is fixed to avoid stack-walks from bad places - line 1578: // @TODO: This may be still needed for sampling profilers src/mono/mono/mini/tramp-x86.c (3 lines): - line 277: // FIXME: - line 542: // FIXME: Currently, we always go to the slow path. - line 564: /* FIXME: This is not thread safe */ src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/DynamicInvokeInfo.cs (3 lines): - line 205: // See TODO comment in DynamicInvokeMethodThunk.NormalizeSignature - line 273: // See TODO comment in DynamicInvokeMethodThunk.NormalizeSignature - line 339: // See TODO comment in DynamicInvokeMethodThunk.NormalizeSignature src/coreclr/tools/superpmi/superpmi-shared/methodcontext.cpp (3 lines): - line 1157: // TODO: we need a widely-available utility function that can print a CORJIT_FLAGS::CorJitFlag. - line 1488: " cch{hn-%u na-%u (TODO: dump callsiteCalloutHelper.args)}" - line 2742: // TODO: verify that the above comment is still true (that some of the fields of incoming argument `sig` contain garbage), or src/mono/browser/debugger/DebuggerTestSuite/MiscTests.cs (3 lines): - line 343: // FIXME: check ss_local.gs.List's members - line 509: // FIXME: check ss_local.gs.List's members - line 965: //TODO add tests covering basic stepping behavior as step in/out/over src/coreclr/vm/threads.h (3 lines): - line 88: // method and we can simply stop the thread (however we have to do this carefully TODO explain). - line 609: // @TODO: We need to reclaim the bits that have no concurrency issues (i.e. they are only - line 630: // @TODO: its possible that the ThreadTasks from above and these flags should be merged. src/mono/mono/metadata/monitor.c (3 lines): - line 646: // FIXME slow? - line 932: * FIXME Handle abort protected blocks - line 1040: // FIXME slow? src/coreclr/jit/fgehopt.cpp (3 lines): - line 1205: // TODO: if original weight is zero, we probably should forgo cloning...? - line 1207: // TODO: it will frequently be the case that the original scale is 0.0 as - line 2034: // TODO: Update the count of noreturn call sites -- this feeds a heuristic in morph src/coreclr/debug/daccess/daccess.cpp (3 lines): - line 2032: /* REVISIT_TODO Fri 10/20/2006 - line 5498: // TODO: [cdac] TryGetSymbol is only implemented for Linux, OSX, and Windows. - line 7160: // UNIXTODO: mikem 1/13/15 Need appropriate PAL functions for getting ids src/tools/illink/src/linker/Linker.Steps/MarkStep.cs (3 lines): - line 663: // TODO: Move interface method marking logic here https://github.com/dotnet/linker/issues/3090 - line 692: // TODO: Take into account a base method in preserved scope - line 2090: // TODO: MarkMethodIfNeededByBaseMethod should include logic for IsMethodNeededByTypeDueToPreservedScope: https://github.com/dotnet/linker/issues/3090 src/coreclr/tools/Common/Compiler/CompilerTypeSystemContext.cs (3 lines): - line 103: // TODO: catch typesystem BadImageFormatException and throw a new one that also captures the - line 117: // TODO: the exception is wrong for two reasons: for one, this should be assembly full name, not simple name. - line 314: _metadataStringDecoder ??= new CachingMetadataStringDecoder(0x10000); // TODO: Tune the size src/coreclr/vm/typehandle.cpp (3 lines): - line 1367: //TODO: cache (positive?) result in methodtable using, say, enum_flag2_UNUSEDxxx - line 1369: //TODO: reconsider this check - line 1401: tyvar->LoadConstraints(); //TODO: is this necessary for anything but the typical class? src/coreclr/nativeaot/System.Private.CoreLib/src/System/Diagnostics/Debugger.cs (3 lines): - line 19: // UNIXTODO: Implement Debugger.Break - line 62: throw new NotImplementedException(); // TODO: Implement Debugger.Log, IsLogging - line 73: throw new NotImplementedException(); // TODO: Implement Debugger.Log, IsLogging src/mono/mono/utils/mono-threads-coop.c (3 lines): - line 42: //TODO: figure out wasm stack scanning - line 50: // FIXME: This would be more efficient if instead of instantiating the stack it just pushed a simple depth counter up and down, - line 605: // FIXME: but maybe nag if MONO_THREADS_SUSPEND isn't set to "newval"? src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/MethodGCInfoNode.cs (3 lines): - line 73: // TODO: Take a look at deduplicatedResult - line 89: // TODO: Update/Verify this amount - line 189: // TODO: Is this correct? src/mono/mono/mini/interp/whitebox.c (3 lines): - line 159: /* TODO: init more fields of `rtm` */ - line 169: /* TODO: init more fields of `td` */ - line 223: /* TODO: shut runtime down, release resources, etc. */ src/libraries/System.Data.OleDb/src/System/Data/ProviderBase/DbMetaDataFactory.cs (3 lines): - line 184: // TODO: Consider using the DataAdapter.Fill - line 426: // TODO: will add a more descriptive error in RTM - line 454: // TODO: Consider an alternate method that doesn't involve special casing -- perhaps _prepareCollection src/libraries/System.Speech/src/Recognition/SrgsGrammar/SrgsDocument.cs (3 lines): - line 15: /// APITODO: needs programmatic access to SRGS DOM; PACOG - line 16: /// APITODO: needs rule activation/deactivation methods - line 181: // APITODO: Implementations of Rules and all other SRGS objects not here for now src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8.cs (3 lines): - line 439: // TODO https://github.com/dotnet/runtime/issues/81500: - line 492: // TODO https://github.com/dotnet/runtime/issues/81500: - line 714: // TODO https://github.com/dotnet/runtime/issues/81500: src/coreclr/tools/Common/TypeSystem/Interop/IL/MarshalHelpers.Aot.cs (3 lines): - line 22: // TODO: There are primitive types which require marshalling, such as bool, char. - line 117: //TODO: https://github.com/dotnet/corert/issues/2675 - line 119: // TODO: Log as warning src/mono/browser/runtime/marshal.ts (3 lines): - line 491: // TODO consider memory write barrier - line 499: // TODO consider memory read barrier - line 506: // TODO consider memory read barrier src/mono/mono/mini/jit-icalls.c (3 lines): - line 45: // FIXME: No error handling - line 123: // FIXME: - line 1739: // FIXME: memory management src/coreclr/gc/env/volatile.h (3 lines): - line 48: // @TODO: many of the variables marked volatile in the CLR do not actually need to be - line 54: // @TODO: link to a "Memory Models for CLR Devs" doc here (this doc does not yet exist). - line 290: // @TODO: it's not clear that we actually *want* any operator overloading here. It's in here primarily src/coreclr/nativeaot/Runtime/stressLog.cpp (3 lines): - line 423: // TODO: Report corrupt chunk PTR_HOST_TO_TADDR(curChunk) - line 529: // @TODO: Truncating threadId to 32-bit - line 539: // @TODO: Truncating threadId to 32-bit src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/HPackEncoder.cs (3 lines): - line 373: destination[0] = 0; // TODO: Use Huffman encoding - line 423: destination[0] = 0; // TODO: Use Huffman encoding - line 462: destination[0] = 0; // TODO: Use Huffman encoding src/coreclr/jit/switchrecognition.cpp (3 lines): - line 18: // TODO: recognize general jump table patterns. - line 91: // TODO: relax this to support any side-effect free expression - line 157: // TODO: make it more flexible and support cases like "x != cns1 && x != cns2 && ..." src/mono/mono/sgen/sgen-cardtable.c (3 lines): - line 213: /*FIXME this assumes that major blocks are multiple of 4K which is pretty reasonable */ - line 249: * FIXME: There's a theoretical bug here, namely that the card table is allocated so - line 450: /*FIXME we should have a bit on each block/los object telling if the object have marked cards.*/ src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeFormatInfo.cs (3 lines): - line 2031: // TODO: This ignores other custom cultures that might want to do something similar - line 2088: // TODO: This ignores similar custom cultures - line 2175: // TODO: This prohibits similar custom cultures, but we hard coded the name src/coreclr/inc/volatile.h (3 lines): - line 48: // @TODO: many of the variables marked volatile in the CLR do not actually need to be - line 54: // @TODO: link to a "Memory Models for CLR Devs" doc here (this doc does not yet exist). - line 325: // @TODO: it's not clear that we actually *want* any operator overloading here. It's in here primarily src/coreclr/gc/gcrecord.h (2 lines): - line 350: // TODO: for the config stuff I need to think more about how to represent this - line 353: // TODO: no need to the MSB for this src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/Tables.cs (2 lines): - line 1194: // TODO: We can scan the table to see if it is sorted and use binary search if so. - line 1323: // TODO: We can scan the table to see if it is sorted and use binary search if so. src/libraries/System.Private.CoreLib/src/System/Environment.GetFolderPathCore.Unix.cs (2 lines): - line 83: // TODO: Consider caching (or precomputing and caching) all subsequent results. - line 95: // TODO: Consider merging the OSX path with the rest of the Apple systems here: src/coreclr/jit/fgstmt.cpp (2 lines): - line 471: /* TODO: For debuggable code, should we remove significant - line 572: // TODO: Use a recursive version of gtNodeHasSideEffects() src/mono/mono/metadata/mono-debug.c (2 lines): - line 100: // FIXME: Free otherwise - line 892: g_assert (ret); // FIXME: when can this be null? src/mono/browser/debugger/DebuggerTestSuite/EvaluateOnCallFrame2Tests.cs (2 lines): - line 14: // TODO: static async, static method args - line 27: // TODO: { "DebuggerTests.EvaluateTestsGeneric`1", "Instance", 9, "EvaluateTestsGenericStructInstanceMethod", prefix } src/coreclr/utilcode/clrconfig.cpp (2 lines): - line 519: // TODO: We swallow OOM exception here. Is this OK? - line 546: POSTCONDITION(CheckPointer(outVal, NULL_OK)); // TODO: Should this check be *outVal instead of outVal? src/mono/mono/mini/llvm-jit.cpp (2 lines): - line 125: // FIXME: Use a mempool - line 347: // FIXME: find optimal mono specific order of passes src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/NativeRuntimeEventSource.Threading.cs (2 lines): - line 389: // TODO: This event is fired for minor compat with CoreCLR in this case. Consider removing this method and use - line 440: // TODO: This event is fired for minor compat with CoreCLR in this case. Consider removing this method and use src/coreclr/debug/di/valuehome.cpp (2 lines): - line 454: // TODO: : implement CordbValue::SetEnregisteredValue for RAK_FLOAT - line 859: _ASSERTE(!"@TODO IA64/AMD64 -- Not Yet Implemented"); src/coreclr/tools/Common/TypeSystem/Ecma/EcmaModule.cs (2 lines): - line 289: // TODO: it's not particularly efficient to materialize strings just to hash them and hold - line 359: // TODO: src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeMethodBuilder.Mono.cs (2 lines): - line 186: get { return null!; } // FIXME: coreclr returns an empty instance - line 480: // FIXME: src/mono/browser/browser.proj (2 lines): - line 6: - line 104: src/coreclr/tools/Common/TypeSystem/IL/EcmaMethodIL.Symbols.cs (2 lines): - line 67: // TODO: this name might conflict with a parameter name or a local name. We need something unique. - line 71: // TODO: The Params table is allowed to have holes in it. This expect all parameters to be present. src/mono/mono/mini/mini-amd64.h (2 lines): - line 470: // FIXME: Doesn't work on windows - line 588: /* FIXME Something simpler should work: src/tools/illink/src/ILLink.RoslynAnalyzer/RequiresUnreferencedCodeUtils.cs (2 lines): - line 17: // TODO: Consider sharing with ILLink DoesMethodRequireUnreferencedCode method - line 24: // TODO: Consider sharing with ILLink IsMethodInRequiresUnreferencedCodeScope method src/native/containers/dn-simdhash-string-ptr.c (2 lines): - line 57: // FIXME: Select a good seed. - line 82: // FIXME: Find a way to make this easier to define src/tasks/AppleAppBuilder/Xcode.cs (2 lines): - line 272: // TODO: All of these exclusions shouldn't be needed once we carefully construct the publish folder on Helix - line 355: // TODO: unify MonoAOT and NativeAOT library paths src/coreclr/tools/GCLogParser/parse-hb-log.cs (2 lines): - line 502: // Pass one. TODO: should separate this from pass zero. - line 1046: // TODO: in pass zero there's merit in assigning thread indices based on the first CPU they appear on, src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteValues.Bytes.cs (2 lines): - line 49: // TODO: https://github.com/dotnet/runtime/issues/29293 - line 87: // TODO: https://github.com/dotnet/runtime/issues/29293 src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/StringHeap.cs (2 lines): - line 253: // TODO: This can allocate unnecessarily for prefixed handles. - line 272: // TODO: This can allocate unnecessarily for prefixed handles. src/coreclr/nativeaot/Runtime/arm64/ExceptionHandling.asm (2 lines): - line 174: #if 0 // def _DEBUG ;; @TODO: temporarily removed because trashing the frame pointer breaks the debugger - line 455: ;; @TODO: add debug-only validation code for ExInfo pop src/libraries/System.Net.Quic/src/System/Net/Quic/QuicConnection.SslConnectionOptions.cs (2 lines): - line 89: // TODO: what about chainPtr? - line 196: // TODO: configure chain.ChainPolicy.CustomTrustStore to mirror behavior of SslStream.VerifyRemoteCertificate (https://github.com/dotnet/runtime/issues/73053) src/coreclr/vm/vars.hpp (2 lines): - line 378: // @TODO - PROMOTE. - line 379: // @TODO - I'd like to make these private members of CLRException some day. src/coreclr/nativeaot/Runtime/eventtrace_gcheap.cpp (2 lines): - line 213: BOOL /*fAllowProfApiNotification*/) // @TODO: unused param from newer implementation - line 340: BOOL /*fAllowProfApiNotification*/) // @TODO: unused param from newer implementation src/coreclr/nativeaot/System.Private.CoreLib/src/System/RuntimeExceptionHelpers.cs (2 lines): - line 27: // @TODO: this function is related to throwing exceptions out of Rtm. If we did not have to throw - line 50: // @TODO: this function should return pre-allocated exception objects, either frozen in the image src/mono/System.Private.CoreLib/src/System/Reflection/Assembly.Mono.cs (2 lines): - line 63: // TODO: trigger assemblyFromResolveEvent - line 80: // TODO: pass AssemblyName src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/NonGCStaticsNode.cs (2 lines): - line 104: // TODO: Assert that StaticClassConstructionContext type has the expected size - line 117: // TODO: Assert that StaticClassConstructionContext type has the expected alignment src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Interpreter/LightCompiler.cs (2 lines): - line 537: // TODO: basic flow analysis so we don't have to initialize all - line 2143: // TODO: Support pass by reference. src/mono/browser/runtime/polyfills.ts (2 lines): - line 69: throw new Error(`FIXME: addEventListener polyfill doesn't implement option '${k}'`); - line 85: throw new Error("FIXME: removeEventListener polyfill doesn't implement options"); src/mono/mono/utils/hazard-pointer.c (2 lines): - line 29: #pragma warning(disable:4312) // FIXME pointer cast to different size - line 70: * FIXME: The biggest part of this function is very similar to src/coreclr/jit/fginline.cpp (2 lines): - line 1561: block->bbCodeOffsEnd = block->bbCodeOffs + 1; // TODO: is code size of 1 some magic number for inlining? - line 1565: block->bbCodeOffs = 0; // TODO: why not BAD_IL_OFFSET? src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/MetadataReader.cs (2 lines): - line 573: // TODO (https://github.com/dotnet/runtime/issues/14721): - line 1083: // TODO: We can skip a copy for virtual blobs. eng/testing/tests.wasi.targets (2 lines): - line 33: - line 41: src/coreclr/vm/i386/cgenx86.cpp (2 lines): - line 533: // @TODO: Remove this after the debugger is fixed to avoid stack-walks from bad places - line 534: // @TODO: This may be still needed for sampling profilers src/coreclr/vm/interoputil.cpp (2 lines): - line 1481: // @TODO: Consider special-casing this when we know it's one of ours so - line 1510: // @TODO: Consider special-casing this when we know it's one of ours so src/mono/mono/sgen/sgen-minor-copy-object.h (2 lines): - line 188: /* FIXME: all of these could just use `sgen_obj_get_descriptor_safe()` */ - line 194: * FIXME: src/coreclr/md/compiler/regmeta.cpp (2 lines): - line 282: // TODO: move the constant to a better location - line 1177: // REVISIT_TODO: ReSizeNoThrow can fail. Check its return value and add an error path. src/libraries/System.Net.Security/src/System/Net/Security/NegotiateStream.cs (2 lines): - line 419: // TODO: Better exception - line 540: // TODO: Trace the error src/libraries/System.Data.Common/src/System/Data/DataViewManager.cs (2 lines): - line 337: /*default*/ null! // TODO: This is very likely wrong - line 348: /*default*/ null! // TODO: This is very likely wrong src/coreclr/pal/src/include/pal/thread.hpp (2 lines): - line 683: $$TODO: These are needed only to support cross-process thread duplication - line 735: TODO: how does the perf of pthread_self compare to src/coreclr/tools/r2rtest/CompilerRunner.cs (2 lines): - line 35: // TODO (DavidWr): IBC-related failures - line 226: // TODO: support for tier jitting - for now we just turn it off as it may distort the JIT statistics src/coreclr/debug/debug-pal/unix/twowaypipe.cpp (2 lines): - line 107: // UNIXTODO - mjm 9/6/15 - does not set last error on failure - line 134: // UNIXTODO - mjm 9/6/15 - does not set last error on failure src/coreclr/vm/riscv64/cgencpu.h (2 lines): - line 151: //TODO: not supports RISCV64-SIMD. - line 423: // TODO RISCV64 src/coreclr/vm/amd64/cgencpu.h (2 lines): - line 414: // TODO: implement when we enable Intel CET on Unix - line 438: // TODO: implement when we enable Intel CET on Unix src/mono/mono/eglib/gfile-win32.c (2 lines): - line 61: /* FIXME: _O_TEMPORARY causes file to disappear on close causing a test to fail */ - line 65: /* FIXME: this will crash if utf16_template == NULL */ src/coreclr/vm/siginfo.cpp (2 lines): - line 3553: // TODO: We could return TRUE if we knew that type equivalence was not exercised during the previous call. - line 4515: // @TODO: If scopes are the same, use identity rule - for now, don't, so that we test the code paths src/coreclr/gc/handletablepriv.h (2 lines): - line 450: * @TODO: move/merge into common util file - line 459: * @TODO: move/merge into common util file src/coreclr/jit/targetriscv64.cpp (2 lines): - line 39: assert(!m_info.IsVarArgs); // TODO: varargs currently not supported on RISC-V - line 124: unsigned offset = max(firstSize, secondSize); // TODO: cover empty fields and custom offsets / alignments src/mono/mono/mini/tiered.c (2 lines): - line 28: /* TODO: use scientific methods (TM) to determine values */ - line 134: /* FIXME: inline that into caller */ src/mono/System.Private.CoreLib/src/System/Reflection/RuntimeAssembly.cs (2 lines): - line 136: // TODO: consider a dedicated icall instead - line 516: // TODO: Make this cheaper and faster src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeGenericTypeParameterBuilder.cs (2 lines): - line 454: // FIXME: - line 460: // FIXME: src/coreclr/vm/reflectioninvocation.cpp (2 lines): - line 685: // TODO: this double allocates on constructions which is wasteful - line 712: // TODO this creates two objects which is inefficient src/native/eventpipe/ds-ipc.c (2 lines): - line 212: // TODO: Should this be debug only? - line 251: // TODO: Race between server thread and shutdown, _ds_port_array and ports can not be freed without resolving src/coreclr/nativeaot/Runtime/PalRedhawk.h (2 lines): - line 455: // TODO: Figure out if WebAssembly has a meaningful context available - line 640: // UNIXTODO: Implement PalNtCurrentTeb src/mono/mono/metadata/icall-table.h (2 lines): - line 283: #define MONO_HANDLE_REGISTER_ICALL_LOCALS_ICALL_HANDLES_WRAP_VALUETYPE_REF(type, n) FIXME restore mono_icall_handle_new_interior from e8b037642104527bd9b9ba70d502210b9c12d2b8 \ - line 358: #define MONO_HANDLE_ARG_RAWPOINTER_ICALL_HANDLES_WRAP_VALUETYPE_REF(type, n) FIXME //MONO_HANDLE_TYPE_RAWPOINTER (type) a ## n src/coreclr/debug/shared/dbgtransportsession.cpp (2 lines): - line 1295: //TODO: we probably need to analyse GetErrorCode() here - line 1323: //TODO: we probably need to analyse GetErrorCode() here src/coreclr/inc/regdisp.h (2 lines): - line 72: // TODO: Unify with pCurrentContext / pCallerContext used on 64-bit - line 648: _ASSERTE(!"@TODO Port - getRegAddr (Regdisp.h)"); src/libraries/System.Collections/src/System/Collections/Generic/PriorityQueue.cs (2 lines): - line 870: // TODO https://github.com/dotnet/runtime/issues/10050: Update if this changes in the future. - line 915: // TODO https://github.com/dotnet/runtime/issues/10050: Update if this changes in the future. src/libraries/System.Private.CoreLib/src/System/Text/Latin1Utility.cs (2 lines): - line 621: // TODO: Is the below logic also valid for big-endian platforms? - line 1090: // TODO: Is the below logic also valid for big-endian platforms? src/libraries/System.Data.Odbc/src/Common/System/Data/ProviderBase/DbConnectionFactory.cs (2 lines): - line 79: // TODO: newTask needs to be over non-nullable DbConnection (see below), there may be a bug here - line 134: // TODO: move this to src/Common and integrate with SqlClient src/mono/mono/sgen/sgen-memory-governor.c (2 lines): - line 118: /* FIXME: Why is this here? */ - line 462: // FIXME: remove assert_description src/mono/browser/runtime/driver.c (2 lines): - line 25: // FIXME: unavailable in emscripten - line 113: //FIXME handle debugging assemblies with .exe extension src/libraries/System.Net.Http/src/System/Net/Http/Headers/AltSvcHeaderValue.cs (2 lines): - line 41: /// TODO: if made public, should this be defaulted or nullable? - line 48: /// TODO: if made public, this should be made internal as Persist is left open-ended and can be non-boolean in the future. src/coreclr/pal/src/thread/process.cpp (2 lines): - line 1338: // TODO: Convert uExitCodes into sysexits(3)? - line 1961: // TODO: check to see if the process actually exists? src/coreclr/jit/fgbasic.cpp (2 lines): - line 1465: // TODO: for FEATURE_SIMD check if it's a loop condition - we unroll such loops. - line 6260: // jumpBlk - When nearBlk is set, this can be set to the block which jumps to bNext->bbNext (TODO: need to review src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectionPool/HttpConnectionPool.cs (2 lines): - line 138: _http3Enabled = false; // TODO: how do we tunnel HTTP3? - line 162: _http3Enabled = false; // TODO: SOCKS supports UDP and may be used for HTTP3 src/mono/mono/utils/mono-threads-state-machine.c (2 lines): - line 178: // FIXME migrate all uses - line 441: FIXME: ResumeInitBlockingResume is just InitSelfResume by a different name. src/coreclr/nativeaot/Runtime/amd64/ExceptionHandling.asm (2 lines): - line 398: if 0 ;; _DEBUG ;; @TODO: temporarily removed because trashing RBP breaks the debugger - line 615: if 0 ;; _DEBUG ;; @TODO: temporarily removed because trashing RBP breaks the debugger src/coreclr/utilcode/util.cpp (2 lines): - line 366: // UNIXTODO: Add a specialized function to PAL so that we don't have to waste memory - line 2401: // UNIXTODO: implement a proper version for PAL src/mono/mono/utils/atomic.h (2 lines): - line 67: # error FIXME: Implement atomics for MinGW and/or clang - line 83: /* FIXME: probably need arch checks */ src/coreclr/jit/fgprofilesynthesis.cpp (2 lines): - line 920: // TODO: we might also want to exclude edges that are exiting from child loops here, - line 1016: // TODO: something similar to how we compute fgCalledCount; src/coreclr/pal/src/init/pal.cpp (2 lines): - line 1012: /* TODO: This function may be used to provide a reader/writer-like - line 1024: /* TODO: See comment in PALIsShuttingDown */ src/coreclr/vm/ceeload.cpp (2 lines): - line 1614: // @TODO: this is reachable when debugging! - line 3505: // TODO: Verify that eager fixup dependency graphs can contain no cycles src/coreclr/tools/aot/ILCompiler.MetadataTransform/Internal/Metadata/NativeFormat/Writer/NativeMetadataWriter.cs (2 lines): - line 382: // TODO we assume that a quoted string is escaped properly - line 538: return "[@TODO:" + this.GetType().ToString() + "]"; src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/DebugInfoTypes.cs (2 lines): - line 20: // TODO: Eliminate this - line 30: // TODO: Special src/coreclr/nativeaot/Runtime/eventpipe/ep-rt-aot.cpp (2 lines): - line 131: // shipping criteria: no EVENTPIPE-NATIVEAOT-TODO left in the codebase - line 132: // TODO: revisit commandline for AOT src/mono/mono/mini/generics.cs (2 lines): - line 415: // FIXME: - line 1135: // FIXME: Doesn't work with --regression as Interlocked.Add(ref long) is only implemented as an intrinsic src/coreclr/vm/class.h (2 lines): - line 580: TypeHandle m_pCoClassForIntf; // @TODO: Coclass for an interface - line 1699: // TODO: Remove this field. It is only used by SOS and object validation for stress. src/mono/mono/eglib/goutput.c (2 lines): - line 313: /* TODO: provide a proper app name */ - line 320: /* TODO: provide a proper app name */ src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/TrimAnalysisVisitor.cs (2 lines): - line 127: // TODO - is it possible to have annotation on the operator method parameters? - line 237: // TODO: consider not tracking patterns unless the target is something src/coreclr/tools/Common/TypeSystem/Common/MethodDesc.cs (2 lines): - line 558: // TODO: Precise check - line 559: // TODO: Cache? src/mono/System.Private.CoreLib/src/ILLink/ILLink.Descriptors.xml (2 lines): - line 584: - line 642: src/mono/mono/metadata/method-builder-ilgen.c (2 lines): - line 244: // FIXME: Mem managers - line 741: // TODO: EnC metadata-update. But note: src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHashShared.cs (2 lines): - line 669: // TODO: Figure out how to unwind this shuffle and just use Vector256.Multiply - line 687: // TODO: Figure out how to unwind this shuffle and just use Vector128.Multiply src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeFieldBuilder.Mono.cs (2 lines): - line 151: /* FIXME: */ - line 204: /* FIXME: check for errors */ src/mono/System.Private.CoreLib/src/System/Reflection/RuntimeParameterInfo.cs (2 lines): - line 84: /*FIXME this constructor looks very broken in the position parameter*/ - line 372: Array.Empty());//FIXME Get named params src/mono/browser/debugger/DebuggerTestSuite/ArrayTests.cs (2 lines): - line 224: // FIXME: - line 432: // TODO: Check previous frame too src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/NativeRuntimeEventSource.Threading.NativeSinks.cs (2 lines): - line 252: // TODO: This event is fired for minor compat with CoreCLR in this case. Consider removing this method and use - line 292: // TODO: This event is fired for minor compat with CoreCLR in this case. Consider removing this method and use src/coreclr/tools/aot/ILCompiler.MetadataTransform/ILCompiler/Metadata/Transform.Method.cs (2 lines): - line 124: //TODO: RVA - line 158: // TODO: if Cts.MethodSignature implements Equals/GetHashCode, we could enable pooling here. src/coreclr/nativeaot/Test.CoreLib/src/System/RuntimeExceptionHelpers.cs (2 lines): - line 21: // @TODO: this function is related to throwing exceptions out of Rtm. If we did not have to throw - line 38: // @TODO: this function should return pre-allocated exception objects, either frozen in the image src/mono/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.Mono.cs (2 lines): - line 289: // TODO: Remove, needed only for MonoCustomAttribute - line 623: /*FIXME add GetGenericArgumentsLength() internal vcall to speed this up*/ src/libraries/System.Private.CoreLib/src/System/Buffers/Text/FormattingHelpers.CountDigits.cs (2 lines): - line 27: // TODO: Replace with log2ToPow10[BitOperations.Log2(value)] once https://github.com/dotnet/runtime/issues/79257 is fixed - line 105: // TODO: Replace with table[uint.Log2(value)] once https://github.com/dotnet/runtime/issues/79257 is fixed src/mono/mono/mini/image-writer.c (2 lines): - line 449: // FIXME: This doesn't seem to work on the iphone - line 706: // FIXME: Free all the stuff src/coreclr/jit/utils.h (2 lines): - line 712: // TODO: Should this be more related to JitConfigValues::MethodSet? - line 716: // TODO: use a hash table? or two: one on hash value, one on function name src/coreclr/utilcode/stgpool.cpp (2 lines): - line 1610: // TODO: It would be nice to remove it, but people read behind the end of buffer, - line 1651: // TODO: Should be a static empty blob once we get rid of m_zeros src/mono/mono/utils/mono-context.h (2 lines): - line 518: /* FIXME not fully saved in trampolines */ - line 726: /* FIXME: should be called SET_SP */ src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/ImportSectionNode.cs (2 lines): - line 23: // TODO: annoying - today there's no way to put signature RVA's into R/O data section - line 25: // TODO: annoying - cannot enumerate the ArrayOfEmbeddedPointersNode so we must keep a copy. src/coreclr/vm/disassembler.cpp (2 lines): - line 11: // TODO: Which contracts should be used where? Currently, everything is using LIMITED_METHOD_CONTRACT. - line 156: // TODO: Is it ok to save and reuse an instance of the LLVM-based disassembler? It may later be used from a different src/coreclr/jit/unwindarmarch.cpp (2 lines): - line 587: // TODO: Support cold EH funclets. - line 662: // TODO: Support cold EH funclets. src/libraries/System.Data.OleDb/src/OleDbConnectionStringBuilder.cs (2 lines): - line 137: // TODO: hand off to editor VS, if SQL - do database names, if Jet do file picker - line 152: // TODO: hand off to VS, they derive from FileNameEditor and set the OpenDialogFilter to *.UDL src/mono/browser/debugger/BrowserDebugProxy/DebugStore.cs (2 lines): - line 1170: sdbAgent.ResetTypes(); // FIXME: only remove the cache for the affected type if fields or methods are added - line 1824: //XXX FIXME no idea what todo with locations on different files src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.cs (2 lines): - line 177: // TODO: Convert this to filter for better diagnostics once we switch to Roslyn - line 535: // TODO multi-file: consider whether we want to cache this info src/mono/mono/mini/gc-test.cs (2 lines): - line 509: // FIXME: This doesn't crash if MONO_TYPE_I is not treated as a GC ref - line 544: // FIXME: This doesn't crash if mp-s are not correctly tracked, just writes to src/mono/mono/mini/mini-arm.h (2 lines): - line 65: * TODO: Make use of VFP v3 registers d16-d31. - line 69: * TODO: We can't use registers d8-d15 in hard float mode because the src/mono/browser/runtime/marshal-to-cs.ts (2 lines): - line 247: // TODO: we could try to cache value -> existing JSHandle - line 294: set_arg_type(arg, MarshalerType.Function);//TODO or action ? src/mono/mono/metadata/icall-signatures.h (2 lines): - line 13: // FIXME Some of these are only needed under ifdef. - line 14: // FIXME Some of these are redundant like obj vs. object, int vs. int32. src/mono/mono/mini/interp/transform-simd.c (2 lines): - line 12: // FIXME Consider sharing the code - line 947: // FIXME: Should we remove this now that the interpreter supports all of the methods? src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs (2 lines): - line 6811: public static IAsyncEnumerable WhenEach(ReadOnlySpan tasks) => // TODO https://github.com/dotnet/runtime/issues/77873: Add params - line 6826: public static IAsyncEnumerable> WhenEach(ReadOnlySpan> tasks) => // TODO https://github.com/dotnet/runtime/issues/77873: Add params src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TemplateLocator.cs (2 lines): - line 54: // TODO: once multifile gets fixed up, make this throw a BadImageFormatException - line 124: // TODO: once multifile gets fixed up, make this throw a BadImageFormatException src/mono/browser/runtime/diagnostics/server_pthread/protocol-client-commands.ts (2 lines): - line 40: sessionID: number;// FIXME: this is 64-bits in the protocol - line 44: keywords: [number, number]; // lo,hi. FIXME: this is ugly src/coreclr/tools/Common/TypeSystem/IL/MethodILDebugView.cs (2 lines): - line 32: // TODO: accessibility, specialname, calling conventions etc. - line 96: // TODO: pretty exception regions src/coreclr/tools/Common/TypeSystem/Common/TypeDesc.cs (2 lines): - line 590: // TODO: Substitutions, generics, modopts, ... - line 591: // TODO: field signature src/libraries/System.IO.Ports/src/System/IO/Ports/SerialStream.Windows.cs (2 lines): - line 1706: // TODO: what about CE_BREAK? Is this the same as EV_BREAK? EV_BREAK happens as one of the pin events, - line 1708: // TODO: what about other error conditions not covered by the enum? Should those produce some other error? src/mono/dlls/mscordbi/cordb.h (2 lines): - line 50: #define POS_RSP 0 //TODO fix for other platforms - line 118: ArrayList* m_pReceiveReplies; // TODO use hashmap src/mono/browser/runtime/diagnostics/index.ts (2 lines): - line 84: // TODO: consider also parsing the DOTNET_EnableEventPipe and DOTNET_EventPipeOutputPath, DOTNET_EvnetPipeConfig variables - line 149: // FIXME: is this really the best place to do this? src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/VtableIndexStubGenerator.cs (2 lines): - line 297: // TODO: Report invalid configuration - line 303: // TODO: report invalid configuration - or ensure that this will never happen at this point src/mono/browser/build/WasmApp.InTree.targets (2 lines): - line 7: - line 11: src/coreclr/inc/metamodelpub.h (2 lines): - line 1640: // TODO: - line 1709: // TODO: src/native/containers/dn-simdhash.c (2 lines): - line 63: // FIXME: Only apply this when capacity == 0? - line 122: // TODO: Implement a fast clear algorithm that scans buckets and only clears ones w/nonzero count src/tools/illink/src/ILLink.RoslynAnalyzer/RequiresISymbolExtensions.cs (2 lines): - line 11: // TODO: Consider sharing with ILLink DoesMemberRequire method - line 36: // TODO: Consider sharing with ILLink IsInRequiresScope method src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeParameterBuilder.Mono.cs (2 lines): - line 118: /* FIXME: check for errors */ - line 125: /* FIXME: check for type compatibility */ src/mono/mono/mini/mini-posix.c (2 lines): - line 587: * TODO: This does not work on Mac (and maybe some other OSs). On Mac, we - line 673: * TODO: On Mac, we should explore using the Mach thread suspend/resume src/coreclr/vm/runtimehandles.cpp (2 lines): - line 1060: //@TODO:STUBDISPATCH: Don't need to track down the implementation, just the declaration, and this can - line 1061: //@TODO: be done faster - just need to make a function FindDispatchDecl. src/libraries/System.Text.Json/src/System/Text/Json/Writer/Utf8JsonWriter.WriteValues.Raw.cs (2 lines): - line 174: // TODO (https://github.com/dotnet/runtime/issues/29293): - line 262: // TODO (https://github.com/dotnet/runtime/issues/29293): src/coreclr/build-runtime.cmd (2 lines): - line 100: REM TODO these are deprecated remove them eventually - line 149: REM TODO these are deprecated remove them eventually src/mono/mono/component/mini-wasm-debugger.c (2 lines): - line 53: //FIXME move all of those fields to the profiler object - line 177: //FIXME support multiple appdomains src/coreclr/tools/dotnet-pgo/Program.cs (2 lines): - line 1333: // TODO find some way to match on MVID as only some dlls have managed pdbs, and this won't find issues with embedded pdbs - line 1728: // TODO: The process ID check is not sufficient as PIDs can be reused, so we need to use timestamps too, src/coreclr/tools/r2rdump/CoreDisTools.cs (2 lines): - line 196: // TODO: update once RISC-V runtime supports "C" extension (compressed instructions) - line 273: // TODO: update once RISC-V runtime supports "C" extension (compressed instructions) src/coreclr/nativeaot/Runtime/unix/UnixNativeCodeManager.cpp (2 lines): - line 911: // TODO: we can also limit the search by the longest possible epilogue length, but - line 1275: // @TODO: Compress EHInfo using type table index scheme src/coreclr/pal/src/thread/context.cpp (2 lines): - line 781: // TODO: Enable for all Unix systems - line 1130: // TODO: Enable for all Unix systems src/coreclr/vm/loaderallocator.cpp (2 lines): - line 610: // TODO: Do we really want to perform this on each LoaderAllocator? - line 1737: // TODO: the ShuffleThunkCache should really be using the m_pStubHeap, however the unloadability support src/coreclr/md/runtime/mdcolumndescriptors.cpp (2 lines): - line 198: // TODO: - line 261: // TODO: src/mono/wasi/wasi.proj (2 lines): - line 3: - line 90: src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.ILogB.cs (2 lines): - line 37: public static bool Vectorizable => false; // TODO: vectorize for float - line 48: public static bool Vectorizable => false; // TODO: vectorize src/coreclr/tools/Common/TypeSystem/Common/InstantiatedType.cs (2 lines): - line 153: // TODO: Substitutions, generics, modopts, ... - line 223: // TODO: Substitutions, generics, modopts, ... src/libraries/System.Net.Security/src/System/Net/NegotiateAuthenticationPal.ManagedNtlm.cs (2 lines): - line 268: // TODO: Logging, validation - line 565: // TODO: Validate size and offsets src/mono/mono/utils/mono-threads.h (2 lines): - line 156: /* FIXME: All the transitions from STATE_SELF_SUSPENDED and - line 312: * TODO support multiple values by multiple tools src/mono/System.Private.CoreLib/src/System/RuntimeType.Mono.cs (2 lines): - line 1798: // TODO: .net does more checks in unmanaged land in RuntimeTypeHandle::CreateInstance - line 1807: // FIXME Reuse with coreclr src/coreclr/nativeaot/Runtime/gcenv.ee.cpp (2 lines): - line 678: // TODO: Linux LTTng - line 683: // TODO: Implementation src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335/MetadataAggregator.cs (2 lines): - line 170: // TODO: optimize - we don't need to allocate all these arrays - line 251: // TODO: if a virtual handle is connected to real handle then translate the rid, src/mono/mono/mini/tramp-arm.c (2 lines): - line 739: // FIXME: Currently, we always go to the slow path. - line 862: * FIXME We save rgctx reg here so we don't regress tests. It should src/coreclr/pal/src/loader/module.cpp (2 lines): - line 122: // UNIXTODO: Implement this! - line 166: // UNIXTODO: Implement this! src/mono/mono/metadata/appdomain.c (2 lines): - line 536: /* FIXME: We invoke managed code here, so there is a potential for deadlocks */ - line 868: // FIXME: TRUSTED_PLATFORM_ASSEMBLIES is very large src/coreclr/nativeaot/System.Private.CoreLib/src/System/Threading/Thread.NativeAot.cs (2 lines): - line 201: // TODO: Inform the debugger and the profiler - line 322: /// TODO: See issue https://github.com/dotnet/corert/issues/4430 src/libraries/System.Data.OleDb/src/System/Data/ProviderBase/DbConnectionPoolCounters.cs (2 lines): - line 116: // TODO: generate Application EventLog entry about inability to find perf counter - line 128: { // TODO: race condition, Dispose at the same time as Increment/Decrement src/libraries/System.Private.CoreLib/src/System/Text/Unicode/Utf8Utility.Helpers.cs (2 lines): - line 295: // TODO: I'd like to be able to write "(ushort)(value - 0x0080u) < 0x0780u" for the little-endian - line 378: // TODO: I'd like to be able to write "(ushort)(value - 0x0080u) < 0x0780u" for the big-endian src/mono/mono/mini/mini-runtime.h (2 lines): - line 77: // FIXME: Review uses and change them to a more specific mem manager - line 134: /* FIXME: GC */ src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeILGenerator.Mono.cs (2 lines): - line 773: // FIXME: vararg methods are not supported - line 844: // FIXME: "Not implemented" src/coreclr/utilcode/prettyprintsig.cpp (2 lines): - line 309: // TODO what is the syntax for the rank 0 case? - line 716: // TODO what is the syntax for the rank 0 case? src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSProxyContext.cs (2 lines): - line 189: // TODO flow it also with ExecutionContext to child threads ? - line 485: Environment.FailFast($"TODO implement blocking ReleaseCSOwnedObjectSend to make sure the order of FreeJSVHandle is correct, ManagedThreadId: {Environment.CurrentManagedThreadId}. {Environment.NewLine} {Environment.StackTrace}"); src/mono/browser/debugger/BrowserDebugProxy/MonoProxy.cs (2 lines): - line 205: //TODO figure out how to stich out more frames and, in particular what happens when real wasm is on the stack - line 367: //FIXME support variant where restrictToFunction=true and end is omitted src/tasks/AotCompilerTask/MonoAOTCompiler.cs (2 lines): - line 651: // FIXME: delete files not in originalAssemblies though - line 652: // FIXME: or .. just delete the whole dir? src/libraries/Common/src/System/Data/ProviderBase/DbMetaDataFactory.cs (2 lines): - line 411: // TODO: will add a more descriptive error in RTM - line 440: // TODO: Consider an alternate method that doesn't involve special casing -- perhaps _prepareCollection src/mono/System.Private.CoreLib/src/Mono/RuntimeStructs.cs (2 lines): - line 34: // FIXME: How to represent variable-length array struct member? - line 63: #pragma warning disable CA1823 // TODO: https://github.com/dotnet/roslyn/issues/37593 src/coreclr/tools/aot/crossgen2/Program.cs (2 lines): - line 147: // TODO: To support our pre-compiled test tree, allow input files that aren't managed assemblies since - line 687: // TODO: allow specifying signature to distinguish overloads src/coreclr/vm/i386/virtualcallstubcpu.hpp (2 lines): - line 508: //@TODO: Perhaps this should be a jl for better branch prediction? - line 750: //@TODO: Get rid of this duplication of data. src/coreclr/vm/eventtrace.cpp (2 lines): - line 3146: #if !defined(HOST_UNIX) //UNIXTODO: Enable EmitCodeSymbols - line 5475: Assembly *pAssembly = domainAssemblyIt->GetAssembly(); // TODO: handle iterator src/mono/mono/mini/tramp-riscv.c (2 lines): - line 199: // TODO: Fix me, there is no reference in tramp-arm64.c - line 654: // FIXME: Unwind info src/coreclr/vm/ilmarshalers.cpp (2 lines): - line 1194: // @TODO: We shouldn't be skipping the call if pslILEmit is ILStubLinker::kExceptionCleanup - line 1643: // TODO Phase5: Why do we call this weirdo? src/coreclr/nativeaot/Runtime/windows/CoffNativeCodeManager.cpp (2 lines): - line 980: // TODO: Hijack with saving the return value in FP stack - line 1101: // @TODO: Compress EHInfo using type table index scheme src/coreclr/vm/peimage.h (2 lines): - line 277: //@TODO:workaround: Remove this when we have one PEImage per mapped image, - line 278: //@TODO:workaround: and move the lock there src/tools/illink/src/linker/Linker.Steps/SweepStep.cs (2 lines): - line 192: // FIXME: AddBypassNGen is just wrong, it should not be action as we need to - line 524: // TODO: Clear also AssemblyReference and Namespace when not marked src/coreclr/vm/clrex.cpp (2 lines): - line 1543: //@TODO: security: It would be nice for debugging purposes if the - line 2190: //@TODO: Make available generally? src/coreclr/vm/gdbjit.cpp (2 lines): - line 119: // TODO: add support of generics with static fields - line 800: /* TODO: use corresponding constant when it will be added to llvm */ src/coreclr/vm/interpreter.h (2 lines): - line 96: // TODO: Handle Vector64, Vector128? - line 181: // TODO: might wish to make a different constructor, for the cases where this is possible... src/mono/mono/profiler/aot.c (2 lines): - line 123: //FIXME how should we handle passing a value to an arg that doesn't expect it? - line 532: // FIXME: Cache src/coreclr/inc/clrconfigvalues.h (2 lines): - line 730: // TODO: https://github.com/dotnet/runtime/issues/103465 - line 753: //TODO: should implement LoongArch64's features. src/mono/mono/metadata/external-only.c (2 lines): - line 10: // FIXME In order to confirm this is all extern_only, - line 683: // TODO: make this work on netcore when working on SRE.TypeBuilder src/mono/mono/mini/lldb.c (2 lines): - line 267: // FIXME: Make sure this is async safe - line 482: // FIXME: O(n^2) src/libraries/System.Data.Common/src/System/Data/Merger.cs (2 lines): - line 595: // TODO: destRelation may be null, causing an NRE below - line 605: // TODO: destRelation may be null, see comment above src/coreclr/vm/riscv64/singlestepper.cpp (2 lines): - line 266: _ASSERTE((pCtx->Pc & 0x3) == 0); // TODO change this after "C" Standard Extension support implemented - line 355: // TODO after "C" Standard Extension support implemented, add C.J, C.JAL, C.JR, C.JALR, C.BEQZ, C.BNEZ src/mono/wasi/build/WasiApp.InTree.targets (2 lines): - line 7: - line 11: src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeAssemblyBuilder.Mono.cs (2 lines): - line 370: //FIXME MS has issues loading satellite assemblies from SRE - line 374: //FIXME MS has issues loading satellite assemblies from SRE src/coreclr/tools/Common/Compiler/GenericCycleDetection/ModuleCycleInfo.cs (2 lines): - line 256: // TODO: better exception string ID? - line 261: // TODO: better exception string ID? src/mono/mono/metadata/metadata-internals.h (2 lines): - line 1175: // FIXME: Callers shouldn't rely on this - line 1304: /* FIXME: review the runtime users before adding the assert here */ src/coreclr/vm/appdomain.cpp (1 line): - line 890: // TODO: we should really not running managed DLLMain during process detach. src/coreclr/pal/src/synchmgr/synchmanager.cpp (1 line): - line 3787: // TODO: Verify that the proper locks are held src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Asinh.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: Vectorize src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimeConstructorBuilder.Mono.cs (1 line): - line 88: // FIXME: src/mono/mono/utils/mono-utils-debug.c (1 line): - line 95: return FALSE; // FIXME Other operating systems. src/libraries/System.Threading/src/System/Threading/ReaderWriterLock.cs (1 line): - line 1102: // TODO: (old) Disposing events for now. What is needed is an event cache to which the events are released. src/libraries/System.Collections.Immutable/src/System/Collections/Immutable/ImmutableInterlocked.cs (1 line): - line 470: //TODO: BCL bug? uses Default comparer instead of location.ValueComparer src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/Ecma/MetadataExtensions.cs (1 line): - line 83: //TODO: Perf - GetBlobReader() scans the string handle for a NUL terminator to compute the length making it an O(N) src/libraries/System.Private.CoreLib/src/System/Math.cs (1 line): - line 363: // TODO https://github.com/dotnet/runtime/issues/5213: src/mono/mono/mini/exceptions-ppc.c (1 line): - line 623: /* FIXME: what about trampoline LMF frames? see exceptions-x86.c */ src/libraries/System.IO.Pipelines/src/System/IO/Pipelines/Pipe.cs (1 line): - line 461: // TODO: Use new SequenceMarshal.TryGetReadOnlySequenceSegment to get the correct data src/libraries/System.Runtime.InteropServices.JavaScript/gen/JSImportGenerator/Marshaling/PrimitiveJSGenerator.cs (1 line): - line 24: // TODO order parameters in such way that affinity capturing parameters are emitted first src/mono/mono/metadata/assembly-internals.h (1 line): - line 97: /* FIXME: predicate unused? */ src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/MetadataReader.WinMD.cs (1 line): - line 70: // TODO: we can avoid this comparison if info.DotNetNamespace == info.WinRtNamespace src/coreclr/nativeaot/Runtime/i386/UniversalTransition.asm (1 line): - line 19: ;; TODO: This code currently only tailcalls, and does not return. src/coreclr/jit/scopeinfo.cpp (1 line): - line 1207: // TODO: we can improve this keeping a set for the variables with src/mono/mono/mini/mini-x86-gsharedvt.c (1 line): - line 197: // FIXME: src/libraries/System.Threading.RateLimiting/src/System/Threading/RateLimiting/SlidingWindowRateLimiter.cs (1 line): - line 142: // TODO: Acquire additional metadata during a failed lease decision src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/TraceLogging/EventFieldAttribute.cs (1 line): - line 52: /// TODO REMOVE src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.Nls.cs (1 line): - line 599: // TODO: Can we try for GetNativeCompareFlags to never src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunCodegenCompilation.cs (1 line): - line 929: // TODO: cross-bubble RVA field src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/ReadyToRunStandaloneMethodMetadata.cs (1 line): - line 147: // TODO: consider encoding via wtf-8, or possibly utf-8 src/coreclr/gc/handletableconstants.h (1 line): - line 20: //@TODO: find a home for this in a project-level header file src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335/MetadataBuilder.Tables.cs (1 line): - line 2018: // TODO (bug https://github.com/dotnet/roslyn/issues/3905): src/mono/System.Private.CoreLib/src/System/Threading/Monitor.Mono.cs (1 line): - line 19: // TODO: Interpreter is missing this intrinsic src/coreclr/vm/exinfo.h (1 line): - line 44: public: // @TODO: make more of these private! src/coreclr/vm/gcenv.ee.cpp (1 line): - line 577: // TODO - at some point we would like to completely decouple profiling src/libraries/Microsoft.Extensions.Configuration.Binder/gen/Parser/BinderInvocation.cs (1 line): - line 38: // TODO: drill further into this evaluation for a declaring-type name check. src/coreclr/debug/ee/riscv64/walker.cpp (1 line): - line 73: // TODO after "C" Standard Extension support implemented, add C.J, C.JAL, C.JR, C.JALR, C.BEQZ, C.BNEZ src/native/minipal/cpufeatures.c (1 line): - line 428: // TODO: IsProcessorFeaturePresent doesn't support LRCPC2 yet. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DescriptorMarker.cs (1 line): - line 242: //TODO: Add a conditional dependency if the type is used also mark the method src/coreclr/jit/redundantbranchopts.cpp (1 line): - line 1068: // TODO: handle blocks with side effects. For those predecessors that are src/mono/mono/sgen/sgen-nursery-allocator.c (1 line): - line 426: /* Clear the remaining space, pinning depends on this. FIXME move this to use phony arrays */ src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/CertificateData.ManagedDecode.cs (1 line): - line 239: // TODO: Check this (and the OpenSSL-using version) if OU/etc are specified more than once. src/mono/mono/mini/mini-llvm-cpp.cpp (1 line): - line 574: // FIXME: Share DIFile src/tasks/AppleAppBuilder/Templates/runtime.m (1 line): - line 294: // TODO: set TRUSTED_PLATFORM_ASSEMBLIES, APP_PATHS and NATIVE_DLL_SEARCH_DIRECTORIES src/mono/browser/runtime/diagnostics/server_pthread/ipc-protocol/serializer.ts (1 line): - line 21: // FIXME: I'm sure the endianness is wrong here src/libraries/System.Private.CoreLib/src/System/Threading/WaitHandle.Windows.cs (1 line): - line 29: #if NATIVEAOT // TODO: reentrant wait support https://github.com/dotnet/runtime/issues/49518 src/coreclr/nativeaot/Runtime/arm64/ThunkPoolThunks.asm (1 line): - line 268: ;; ARM64TODO: There is a bug in the arm64 assembler which ends up with mis-sorted Pdata entries src/native/corehost/hostpolicy/hostpolicy.cpp (1 line): - line 950: // TODO Review: Since we're only passing the one component framework, the resolver will not consider src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs (1 line): - line 246: // TODO: Review this case! src/coreclr/tools/superpmi/superpmi/parallelsuperpmi.cpp (1 line): - line 534: // TODO: merge all this output to a single call to LogVerbose to avoid all the newlines. src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs (1 line): - line 323: /// TODO: Remove this work-around once https://github.com/dotnet/runtime/issues/50915 is addressed. src/libraries/System.Text.RegularExpressions/gen/RegexGenerator.Parser.cs (1 line): - line 130: if (!memberSyntax.Modifiers.Any(SyntaxKind.PartialKeyword) || // TODO: Switch to using regexPropertySymbol.IsPartialDefinition when available src/libraries/tests.proj (1 line): - line 784: src/coreclr/vm/stackwalk.h (1 line): - line 80: //@TODO: what will it return for transition frames? src/tasks/Microsoft.NET.WebAssembly.Webcil/WebcilWasmWrapper.cs (1 line): - line 168: throw new InvalidOperationException ("adding padding would cause data section's encoded length to chane"); // TODO: fixme: there's upto one extra byte to encode the section length - take away a padding byte. src/coreclr/md/compiler/custattr_emit.cpp (1 line): - line 629: // TODO: For now assume the property\field array size is correct - later we should verify this src/coreclr/vm/runtimecallablewrapper.h (1 line): - line 1079: // @TODO context cwb: revisit. One could have a cache per thread affinity src/libraries/System.Net.Primitives/src/System/Net/IPNetwork.cs (1 line): - line 12: #pragma warning disable SA1648 // TODO: https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3595 src/mono/mono/mini/interp/jiterpreter-opcode-values.h (1 line): - line 186: // FIXME: Not implemented individual opcodes src/libraries/System.Collections/src/System/Collections/Generic/SortedSet.cs (1 line): - line 1059: // TODO: Perhaps a more space-conservative way to do this src/tools/illink/src/linker/Linker/MethodDefinitionExtensions.cs (1 line): - line 95: // TODO: This always allocates, update when Cecil catches up src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/H2StaticTable.Http2.cs (1 line): - line 96: // TODO: The HeaderField constructor will allocate and copy again. We should avoid this. src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Interpreter/InterpretedFrame.cs (1 line): - line 253: // TODO: we know this at compile time (except for compiled loop): src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets (1 line): - line 517: src/libraries/System.Data.Common/src/System/Data/Common/SqlUDTStorage.cs (1 line): - line 44: // TODO: Is it OK for the null value of a UDT to be null? For now annotating is non-nullable. src/tools/illink/src/tlens/TLens.Analyzers/DuplicatedCodeAnalyzer.cs (1 line): - line 18: // TODO: Add more cases to detect potencial code duplications src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/ArrayMethod.Runtime.cs (1 line): - line 17: // TODO Eventually implement via working with a RuntimeMethod that refers to the actual implementation. src/coreclr/inc/predeftlsslot.h (1 line): - line 16: // TODO: Introduce DAC API to make this hack unnecessary src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs (1 line): - line 961: // TODO - This 'if' was not commented out in 4.8. But 4.8 was not dealing with nullable notations, which we do have here in Core. src/mono/wasm/host/RunConfiguration.cs (1 line): - line 54: // FIXME: validate hostconfig src/mono/mono/profiler/log-args.c (1 line): - line 53: //FIXME how should we handle passing a value to an arg that doesn't expect it? src/coreclr/tools/Common/TypeSystem/IL/Stubs/DynamicInvokeMethodThunk.cs (1 line): - line 40: // TODO: Reflection invoke assumes unboxing stubs. It means that the "this" pointer is always a regular boxed object reference and src/mono/browser/runtime/diagnostics/server_pthread/streaming-session.ts (1 line): - line 30: const ipcStreamAddr = cwraps.mono_wasm_diagnostic_server_create_stream(); // FIXME: this should be a wrapped in a JS object so we can free it when we're done. src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/NativeArray.cs (1 line): - line 13: // TODO (refactoring) - all these Native* class should be private src/coreclr/vm/eventpipeinternal.h (1 line): - line 9: // TODO: Maybe we should move the other types that are used on PInvoke here? src/mono/mono/mini/tramp-s390x.c (1 line): - line 572: /* FIXME: This is not thread safe */ src/coreclr/vm/fcall.cpp (1 line): - line 253: // TODO turn this on!!! _ASSERTE(!"FCALL without a GC poll in it somewhere!"); src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowState.cs (1 line): - line 30: // TODO: optimize this to not meet the whole value, but just modify one value without copying. src/libraries/Common/src/System/Number.Formatting.Common.cs (1 line): - line 129: // TODO: Consider to bring optimized implementation from CoreLib src/tools/illink/src/ILLink.RoslynAnalyzer/DataFlow/LocalDataFlowVisitor.cs (1 line): - line 317: // TODO: when setting a property in an attribute, target is an IPropertyReference. src/coreclr/jit/hwintrinsic.cpp (1 line): - line 616: // TODO: There's more we could validate here in terms of flags, instructions used, etc. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/Dataflow/HandleCallAction.cs (1 line): - line 611: // TODO: niche APIs that we probably shouldn't even have added src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexOpcode.cs (1 line): - line 120: // TODO: Figure out what these comments mean / what these control structures actually do :) src/coreclr/nativeaot/Runtime/unix/UnixHandle.h (1 line): - line 13: // TODO: add validity check for usage / closing? src/mono/mono/metadata/sre-internals.h (1 line): - line 49: } ReflectionMethodBuilder; /* FIXME raw pointers to managed objects */ src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/MacProxy.cs (1 line): - line 27: // TODO https://github.com/dotnet/runtime/issues/24799 - Credentials are not propagated src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/ModuleBuilderImpl.cs (1 line): - line 1370: CallingConvention.Winapi => SignatureCallingConvention.Default, // TODO: platform-specific src/mono/mono/utils/mach-support.h (1 line): - line 27: /* FIXME: Should return size_t, not int. */ src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.cs (1 line): - line 1430: // TODO: https://github.com/dotnet/runtime/issues/27837 src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Pow.cs (1 line): - line 62: public static bool Vectorizable => false; // typeof(T) == typeof(float) || typeof(T) == typeof(double); // TODO: https://github.com/dotnet/runtime/issues/100535 src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/PEReaderExtensions.cs (1 line): - line 37: // +0x04: TODO: time/date stamp src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Atanh.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: Vectorize src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/GenericLookupResult.cs (1 line): - line 869: // TODO: diamond/reabstraction src/mono/wasm/host/CommonConfiguration.cs (1 line): - line 101: // FIXME: validate hostconfig src/mono/tools/jitdiff/jitdiff.cs (1 line): - line 194: // TODO: calculate bytes src/coreclr/jit/lsrabuild.cpp (1 line): - line 2516: // TODO: We'd like to assert the following but we don't currently ensure that only src/coreclr/tools/Common/TypeSystem/Common/MetadataRuntimeInterfacesAlgorithm.cs (1 line): - line 20: // TODO: need to implement deduplication src/mono/mono/mini/tramp-arm-gsharedvt.c (1 line): - line 112: // FIXME: Use this for the other cases as well src/coreclr/debug/inc/arm/primitives.h (1 line): - line 125: // @ARMTODO: Sort out frame registers src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/VirtualMethodCallHelper.cs (1 line): - line 61: // TODO: More efficient lookup of the slot src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSWebWorker.cs (1 line): - line 66: // TODO TaskCreationOptions.HideScheduler ? src/coreclr/jit/layout.h (1 line): - line 159: // TODO: check TYP_SIMD12 profitability, src/coreclr/System.Private.CoreLib/src/System/Reflection/Metadata/RuntimeTypeMetadataUpdateHandler.cs (1 line): - line 21: // TODO: This should ideally be in a QCall in the runtime. As written here: src/coreclr/md/compiler/filtermanager.cpp (1 line): - line 1206: //@TODO: where are the type params? src/coreclr/tools/Common/JitInterface/SystemVStructClassificator.cs (1 line): - line 477: // TODO: Fix JIT, NoClass eightbytes are valid and passing them is broken because of this. src/mono/mono/sgen/sgen-los.c (1 line): - line 895: SGEN_ASSERT (0, mod_union, "FIXME: optionally allocate the mod union if it's not here and CAS it in."); src/native/eventpipe/ep-block.c (1 line): - line 634: // TODO: Original EP updates blocks write pointer continuously, doing the same here before src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ObjectiveCMarshal.NativeAot.cs (1 line): - line 100: // TODO: convert IP to RuntimeMethodHandle. src/libraries/System.Net.HttpListener/src/System/Net/Windows/CookieExtensions.cs (1 line): - line 10: // TODO https://github.com/dotnet/runtime/issues/19348 src/coreclr/jit/codegenlinear.cpp (1 line): - line 483: // TODO: could these checks be performed more frequently? E.g., at each location where src/mono/browser/runtime/diagnostics/server_pthread/stream-queue.ts (1 line): - line 101: // TODO: remove the event listener? src/coreclr/nativeaot/Bootstrap/main.cpp (1 line): - line 193: // TODO: pass struct with parameters instead of the large signature of RhRegisterOSModule src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Compiler/LambdaCompiler.cs (1 line): - line 84: // TODO: This API is not available, is there an alternative way to achieve the same. src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/JsonTypeInfo.cs (1 line): - line 1228: // TODO: extend to collections/dictionaries src/coreclr/nativeaot/Runtime/interoplibinterface_objc.cpp (1 line): - line 37: // TODO: Support registering multiple begin/end callbacks. src/coreclr/vm/stublink.h (1 line): - line 759: // TODO: This should be removed once IsStub src/mono/mono/eventpipe/ep-rt-mono-profiler-provider.c (1 line): - line 1469: //TODO: Optimize string formatting into functions accepting GString to reduce heap alloc. src/mono/System.Private.CoreLib/src/System/Threading/PortableThreadPool.Browser.Threads.Mono.cs (1 line): - line 16: public double CurrentUtilization => 0.0; // FIXME: can we do better src/coreclr/tools/aot/ILCompiler.MetadataTransform/ILCompiler/Metadata/Transform.Field.cs (1 line): - line 107: // TODO: CustomModifiers src/coreclr/tools/cdac-build-tool/DataDescriptorModel.cs (1 line): - line 174: throw new InvalidOperationException("TODO: [cdac] - implement baseline parsing"); src/libraries/System.Text.Json/src/System/Text/Json/Document/JsonProperty.cs (1 line): - line 96: // TODO make public https://github.com/dotnet/runtime/issues/77666 src/coreclr/jit/jitconfigvalues.h (1 line): - line 379: //TODO: should implement LoongArch64's features. src/mono/mono/component/debugger-networking.c (1 line): - line 175: return 1; /* FIXME propagate the error */ src/coreclr/debug/inc/arm_primitives.h (1 line): - line 76: // @ARMTODO: ARM appears to leave the PC at the start of the breakpoint (at least according to Windbg, src/coreclr/vm/eetoprofinterfaceimpl.cpp (1 line): - line 2455: // TODO: think about race conditions... I am pretty sure there is one src/libraries/Microsoft.Internal.Runtime.WindowsDesktop.Transport/src/Microsoft.Internal.Runtime.WindowsDesktop.Transport.proj (1 line): - line 8: src/coreclr/tools/superpmi/superpmi/icorjitinfo.cpp (1 line): - line 1052: // TODO: record these mappings src/mono/browser/debugger/DebuggerTestSuite/WasmHostProvider.cs (1 line): - line 90: // FIXME: use custom exception types src/coreclr/tools/superpmi/superpmi-shared/logging.cpp (1 line): - line 256: #ifndef TARGET_UNIX // TODO: no localtime_s() or strftime() in PAL src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.StaticsLookup.cs (1 line): - line 198: // TODO multi-file: consider whether we want to cache this info src/mono/System.Private.CoreLib/src/Mono/HotReload.cs (1 line): - line 111: /* FIXME: do we want FieldStore to be pinned? */ src/coreclr/gc/env/gcenv.os.h (1 line): - line 480: // TODO: add Linux implementation. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/UserDefinedTypeDescriptor.cs (1 line): - line 507: // TODO: check the type's generic complexity src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpHandler.cs (1 line): - line 736: // TODO https://github.com/dotnet/runtime/issues/16162: src/mono/browser/debugger/DebuggerTestSuite/TestHarnessProxy.cs (1 line): - line 144: // FIXME: remove src/mono/mono/utils/mono-error-internals.h (1 line): - line 120: // FIXME Eventually all error_init should be removed, however it is prudent src/native/corehost/hostpolicy/deps_resolver.cpp (1 line): - line 517: // TODO: Remove: the deps should contain the managed DLL. src/coreclr/vm/comtoclrcall.cpp (1 line): - line 403: // @TODO: PERF: x86: we are making profiler callbacks in the StubLinker stub as well as here. src/native/libs/System.Security.Cryptography.Native.Android/pal_cipher.c (1 line): - line 355: // TODO: re-init ctx->cipher ? src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/CallChainProfile.cs (1 line): - line 223: /// TODO: We have no signature information for the method - what policy should we apply where multiple methods exist with the same name src/mono/mono/mini/aot-runtime.h (1 line): - line 234: // FIXME: Sync with AOT src/coreclr/debug/ee/funceval.cpp (1 line): - line 1181: // @TODO: Move this to before the boxing/unboxing above src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.SinCosPi.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: vectorize src/mono/browser/build/WasmApp.InTree.props (1 line): - line 31: src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in (1 line): - line 55: src/mono/mono/utils/mono-threads-api.h (1 line): - line 29: // FIXME an ifdef to change __func__ to empty or further minimization. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectDataInterner.cs (1 line): - line 117: // TODO: should be comparing target after folding to catch more sameness src/libraries/System.Text.Json/src/System/Text/Json/Reader/Utf8JsonReader.MultiSegment.cs (1 line): - line 1123: // TODO: https://github.com/dotnet/runtime/issues/27837 src/coreclr/debug/shared/amd64/primitives.cpp (1 line): - line 123: CORDbgSetDebuggerREGDISPLAYFromContext(pDRD, reinterpret_cast(pRD->pCurrentContext)); // MACTODO: KLUDGE UNDO Microsoft src/coreclr/jit/unwind.cpp (1 line): - line 441: offset = 0; // TODO ??? src/native/corehost/hostmisc/pal.h (1 line): - line 121: // TODO: Agree on the correct encoding of the files: The PoR for now is to src/coreclr/jit/liveness.cpp (1 line): - line 774: // TODO: we should generate the code for saving to/restoring eng/native/tryrun_ios_tvos.cmake (1 line): - line 11: # TODO: these are taken from macOS, check these whether they're correct for iOS src/libraries/System.IO.Pipelines/src/System/IO/Pipelines/PipeOptions.cs (1 line): - line 37: // TODO: These *should* be computed based on how much users want to buffer and the minimum segment size. Today we don't have a way src/coreclr/unwinder/arm64/unwinder.cpp (1 line): - line 2349: // TODO: Implement support for UnwindFlags RTL_VIRTUAL_UNWIND2_VALIDATE_PAC. src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/EHInfo.cs (1 line): - line 100: // TODO: EH clauses in composite mode src/coreclr/vm/customattribute.cpp (1 line): - line 303: // TODO: For now assume the property\field array size is correct - later we should verify this src/coreclr/tools/Common/TypeSystem/Interop/IL/MarshalHelpers.cs (1 line): - line 809: // TODO: Differentiate between struct and Union, we only need to support struct not union here src/tools/illink/src/tlens/TLens/LensesCollection.cs (1 line): - line 34: // TODO: Add more analyzers for src/mono/mono/mini/mini-riscv.h (1 line): - line 124: // TODO: remove following def src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/Target_ARM/ARMReadyToRunHelperNode.cs (1 line): - line 68: // TODO: performance optimization - inline the check verifying whether we need to trigger the cctor src/mono/mono/mini/exceptions.cs (1 line): - line 2451: /* FIXME: Fails on x86 when llvm is enabled (#5432) */ src/libraries/System.Threading.RateLimiting/src/System/Threading/RateLimiting/DefaultPartitionedRateLimiter.cs (1 line): - line 18: // TODO: Look at ConcurrentDictionary to try and avoid a global lock src/coreclr/debug/daccess/enummem.cpp (1 line): - line 1634: //TODO: actually *do* something with potential failures. It would be relatively easy to src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Func.cs (1 line): - line 514: // TODO: we could try to cache value -> existing GCHandle src/coreclr/vm/ilmarshalers.h (1 line): - line 957: // @TODO: ensure ReInitNative is called on [in,out] byref args when an exception occurs src/coreclr/nativeaot/Common/src/Internal/Runtime/LowLevelStringConverter.cs (1 line): - line 18: // TODO: Rename to ToHexString() src/coreclr/nativeaot/Runtime/TypeManager.cpp (1 line): - line 58: // TODO: Binary search src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/EventCounter.cs (1 line): - line 117: payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session src/coreclr/tools/Directory.Build.props (1 line): - line 21: TODO: https://github.com/dotnet/runtime/issues/91028. src/coreclr/debug/shared/utils.cpp (1 line): - line 72: // TODO: We don't do this check in case of non-windows debugging now, because we don't support src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcConnectionFactory.cs (1 line): - line 32: // TODO: owningObject may actually be null (see DbConnectionPool.CreateObject), in which case this will throw... src/tools/illink/Directory.Build.props (1 line): - line 8: src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverter.cs (1 line): - line 62: /// TODO remove once https://github.com/dotnet/runtime/pull/73395/ and src/coreclr/nativeaot/System.Private.CoreLib/src/System/Activator.NativeAot.cs (1 line): - line 44: // TODO: might want to disambiguate the different cases for abstract class, interface, etc. src/native/eventpipe/ds-eventpipe-protocol.c (1 line): - line 209: // TODO: This might be too large. src/mono/mono/mini/interp/tiering.c (1 line): - line 4: // FIXME: The add/remove traffic on this table may require dn_simdhash to implement cascade flag cleanup src/mono/browser/debugger/DebuggerTestSuite/CustomViewTests.cs (1 line): - line 109: //FIXME: blocks src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Analyzers/ConvertToLibraryImportFixer.cs (1 line): - line 448: // TODO: Handle ANSI once we have a public marshaller type for ANSI strings that we can use with StringMarshallerCustomType src/mono/mono/utils/options-def.h (1 line): - line 174: // FIXME: In the future if we find a way to reduce the number of unique tables we can raise this constant src/coreclr/vm/crossloaderallocatorhash.inl (1 line): - line 246: // TODO: Consider optimizing this by changing the add to ensure that the src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/CompilerHelpers/SharedCodeHelpers.cs (1 line): - line 21: // TODO: We should return the current context from the ThunkPool src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/PollingCounter.cs (1 line): - line 66: payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/AssemblyTableNode.cs (1 line): - line 45: // TODO: IMAGE_DATA_DIRECTORY CorHeader - no support for embedded MSIL yet src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Internal/Treatments.cs (1 line): - line 56: // TODO: In the latest Adapter.cpp sources this seems to be no longer applicable (confirm?) src/coreclr/md/compiler/disp.cpp (1 line): - line 426: // TODO: this extension might deserve its own version number e.g. 'MDVersion3' src/coreclr/md/inc/metamodel.h (1 line): - line 53: // @TODO - this value should be updated when we increase the version number src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/CustomMarshallingInfoHelper.cs (1 line): - line 158: // TODO: Add diagnostic src/coreclr/vm/amd64/excepamd64.cpp (1 line): - line 492: // TODO: can we throw OOM here? or will we just go recursive b/c that will eventually get to the same place? src/mono/wasi/build/WasiApp.props (1 line): - line 3: src/coreclr/md/inc/metamodelrw.h (1 line): - line 390: // TODO: src/coreclr/tools/Common/TypeSystem/RuntimeDetermined/RuntimeDeterminedType.cs (1 line): - line 166: // TODO: this is needed because NameMangler calls it to see if we're dealing with genericness. Revise? src/mono/mono/eglib/gmodule-aix.c (1 line): - line 34: // FIXME This does not work because it guards config.h include. src/coreclr/tools/Common/TypeSystem/IL/ILDisassembler.cs (1 line): - line 477: // TODO: rest of calling conventions src/coreclr/tools/Common/TypeSystem/Ecma/EcmaType.cs (1 line): - line 433: // TODO: invalid input: the type doesn't derive from our System.Object src/coreclr/tools/aot/ILCompiler.Compiler/IL/ILImporter.Scanner.cs (1 line): - line 738: // TODO: for ldvirtftn we need to also check for the `dup` instruction src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/String/Hashing.cs (1 line): - line 13: // TODO https://github.com/dotnet/runtime/issues/77679: src/mono/mono/metadata/profiler-legacy.h (1 line): - line 19: * TODO: Remove this some day if we're OK with breaking compatibility. src/mono/mono/metadata/verify.c (1 line): - line 120: /*FIXME maybe we need the same this as verifier_class_is_assignable_from*/ src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/GenericDictionaryCell.cs (1 line): - line 234: // TODO (USG): What if this method's instantiation is a non-shareable one (from a normal canonical src/coreclr/vm/typehandle.h (1 line): - line 583: class TypeHandlePairList // TODO: Template for TypeHandleList, TypeHandlePairList, TokenPairList? src/coreclr/vm/comconnectionpoints.cpp (1 line): - line 494: // @TODO: this ignores the type of failure - try GetLastTypeHandleThrowing() src/libraries/System.Transactions.Local/src/System/Transactions/Configuration/AppSettings.cs (1 line): - line 20: // TODO: Determine how to handle configuration. src/mono/mono/metadata/components.c (1 line): - line 84: /* TODO: support disabled components. src/coreclr/tools/Common/TypeSystem/Ecma/EcmaMethod.cs (1 line): - line 42: private TypeDesc[] _genericParameters; // TODO: Optional field? src/coreclr/tools/superpmi/superpmi-shim-collector/icorjitinfo.cpp (1 line): - line 1221: // TODO: record these mappings src/mono/mono/component/diagnostics_server.c (1 line): - line 253: // FIXME for deputy src/native/libs/System.Globalization.Native/pal_calendarData.c (1 line): - line 87: // TODO: what about the other gregorian types? src/libraries/Microsoft.Extensions.Caching.Abstractions/src/CacheItemPriority.cs (1 line): - line 6: // TODO: Granularity? src/mono/sample/mbr/DeltaHelper.targets (1 line): - line 65: src/coreclr/md/runtime/metamodel.cpp (1 line): - line 500: // TODO: src/coreclr/debug/daccess/fntableaccess.cpp (1 line): - line 18: // @TODO: This is old code that should be easy to implement on top of the existing DAC support. src/coreclr/inc/cvinfo.h (1 line): - line 1818: // TS-TODO: replace a name with a NamedCodeItem once Weiping is done, to src/coreclr/gc/handletablecore.cpp (1 line): - line 67: //@TODO: move/merge into common util file src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Analyzers/CustomMarshallerAttributeFixer.cs (1 line): - line 160: // TODO: Convert to use the IOperation tree once IAttributeOperation is available src/mono/mono/utils/mono-conc-hashtable.c (1 line): - line 218: /* FIXME check for NULL if we add suppport for removal */ Directory.Build.props (1 line): - line 346: src/coreclr/vm/eventing/eventpipe/ep-rt-coreclr.h (1 line): - line 770: //TODO: Write execution checkpoint rundown events. src/coreclr/vm/stdinterfaces.cpp (1 line): - line 1977: // @TODO (DM): Implement this. src/mono/mono/utils/mono-log-common.c (1 line): - line 117: // TODO: For WASI builds, build libSystem.Native.a using WASI SDK instead of Emscripten. src/coreclr/vm/codepitchingmanager.cpp (1 line): - line 69: // @TODO - SimpleRWLock does not have knowledge of which thread gets the writer src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Log.cs (1 line): - line 164: public static bool Vectorizable => false; //LogOperator.Vectorizable; // TODO: https://github.com/dotnet/runtime/issues/100535 src/coreclr/vm/method.cpp (1 line): - line 2351: // TODO: Can we avoid early allocation of precodes for interfaces and cominterop? src/tasks/Crossgen2Tasks/Microsoft.NET.CrossGen.targets (1 line): - line 77: src/coreclr/tools/aot/ILCompiler.Compiler/IL/Stubs/StartupCode/StartupCodeMainMethod.cs (1 line): - line 131: // TODO: better exception src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/Helpers.cs (1 line): - line 182: // @TODO - https://github.com/dotnet/corefxlab/issues/2447 - This is not the best way to compute the PKT as AssemblyName src/libraries/System.IO.Pipelines/src/System/IO/Pipelines/StreamPipeReader.cs (1 line): - line 213: // TODO ReadyAsync needs to throw if there are overlapping reads. src/mono/sample/wasm/simple-raytracer/Program.cs (1 line): - line 222: // FIXME: Compute z of intersection point and check that instead src/coreclr/vm/commtmemberinfomap.cpp (1 line): - line 181: // @TODO IA64: Is this a good hashing mechanism on IA64? src/libraries/System.Net.Primitives/src/System/Net/IPAddress.cs (1 line): - line 13: #pragma warning disable SA1648 // TODO: https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3595 src/coreclr/gc/gcinterface.ee.h (1 line): - line 41: // to the EE. ([LOCALGC TODO dynamic event implementation]) src/libraries/System.Net.Security/src/System/Net/Security/Pal.Android/SafeDeleteSslContext.cs (1 line): - line 224: // TODO: [AndroidCrypto] Handle non-system-default options src/libraries/System.Private.CoreLib/src/System/Threading/PortableThreadPool.WaitThread.cs (1 line): - line 439: // TODO: Optimization: Try to unregister wait directly if it isn't being waited on. src/coreclr/gc/gc.h (1 line): - line 57: // TODO : it would be easier to make this an ORed value src/libraries/System.Data.Common/src/System/Data/RbTree.cs (1 line): - line 2096: // TODO: Should throw if MoveNext hasn't been called src/mono/mono/metadata/object-internals.h (1 line): - line 601: gsize debugger_thread; // FIXME switch to bool as soon as CI testing with corlib version bump works src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.cs (1 line): - line 346: // TODO: Note that this doesn't handle the new calendars (lunisolar, etc) src/mono/mono/metadata/mono-basic-block.c (1 line): - line 158: * TODO implement Sedgewick's version that doesn't require parent pointers src/mono/wasi/runtime/driver.c (1 line): - line 105: //FIXME handle debugging assemblies with .exe extension src/coreclr/tools/aot/ILCompiler.MetadataTransform/ILCompiler/Metadata/MetadataTransform.cs (1 line): - line 31: // TODO: Make this multithreaded. The high level plan is: src/coreclr/inc/corhdr.h (1 line): - line 251: // @TODO: This is required because we pull in the COM+ 2.0 PE header src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335/SignatureDecoder.cs (1 line): - line 250: // PERF_TODO: Cache/reuse common case of small number of all-zero lower-bounds. src/mono/mono/mini/basic-float.cs (1 line): - line 354: /* FIXME: This only works on little-endian machines */ src/libraries/System.Private.Xml/src/System/Xml/Xsl/Runtime/XmlCollation.Unix.cs (1 line): - line 20: // TODO: Support upper case first on Linux src/coreclr/jit/rationalize.cpp (1 line): - line 601: // TODO: assert(!IsLIR()); src/mono/System.Private.CoreLib/src/System/Reflection/Emit/RuntimePropertyBuilder.Mono.cs (1 line): - line 120: return null!; // FIXME: coreclr throws src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.SinCos.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: vectorize src/mono/mono/utils/mono-log-windows.c (1 line): - line 33: static const wchar_t *logFileName = L".//mono.log"; // FIXME double slash src/mono/mono/component/hot_reload-internals.h (1 line): - line 26: /* FIXME: use a struct that allocates out of the MonoClass mempool! or maybe add the GArray src/mono/mono/metadata/loader-internals.h (1 line): - line 256: * FIXME: All the callers of mono_alc_get_ambient () should get an ALC src/tasks/AndroidAppBuilder/Templates/monodroid.c (1 line): - line 245: // TODO: set TRUSTED_PLATFORM_ASSEMBLIES, APP_PATHS and NATIVE_DLL_SEARCH_DIRECTORIES src/coreclr/vm/eventreporter.cpp (1 line): - line 432: //ARMTODO: Event reporting is currently non-functional on winpe. src/coreclr/nativeaot/Runtime/EHHelpers.cpp (1 line): - line 175: // TODO: Copy registers X2-X7 when we start supporting HVA's src/coreclr/vm/eventtrace_bulktype.cpp (1 line): - line 512: // TODO: This code does not appear to find all generic instantiations of types, and thus does not log ALL statics src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/TypeSystem/TypeSystemContext.Runtime.cs (1 line): - line 512: // TODO: This doesn't track nongeneric types and members. Does that significantly affect the results? src/coreclr/jit/emitloongarch64.cpp (1 line): - line 4710: assert(!"------------TODO for LOONGARCH64: unsupported ins."); src/coreclr/tools/r2rtest/Commands/CompileSubtreeCommand.cs (1 line): - line 118: // TODO: this is somewhat hacky - should we introduce a new option -bt (artifacts/tests/OS.arch.config) we'd use src/libraries/Common/src/System/Net/Http/aspnetcore/Http3/QPack/QPackEncoder.cs (1 line): - line 229: // TODO: this will be called with a string array from HttpHeaderCollection. Can we ever get a 0-length array from that? Assert if not. src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/ActivityTracker.cs (1 line): - line 156: // TODO add some logging about this. Basically could not find matching start. src/mono/browser/runtime/debug.ts (1 line): - line 25: // FIXME: where should this go? src/mono/mono/mini/aot-runtime-wasm.c (1 line): - line 64: // FIXME: Handle the scenario where there are fields of struct types that contain no members src/coreclr/debug/ee/functioninfo.cpp (1 line): - line 1673: //@TODO : _ASSERTE(EnC); src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.PopCount.cs (1 line): - line 47: // TODO https://github.com/dotnet/runtime/issues/96162: Use AVX512 popcount operations when available src/coreclr/ilasm/extractGrammar.pl (1 line): - line 34: # remove TODO comments src/mono/mono/mini/interp/jiterpreter.h (1 line): - line 189: // FIXME: For thread safety we need to make these thread-local or stack-allocated src/coreclr/inc/pedecoder.inl (1 line): - line 693: PREFIX_ASSUME (section!=NULL); //TODO: actually it is possible that it si null we need to rethink how we handle this cases and do better there src/native/containers/dn-simdhash-utils.h (1 line): - line 130: // TODO: On wasm we could do a single u32 load then scan the bytes, src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/SimdVectorExtensions.cs (1 line): - line 8: // TODO: As src/mono/mono/sgen/sgen-internal.c (1 line): - line 288: // FIXME: This whole algorithm is broken on WASM due to its 64KB page size. src/coreclr/debug/di/divalue.cpp (1 line): - line 2702: // TODO: How to ensure results are sanitized? src/mono/dlls/mscordbi/cordb-process.h (1 line): - line 36: ArrayList* m_pTypeMapArray; //TODO: define a better data structure to find CordbType src/coreclr/vm/assemblyspec.cpp (1 line): - line 1024: // TODO: Merge this with the failure lookup in the binder src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeBuilder.cs (1 line): - line 896: // TODO: Error handling - on retry, restart where we failed last time? The current implementation is leaking on OOM. src/coreclr/jit/regset.h (1 line): - line 156: // TODO: the funclet's callee-saved registers should not shared with main function. src/coreclr/vm/clrex.h (1 line): - line 127: //@TODO special case for preallocated exceptions? src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/Principal.cs (1 line): - line 225: // TODO Store should be mapping both to the same property already.... src/coreclr/tools/Common/TypeSystem/Common/Utilities/ExceptionTypeNameFormatter.cs (1 line): - line 55: // TODO: Append '...' for vararg methods src/coreclr/tools/superpmi/superpmi-shared/compileresult.cpp (1 line): - line 908: Assert(!"FIXME: Not Implements on loongarch64"); src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/FrozenObjectHeapManager.cs (1 line): - line 43: // TODO: We should also give up on arrays of doubles on 32-bit platforms. src/libraries/sendtohelixhelp.proj (1 line): - line 234: src/coreclr/debug/di/arm/cordbregisterset.cpp (1 line): - line 46: // @ARMTODO: floating point support src/coreclr/md/runtime/mdinternalro.cpp (1 line): - line 1809: // TODO: consider returning a HRESULT to make errors evident to the caller. src/mono/mono/sgen/sgen-client.h (1 line): - line 59: * FIXME: Can we merge this with `sgen_client_object_has_critical_finalizer()`? src/tasks/WasmAppBuilder/WasmAppBuilderBaseTask.cs (1 line): - line 86: // FIXME: validate the culture? src/coreclr/jit/indirectcalltransformer.cpp (1 line): - line 507: // TODO: implement chaining for multiple GDV candidates src/coreclr/jit/forwardsub.cpp (1 line): - line 713: // TODO: remove this once we can trust upstream phases and/or gtUpdateStmtSideEffects src/libraries/System.Formats.Cbor/src/System/Formats/Cbor/Reader/CborReader.Tag.cs (1 line): - line 74: // TODO determine if conformance modes should allow inexact date sting parsing src/coreclr/vm/interpreter.hpp (1 line): - line 177: size_t sz = tp.Size(&m_interpCeeInfo); // TODO: note that tp.IsLargeStruct() above just called tp.Size(), so this is duplicate work unless the optimizer inlines and CSEs the calls. src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/TraceLogging/DataCollector.cs (1 line): - line 263: TODO (perf): consider coalescing adjacent buffered regions into a src/coreclr/jit/flowgraph.cpp (1 line): - line 5430: // TODO: A common loop idiom is to enter the loop at the test, with the src/coreclr/scripts/superpmi_asmdiffs_checked_release.py (1 line): - line 147: # TODO: the superpmi.py asmdiffs command returns a failure code if there are MISSING data even if there are src/coreclr/utilcode/safewrap.cpp (1 line): - line 76: // UNIXTODO: Report the event somewhere? src/coreclr/pal/src/synchobj/semaphore.cpp (1 line): - line 444: // TODO: Implementation of OpenSemaphoreA() doesn't exist, do we need it? More generally, do we need the A versions at all? src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ITensor.cs (1 line): - line 12: // TODO: Determine if we can implement `IEqualityOperators`. src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/Vector128.cs (1 line): - line 3255: // TODO: Make generic versions of these public, see https://github.com/dotnet/runtime/issues/82559 src/coreclr/utilcode/pedecoder.cpp (1 line): - line 1060: //@TODO: If not an exe, check that EntryPointToken is mdNil src/coreclr/vm/methodtablebuilder.h (1 line): - line 1408: //@TODO: This should be moved. src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/RequireDynamicallyAccessedMembersAction.cs (1 line): - line 26: // TODO: Implement type name resolution to type symbol src/libraries/System.Data.Common/src/System/Data/Filter/FunctionNode.cs (1 line): - line 672: // TODO: Unused, consider removing src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializerOptions.cs (1 line): - line 190: // TODO https://github.com/dotnet/runtime/issues/51159: src/mono/browser/debugger/BrowserDebugProxy/JObjectValueCreator.cs (1 line): - line 314: // FIXME: debugger proxy src/coreclr/vm/eedbginterfaceimpl.cpp (1 line): - line 1010: /* @TODO : CALLCONV? */ src/libraries/System.Runtime.InteropServices/gen/LibraryImportGenerator/Analyzers/AddDisableRuntimeMarshallingAttributeFixer.cs (1 line): - line 27: // TODO: Write a custom fix all provider src/libraries/System.Net.Security/src/System/Net/NegotiateAuthenticationPal.Unix.cs (1 line): - line 287: // TODO: We don't currently check channel bindings. src/coreclr/vm/ilstubcache.cpp (1 line): - line 178: // @TODO: reuse the same chunk for multiple methods src/mono/browser/debugger/DebuggerTestSuite/GetPropertiesTests.cs (1 line): - line 30: // FIXME: invoking getter on the hidden(base) properties - is that supported?? src/coreclr/jit/codegenriscv64.cpp (1 line): - line 5862: GetEmitter()->emitDisableGC(); // TODO: add gcinfo to tempReg and remove nogc src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/R2RPEBuilder.cs (1 line): - line 463: /// TODO: System.Reflection.Metadata doesn't currently support OS machine overrides. src/coreclr/debug/daccess/dacfn.cpp (1 line): - line 1075: // TODO: but what if the same memory was marshalled more than once (eg. once as a DPTR, once as a VPTR)? src/mono/mono/utils/mono-property-hash.c (1 line): - line 54: // FIXME: Maybe use aligned_hash src/mono/dlls/mscordbi/cordb-process.cpp (1 line): - line 696: hash = (long)(pow(2, eleToken & 0xffffff) * pow(3, type) * pow(5, eleType)); //TODO: define a better hash src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/JitHelper.cs (1 line): - line 39: mangledName = "RhpFallbackFailFast"; // TODO: Report stack buffer overrun src/mono/mono/utils/mono-error.c (1 line): - line 807: /*Try to produce the exception for the second error. FIXME maybe we should log about the original one*/ src/coreclr/debug/di/rsappdomain.cpp (1 line): - line 264: // @TODO E_NOIMPL this src/libraries/System.Private.CoreLib/src/System/Text/EncoderFallback.cs (1 line): - line 66: internal EncoderNLS? encoder; // TODO: MAKE ME PRIVATE src/libraries/System.Text.Json/src/System/Text/Json/Nodes/JsonNode.cs (1 line): - line 368: /// TODO consider making public cf. https://github.com/dotnet/runtime/issues/70427 src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSMarshalerType.cs (1 line): - line 485: // TODO maybe allow Task and Task which don't need element marshaler src/coreclr/inc/corinfo.h (1 line): - line 178: TODO: Talk about initializing strutures before use src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/HuffmanDecodingException.cs (1 line): - line 9: // TODO: Should this be public? src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/Symbolic/RegexNodeConverter.cs (1 line): - line 387: // TODO: This logic should really be part of RegexCharClass, as it's parsing a set src/libraries/Common/src/Interop/Windows/BCrypt/Interop.BCryptAlgPseudoHandle.cs (1 line): - line 12: // TODO: This really should be backed by 'nuint' (see https://github.com/dotnet/roslyn/issues/44110) src/mono/mono/mini/interp/mintops.h (1 line): - line 240: // TODO Add more src/libraries/System.Runtime.Serialization.Schema/src/System/Runtime/Serialization/Schema/ContractCodeDomInfo.cs (1 line): - line 18: // NOTE TODO smolloy - This was a Dictionary previously, so adding a duplicate entry would throw an exception. src/mono/mono/mini/tramp-amd64-gsharedvt.c (1 line): - line 271: /* TODO Allocate stack area used to pass arguments to the method */ src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/MethodWithGCInfo.cs (1 line): - line 337: // TODO: x86 (see InitializeFrameInfos()) src/mono/mono/arch/amd64/amd64-codegen.h (1 line): - line 670: //TODO Reorganize SSE opcode defines. src/libraries/Microsoft.Internal.Runtime.AspNetCore.Transport/src/Microsoft.Internal.Runtime.AspNetCore.Transport.proj (1 line): - line 9: src/mono/mono/metadata/gc-internals.h (1 line): - line 186: * FIXME: Add an API for clearing remset entries if a root with a user defined src/mono/mono/metadata/exception.c (1 line): - line 334: mono_error_assert_ok (error); /* FIXME handle the error. */ src/mono/mono/utils/mono-log-flight-recorder.c (1 line): - line 220: // FIXME: do something with header/counter? src/mono/mono/metadata/sre-encode.c (1 line): - line 221: sigbuffer_add_value (buf, 0); /* FIXME: set to 0 for now */ src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ConfigurationElement.cs (1 line): - line 1514: // TODO: Check for duplicates. src/libraries/System.Net.HttpListener/src/System/Net/Managed/HttpListener.Certificates.cs (1 line): - line 22: // TODO https://github.com/dotnet/runtime/issues/19752: Implement functionality to read SSL certificate. src/mono/mono/mini/interp/interp.h (1 line): - line 26: #ifdef TARGET_WASM // FIXME HOST src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncTaskMethodBuilderT.cs (1 line): - line 97: // TODO: remove once https://github.com/dotnet/runtime/issues/90965 is implemented src/coreclr/tools/aot/ILCompiler.ReadyToRun/ObjectWriter/SectionBuilder.cs (1 line): - line 805: // +0x04: TODO: time/date stamp src/libraries/System.Linq/src/System/Linq/Min.cs (1 line): - line 310: // TODO https://github.com/dotnet/csharplang/discussions/6308: Update this to use generic constraint bridging if/when available. src/native/libs/System.Globalization.Native/pal_timeZoneInfo.c (1 line): - line 306: // TODO: Add a parameter for the timestamp that is used when getting the display names instead of src/libraries/Common/src/System/Data/Common/DbConnectionOptions.Common.cs (1 line): - line 124: // TODO: Is it possible for _parsetable to contain a null value here? If so there's a bug here, investigate. src/libraries/System.Runtime.InteropServices/gen/Microsoft.Interop.SourceGeneration/Marshalling/MarshalAsMarshallingGeneratorResolver.cs (1 line): - line 53: // TODO: Report the MarshalAs attribute as unnecessary src/mono/mono/utils/memfuncs.c (1 line): - line 89: * FIXME borrow faster code from some BSD libc or bionic src/libraries/System.Private.Xml/src/System/Xml/Serialization/ReflectionXmlSerializationWriter.cs (1 line): - line 887: // TODO: this block is never hit by our tests. src/coreclr/tools/Common/TypeSystem/Ecma/CachingMetadataStringDecoder.cs (1 line): - line 27: // TODO: Tune the bucket size src/mono/mono/utils/options.c (1 line): - line 101: * FIXME: It's possible to lose the race with precise timing and fail to free the extra table. src/libraries/System.Collections.Immutable/src/System/Collections/Frozen/EmptyFrozenSet.cs (1 line): - line 45: other is IReadOnlyCollection s ? s.Count == 0 : // TODO https://github.com/dotnet/runtime/issues/42254: Remove if/when Any includes this check src/mono/mono/metadata/runtime.c (1 line): - line 97: /*TODO move the follow to here: src/coreclr/vm/frames.cpp (1 line): - line 137: // TODO [DAVBR]: For the full fix for VsWhidbey 450273, all the below src/libraries/Common/src/System/Net/Http/aspnetcore/Http3/QPack/QPackDecoder.cs (1 line): - line 716: // TODO update with postbase index src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/BindingFlagSupport/MethodPolicies.cs (1 line): - line 45: // TODO (https://github.com/dotnet/corert/issues/1896) Comparing signatures is fragile. The runtime and/or toolchain should have a way of sharing this info. src/coreclr/nativeaot/Runtime/amd64/UniversalTransition.asm (1 line): - line 56: ;; TODO: This code currently only tailcalls, and does not return. src/libraries/System.ComponentModel.Annotations/src/System/ComponentModel/DataAnnotations/LocalizableString.cs (1 line): - line 140: // TODO - check that GetMethod returns the same as old GetGetMethod() src/libraries/System.Data.Common/src/System/Data/DataRelationCollection.cs (1 line): - line 456: // TODO: Not needed, this[] throws src/coreclr/nativeaot/Runtime/regdisplay.h (1 line): - line 176: // TODO: WebAssembly doesn't really have registers. What exactly do we need here? src/coreclr/tools/Common/TypeSystem/IL/MethodIL.Symbols.cs (1 line): - line 60: // TODO: The remaining info src/coreclr/vm/field.h (1 line): - line 617: // @TODO: This is slow, don't use it! src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexFindOptimizations.cs (1 line): - line 160: // TODO: While some benchmarks benefit from this significantly, others regressed a bit (in particular those with few src/mono/mono/sgen/sgen-conf.h (1 line): - line 134: * FIXME replace all magic numbers with defines. src/mono/mono/mini/cfold.c (1 line): - line 451: * TODO: src/mono/mono/metadata/sgen-bridge.c (1 line): - line 50: // FIXME: The current usage pattern for this function is unsafe. Bridge processing could start immediately after unlock src/coreclr/vm/frames.h (1 line): - line 2900: // TODO [DAVBR]: For the full fix for VsWhidbey 450273, this src/mono/mono/sgen/sgen-array-list.c (1 line): - line 115: /* FIXME Don't allocate arrays that will be skipped */ src/tasks/AotCompilerTask/MonoAOTCompiler.props (1 line): - line 10: src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSHostImplementation.cs (1 line): - line 290: // FIXME: Pass UTF-16 through directly so C can work with it, doing the conversion src/coreclr/jit/hwintrinsiccodegenarm64.cpp (1 line): - line 423: // TODO: Use emitIns_Mov instead. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ILScanNodeFactory.cs (1 line): - line 24: // TODO: come up with a scheme where this can be shared between codegen backends and the scanner src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/IncrementingPollingCounter.cs (1 line): - line 79: payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session src/coreclr/vm/domainassembly.cpp (1 line): - line 135: //@TODO: CHECK statements are *NOT* debug-only!!! src/tasks/Microsoft.NET.WebAssembly.Webcil/WebcilConverter.cs (1 line): - line 359: // TODO check that we overwrite with the same size as the original src/libraries/System.Speech/src/Internal/Synthesis/EngineSite.cs (1 line): - line 167: string mediaTypeUnused; // TODO: Should this be passed out of this function? src/mono/mono/mini/mini-ppc.h (1 line): - line 167: /* FIXME: are these values valid? on 32-bit? */ src/coreclr/vm/syncblk.cpp (1 line): - line 884: //@TODO do we still leak here if two threads come here at the same time ? src/mono/mono/eglib/gmisc-win32.c (1 line): - line 52: // FIXME This should loop in case another thread is growing the data. src/mono/browser/debugger/BrowserDebugProxy/EvaluateExpression.cs (1 line): - line 65: // TODO: PointerMemberAccessExpression src/libraries/System.Linq.Expressions/src/System/Linq/Expressions/Interpreter/LightLambda.cs (1 line): - line 285: //TODO enable sharing of these custom delegates src/mono/mono/metadata/reflection-cache.h (1 line): - line 134: // FIXME: May need a memory manager for item+klass ? src/mono/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeHelpers.Mono.cs (1 line): - line 165: // TODO: Missing intrinsic in interpreter src/coreclr/nativeaot/System.Private.CoreLib/src/Internal/Runtime/TypeLoaderExceptionHelper.cs (1 line): - line 72: // TODO: move to a place where we can share this with the compiler src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.ConstructedGenericTypesLookup.cs (1 line): - line 245: // TODO multi-file: consider whether we can limit the search somehow, eng/targetingpacks.targets (1 line): - line 114: TODO: Remove this target when a 9.0.100 SDK is consumed that respects EnableRuntimePackDownload for the ILCompiler. src/coreclr/jit/target.h (1 line): - line 236: // TODO: Rename regMaskSmall as RegSet64 (at least for 64-bit) src/mono/mono/utils/mono-context.c (1 line): - line 564: /* FIXME: apple */ src/coreclr/md/enc/liteweightstgdbrw.cpp (1 line): - line 524: // TODO: do this in a more clever way, and check if/why/when this is necessary src/mono/System.Private.CoreLib/src/System/Reflection/FieldInfo.Mono.cs (1 line): - line 112: Array.Empty());//FIXME Get named params src/libraries/System.ComponentModel.Composition/src/System/ComponentModel/Composition/ReflectionModel/GenericSpecializationPartCreationInfo.cs (1 line): - line 247: // GENTODO - error case src/coreclr/vm/i386/asmconstants.h (1 line): - line 12: // TODO: put the constant finder in a common place so other platforms can use it. src/coreclr/jit/optcse.cpp (1 line): - line 1258: // TODO CQ: add CSE for handler blocks, CSE_INTO_HANDLERS should be defined. src/libraries/System.Private.CoreLib/src/System/Globalization/CultureInfo.cs (1 line): - line 334: // TODO: Names can only be RFC4646 names (ie: a-zA-Z0-9) while this allows any unicode letter/digit src/libraries/System.IO.Packaging/src/System/IO/Packaging/PackagingUtilities.cs (1 line): - line 65: //TODO: in the future, we can do the work to detect the BOM, and throw an exception if the file is in an invalid encoding. src/coreclr/vm/typestring.cpp (1 line): - line 964: // @TODO: The argument list should be formatted nicely using AppendType() src/libraries/System.Linq/src/System/Linq/Max.cs (1 line): - line 332: // TODO https://github.com/dotnet/csharplang/discussions/6308: Update this to use generic constraint bridging if/when available. src/libraries/System.Private.CoreLib/src/System/Collections/ArrayList.cs (1 line): - line 301: [return: CollectionAccess(CollectionAccessType.UpdatedContent | CollectionAccessType.Read)] //TODO: error, return updated content, but modify for list parameter src/coreclr/vm/classhash.cpp (1 line): - line 740: // TODO remove this pointless local src/libraries/System.Private.CoreLib/src/System/IO/Strategies/BufferedFileStreamStrategy.cs (1 line): - line 1032: // TODO https://github.com/dotnet/roslyn/issues/47896: should be local function in EnsureBufferAllocated above. src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/FlowAnnotations.cs (1 line): - line 100: // TODO: This is relatively expensive on the analyzer since it doesn't cache the annotation information eng/testing/tests.wasm.targets (1 line): - line 114: src/mono/mono/mini/unwind.c (1 line): - line 1044: // FIXME: Endianness ? src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Acos.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: Vectorize src/mono/mono/utils/mono-dl.c (1 line): - line 96: /* FIXME: may need to read more from file... */ eng/Versions.props (1 line): - line 102: src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.Nls.cs (1 line): - line 75: context->strings!.Add(calendarInfo); // TODO https://github.com/dotnet/roslyn/issues/65634: Remove ! when no longer needed src/mono/mono/sgen/sgen-gchandles.c (1 line): - line 342: * FIXME: The compiler could technically not carry a reference to obj around src/libraries/System.IO.Compression/src/System/IO/Compression/DeflateManaged/InflaterManaged.cs (1 line): - line 352: // TODO: optimize this!!! src/coreclr/utilcode/log.cpp (1 line): - line 376: //@TODO ...Unnecessary to flush console? src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Atan2.cs (1 line): - line 73: public static bool Vectorizable => false; // TODO: Vectorize src/mono/mono/mini/genmdesc.py (1 line): - line 63: # FIXME: Check list of defines against an allowed list src/mono/browser/runtime/gc-handles.ts (1 line): - line 191: // TODO: are there race condition consequences ? src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarHeader.Read.cs (1 line): - line 544: // TODO: Read the bytes of the currently unsupported GNU fields, in case user wants to write this entry into another GNU archive, they need to be preserved. https://github.com/dotnet/runtime/issues/68230 src/coreclr/vm/dwbucketmanager.hpp (1 line): - line 594: // @TODO: what if the it is in-memory module? It can have the version info. src/coreclr/inc/sigparser.h (1 line): - line 295: HRESULT GetCallingConv(uint32_t* data) // @REVISIT_TODO: Calling convention is one byte, not four. src/coreclr/vm/interopconverter.cpp (1 line): - line 265: // @TODO: Cache IDispatch so we don't have to QI every time we come here. src/coreclr/debug/di/dbgtransportmanager.h (1 line): - line 13: // TODO: Ideally we'd like to remove this class and don't do any process related book keeping in DBI. src/coreclr/jit/block.cpp (1 line): - line 720: const bool printEdgeLikelihoods = true; // TODO: parameterize this? src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj (1 line): - line 28: src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs (1 line): - line 1695: // TODO: Is this hack necessary long-term? src/native/containers/dn-simdhash-ght-compatible.c (1 line): - line 26: // FIXME: Seed src/coreclr/debug/ee/controller.h (1 line): - line 996: // TODO: : when can we apply this to x86? src/coreclr/vm/appdomain.hpp (1 line): - line 2133: // @TODO: CTS, we can keep the com modules in a single assembly or in different assemblies. src/mono/mono/profiler/browser.c (1 line): - line 70: // TODO filter by namespace ? src/coreclr/debug/di/dbgtransportpipeline.cpp (1 line): - line 300: // TODO: Pass this timeout as a parameter all the way from debugger src/coreclr/nativeaot/System.Private.CoreLib/src/System/Reflection/Runtime/General/TypeResolver.cs (1 line): - line 48: // TODO: implement src/libraries/System.Data.Common/src/System/Data/DataTableReader.cs (1 line): - line 890: // TODO: This will throw an NRE src/mono/browser/runtime/exports-internal.ts (1 line): - line 130: // TODO https://github.com/dotnet/runtime/issues/100411 src/coreclr/nativeaot/System.Private.Reflection.Execution/src/Internal/Reflection/Execution/NativeFormatEnumInfo.cs (1 line): - line 34: unsortedBoxedValues = new object[staticFieldCount]; // TODO: Avoid boxing the values src/coreclr/tools/superpmi/superpmi-shim-simple/superpmi-shim-simple.cpp (1 line): - line 48: // TODO: this only works for ANSI file paths... src/coreclr/inc/safemath.h (1 line): - line 183: // TODO: Any way to prevent unintended instantiations? This is only designed to src/coreclr/md/inc/mdcolumndescriptors.h (1 line): - line 63: // TODO: src/coreclr/tools/Common/TypeSystem/IL/DelegateInfo.cs (1 line): - line 235: // TODO: Unify with the consts used in Delegate.cs within the class library. src/coreclr/vm/readytorunstandalonemethodmetadata.cpp (1 line): - line 265: // TODO: consider encoding via wtf-8, or possibly utf-8 src/coreclr/vm/methoditer.cpp (1 line): - line 229: // @TODO:: change it to dac compile only. src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/TypeLoaderEnvironment.ConstructedGenericsRegistration.cs (1 line): - line 95: // TODO: Convert this to filter for better diagnostics once we switch to Roslyn src/coreclr/inc/dacprivate.h (1 line): - line 686: // TODO: Add support to enumerate timers too. src/coreclr/vm/rejit.cpp (1 line): - line 885: // TODO: this assert likely needs to be removed. This code path should be src/coreclr/vm/pgo.cpp (1 line): - line 81: // TODO Insert an assert to check that an address is a valid pgo address src/mono/mono/sgen/sgen-scan-object.h (1 line): - line 101: // FIXME: src/mono/mono/metadata/jit-info.h (1 line): - line 226: /* FIXME: Embed this after the structure later*/ src/coreclr/md/enc/stgtiggerstorage.cpp (1 line): - line 297: // @TODO - Implement a sanity check for the deltas src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/ParameterBuilderImpl.cs (1 line): - line 59: // MS.NET doesn't handle this attribute but we handle it for consistency TODO: not sure if we need to handle this src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/CallingConventionConverterKey.cs (1 line): - line 86: // TODO: Append '...' for vararg methods src/native/containers/dn-simdhash.h (1 line): - line 27: // to maintain an ideal load factor. FIXME: 120 isn't right src/coreclr/nativeaot/System.Private.CoreLib/src/System/Environment.NativeAot.cs (1 line): - line 54: #if !TARGET_BROWSER // WASMTODO Be careful what happens here as if the code has called emscripten_set_main_loop then the main loop method will normally be called repeatedly after this method src/coreclr/debug/ee/frameinfo.cpp (1 line): - line 2087: // @TODO: this should be the code for all platforms now that it uses FillRegDisplay, src/coreclr/nativeaot/Runtime/unix/HardwareExceptions.cpp (1 line): - line 536: // TODO: better name src/mono/mono/metadata/loaded-images.c (1 line): - line 137: /* FIXME: this function is a bit annoying to implement without a global src/coreclr/jit/utils.cpp (1 line): - line 2080: // TODO: make this more like JitConfigValues::MethodSet::contains()? src/mono/browser/runtime/jiterpreter-tables.ts (1 line): - line 242: // FIXME: Missing compare opcode src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/Analyzers/ConvertComImportToGeneratedComInterfaceFixer.cs (1 line): - line 106: // TODO: Do we want to be smarter here and try to match the number of methods to a base interface, etc.? src/coreclr/vm/genmeth.cpp (1 line): - line 1638: tyvar->LoadConstraints(); //TODO: is this necessary for anything but the typical method? src/coreclr/tools/Common/JitInterface/SwiftPhysicalLowering.cs (1 line): - line 67: // TODO: What about 8-byte integers aligned at 4-byte boundaries? src/coreclr/debug/inc/arm64/primitives.h (1 line): - line 135: // @ARMTODO: Sort out frame registers src/libraries/System.Data.OleDb/src/System/Data/ProviderBase/DbConnectionInternal.Shared.cs (1 line): - line 448: // TODO: consider using ADP.TimerCurrent() for this. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ObjectWriter/CodeView/CodeViewTypesBuilder.cs (1 line): - line 363: // TODO: Evaluate if we should mark constructors src/coreclr/binder/assemblyname.cpp (1 line): - line 206: // TODO: Is this simple comparison enough? src/coreclr/tools/Common/TypeSystem/Common/InstantiatedType.Interfaces.cs (1 line): - line 14: // TODO Add duplicate detection src/coreclr/tools/superpmi/superpmi-shim-collector/superpmi-shim-collector.cpp (1 line): - line 74: // TODO: this only works for ANSI file paths... src/libraries/System.Data.OleDb/src/System/Data/Common/AdapterUtil.cs (1 line): - line 1275: // TODO: are those names appropriate for common code? src/coreclr/tools/Common/TypeSystem/Common/TypeSystemHelpers.cs (1 line): - line 90: // TODO: Do we want check for specialname/rtspecialname? Maybe add another overload on GetMethod? src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Atan.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: Vectorize src/coreclr/vm/methodimpl.h (1 line): - line 18: // @TODO: This is very bloated. We need to trim this down alot. However, src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335/CustomAttributeDecoder.cs (1 line): - line 307: // PERF_TODO: https://github.com/dotnet/runtime/issues/16551 src/libraries/Directory.Build.props (1 line): - line 83: src/coreclr/vm/debugdebugger.cpp (1 line): - line 753: // TODO: There is a race for dynamic and collectible methods here between getting src/coreclr/nativeaot/Runtime/ICodeManager.h (1 line): - line 7: // TODO: Debugger/DAC support (look for TODO: JIT) src/libraries/System.Net.Primitives/src/System/Net/IPAddressParser.cs (1 line): - line 182: // TODO https://github.com/dotnet/runtime/issues/84527: Use UInt32 TryFormat for both char and byte once IUtf8SpanFormattable implementation exists eng/testing/workloads-testing.targets (1 line): - line 36: src/coreclr/inc/nibblemapmacros.h (1 line): - line 28: // TODO: bump up the windows CODE_ALIGN to 16 and iron out any nibble map bugs that exist. src/mono/browser/debugger/BrowserDebugProxy/ValueTypeClass.cs (1 line): - line 247: // FIXME: cache? src/coreclr/nativeaot/Runtime.Base/src/System/Runtime/TypeCast.cs (1 line): - line 813: // TODO: If both array and obj are null, we're likely going to throw Redhawk's NullReferenceException. src/mono/System.Private.CoreLib/src/System/String.Mono.cs (1 line): - line 39: // TODO: Should be pointing to Buffer instead src/coreclr/pal/src/sharedmemory/sharedmemory.cpp (1 line): - line 1544: // TODO: Use a hash table src/coreclr/nativeaot/System.Private.Reflection.Execution/src/Internal/Reflection/Execution/TypeLoader/ConstraintValidatorSupport.cs (1 line): - line 303: // TODO: Enum.GetUnderlyingType does not work for generic type definitions src/coreclr/jit/earlyprop.cpp (1 line): - line 93: // TODO: support GT_MDARR_LENGTH, GT_MDARRAY_LOWER_BOUND src/coreclr/pal/src/exception/machexception.cpp (1 line): - line 512: // TODO: Identify privileged instruction. Need to get the thread state and read the machine code. May src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ILAssemblyGeneratingMethodDebugInfoProvider.cs (1 line): - line 67: // TODO: accessibility, specialname, calling conventions etc. src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/IncrementingEventCounter.cs (1 line): - line 65: payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session src/coreclr/inc/eventtrace.h (1 line): - line 287: // TODO: Need to be implemented for PROFILING_SUPPORTED. src/coreclr/vm/invokeutil.cpp (1 line): - line 1109: // TODO: this double allocates on constructions which is wastefull src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/CompilerServices/ClassConstructorRunner.cs (1 line): - line 274: // WASMTODO: Remove this when the Initialize method gets called by the runtime startup src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/TraceLogging/TraceLoggingEventSource.cs (1 line): - line 668: // TODO enable filtering for listeners. src/coreclr/tools/aot/ILCompiler.Reflection.ReadyToRun/DebugInfo.cs (1 line): - line 165: // TODO: This is probably incomplete src/coreclr/vm/tieredcompilation.cpp (1 line): - line 969: // TODO: In the future, we should get some feedback from images containing pregenerated code and from tier 0 JIT src/mono/mono/metadata/lock-tracer.c (1 line): - line 41: * TODO: src/coreclr/vm/arm64/stubs.cpp (1 line): - line 1428: // TODO: check that the intention is not mov Xd, XZR src/libraries/System.Net.Http/src/System/Net/Http/HttpContent.cs (1 line): - line 344: // TODO https://github.com/dotnet/runtime/issues/31316: Expose something to enable this publicly. For very specific src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ReflectionInvokeMapNode.cs (1 line): - line 179: // TODO: native signature for P/Invokes and UnmanagedCallersOnly methods src/coreclr/vm/clrtocomcall.cpp (1 line): - line 489: // REVISIT_TODO: Stop using ComSlot to convert method impls to interface MD src/mono/System.Private.CoreLib/src/System/Runtime/Loader/AssemblyLoadContext.Mono.cs (1 line): - line 52: // TODO: Handle nativeImagePath src/coreclr/jit/rangecheck.cpp (1 line): - line 1570: // TODO: consider computing range for CastOp and intersect it with this. src/mono/dlls/dbgshim/dbgshim.cpp (1 line): - line 148: *pProcessId = 1000; //TODO identify the correct processID of the process running on android or find another way to decide the port number src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/Loader/AssemblyLoadContext.NativeAot.cs (1 line): - line 46: // TODO: This is not passing down the AssemblyLoadContext, src/mono/browser/runtime/diagnostics/mock/environment.ts (1 line): - line 19: /* TODO: check that the message is really long enough for the cookie, process ID and reserved bytes */ src/libraries/System.Data.Odbc/src/Common/System/Data/ProviderBase/DbConnectionPool.cs (1 line): - line 575: // TODO: move this to src/Common and integrate with SqlClient src/native/libs/System.IO.Compression.Native/extra_libs.cmake (1 line): - line 3: # TODO: remove the mono-style HOST_ variable checks once Mono is using eng/native/configureplatform.cmake to define the CLR_CMAKE_TARGET_ defines src/mono/msbuild/apple/build/AppleBuild.props (1 line): - line 20: src/tools/illink/src/ILLink.RoslynAnalyzer/TrimAnalysis/HandleCallAction.cs (1 line): - line 214: // TODO: Does the analyzer need to do something here? src/coreclr/tools/r2rtest/PathHelpers.cs (1 line): - line 61: // TODO: this assumes we're running tests from the root src/coreclr/nativeaot/Runtime/unix/UnixContext.cpp (1 line): - line 369: // TODO: determine how unwinding will work on WebAssembly src/libraries/System.Runtime.InteropServices/src/System/Runtime/InteropServices/Marshalling/ComImportInteropInterfaceDetailsStrategy.cs (1 line): - line 57: // TODO: Support exposing ComImport interfaces through StrategyBasedComWrappers? src/coreclr/md/compiler/emit.cpp (1 line): - line 2077: // TODO: Force set sorted tables flag, do this properly src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/HeaderField.cs (1 line): - line 22: // TODO: We're allocating here on every new table entry. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/MetadataManager.cs (1 line): - line 380: // TODO: Reflection invoking static virtual methods src/libraries/Common/src/System/Net/Http/aspnetcore/Http2/Hpack/HPackDecodingException.cs (1 line): - line 9: // TODO: Should this be public? src/mono/browser/debugger/BrowserDebugProxy/Common/RunLoop.cs (1 line): - line 204: // FIXME: Continue with to catch any errors in shutting down src/coreclr/jit/promotion.cpp (1 line): - line 2623: // TODO: Local copy prop does not take into account that the src/coreclr/vm/vars.cpp (1 line): - line 114: // @TODO - PROMOTE. src/coreclr/vm/ecall.cpp (1 line): - line 765: // TODO: we could be smarter and only save buckets referenced during stackwalks. But we src/coreclr/tools/dotnet-pgo/SPGO/SampleCorrelator.cs (1 line): - line 254: // TODO: This check and above skipping logic does not handle recursion. src/coreclr/vm/prestub.cpp (1 line): - line 260: // TODO: fix this in Beta 2 src/native/managed/cdacreader/src/Entrypoints.cs (1 line): - line 17: // TODO: [cdac] Better error code/details src/libraries/System.Formats.Nrbf/src/System/Formats/Nrbf/Utils/BinaryReaderExtensions.cs (1 line): - line 77: // TODO: fix https://github.com/dotnet/runtime/issues/102826 src/coreclr/tools/Common/TypeSystem/RuntimeDetermined/MethodDesc.RuntimeDetermined.cs (1 line): - line 56: // TODO: IsConstrainedMethod src/coreclr/nativeaot/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/NativeLayoutInterfacesAlgorithm.cs (1 line): - line 74: // TODO: Handle the screwy cases of generic interface folding src/libraries/System.Private.CoreLib/src/System/Runtime/MemoryFailPoint.Unix.cs (1 line): - line 17: // TODO: Implement src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/GenericDictionaryNode.cs (1 line): - line 69: // TODO: pass the layout we already have to EmitDataInternal src/coreclr/tools/r2rtest/TestExclusion.cs (1 line): - line 167: // TODO: cross-OS CPAOT src/native/managed/native-library.targets (1 line): - line 89: src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/BlobWriter.cs (1 line): - line 12: // TODO: argument checking src/mono/mono/utils/checked-build.c (1 line): - line 551: // FIXME: We currently give a dynamic images a pass on the reference rules. src/coreclr/md/runtime/metamodelcolumndefs.h (1 line): - line 450: // TODO: src/mono/mono/sgen/sgen-protocol-def.h (1 line): - line 137: /* FIXME: unify sweep and reclaim */ src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun/TransitionBlock.cs (1 line): - line 654: public override int FloatRegisterSize => 8; // TODO: for SIMD. src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpCertificateHelper.cs (1 line): - line 98: // TODO https://github.com/dotnet/runtime/issues/15462: src/mono/mono/sgen/sgen-pinning.c (1 line): - line 371: /* FIXME: do pin stats if enabled */ src/mono/System.Private.CoreLib/src/System/GC.Mono.cs (1 line): - line 44: // TODO: Move following to ConditionalWeakTable src/libraries/System.Data.Common/src/System/Data/Filter/DataExpression.cs (1 line): - line 143: // TODO: _dataType can be null, probably a bug src/libraries/System.Private.CoreLib/src/System/Threading/ProcessorIdCache.cs (1 line): - line 13: // TODO: Consider flushing the currentProcessorIdCache on Wait operations or similar src/coreclr/jit/optimizer.cpp (1 line): - line 5087: // TODO: we could probably hoist things that won't raise exceptions, such as constants. src/coreclr/tools/aot/ILCompiler.ReadyToRun/IBC/IBCProfileParser.cs (1 line): - line 92: // TODO Compute RunOnce and RunNever from basic block data src/mono/System.Private.CoreLib/src/System/Runtime/InteropServices/Marshal.Mono.cs (1 line): - line 174: // FIXME: mscorlib's legacyUnhandledExceptionPolicy is apparently 1, src/libraries/Common/src/Interop/Windows/WinSock/SafeNativeOverlapped.cs (1 line): - line 8: // TODO: Investigate removing SafeNativeOverlapped entirely. It shouldn't be needed. src/coreclr/tools/dotnet-pgo/TypeRefTypeSystem/TypeRefTypeSystemContext.cs (1 line): - line 241: _metadataStringDecoder = new CachingMetadataStringDecoder(0x10000); // TODO: Tune the size src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.HammingDistance.cs (1 line): - line 70: // TODO: This has a very similar structure to CosineSimilarity, which is also open-coded rather than src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ConstructedEETypeNode.cs (1 line): - line 119: // TODO: any validation for arrays? src/coreclr/vm/frozenobjectheap.cpp (1 line): - line 53: // TODO: We should also give up on arrays of doubles on 32-bit platforms. src/mono/wasm/host/wasi/WasiEngineHost.cs (1 line): - line 72: // FIXME: maybe move the assembly name to a config file src/coreclr/vm/tailcallhelp.cpp (1 line): - line 516: // TODO: enable for varargs. We need to fix the TokenLookupMap to build src/coreclr/vm/clsload.cpp (1 line): - line 415: //@TODO: Need to allow exceptions to be thrown when classloader is cleaned up src/coreclr/inc/metadata.h (1 line): - line 137: // TODO: remove this when we remove m_cursor from the HENUMInternal structure src/coreclr/debug/di/shimstackwalk.cpp (1 line): - line 1125: // TODO: revisit overlapping ranges on ARM, it would be nice to make it consistent with the other architectures. src/mono/mono/metadata/sgen-client-mono.h (1 line): - line 698: * TODO: Query the JIT instead of this ifdef hack. src/coreclr/debug/di/helpers.h (1 line): - line 124: // BTW/@TODO: this is a subtle and dangerous thing to do, since it easily leads to situations src/coreclr/Directory.Build.props (1 line): - line 5: src/mono/mono/metadata/monitor.h (1 line): - line 79: * FIXME Have the same convention on inflated locks src/mono/mono/utils/ftnptr.h (1 line): - line 26: * FIXME: src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Cbrt.cs (1 line): - line 29: public static bool Vectorizable => false; // typeof(T) == typeof(float) || typeof(T) == typeof(double); // TODO: https://github.com/dotnet/runtime/issues/100535 src/libraries/System.Text.Json/src/System/Text/Json/Reader/JsonReaderHelper.Unescaping.cs (1 line): - line 41: // TODO: Similar to escaping, replace the unescaping logic with publicly shipping APIs from https://github.com/dotnet/runtime/issues/27919 src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Asin.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: Vectorize src/coreclr/debug/di/rsmain.cpp (1 line): - line 2403: // @TODO remove this class src/coreclr/tools/Common/TypeSystem/Common/Utilities/DebugNameFormatter.cs (1 line): - line 185: // TODO: We should introduce a DiagnosticModuleName to use here instead. The type src/coreclr/gc/unix/gcenv.unix.cpp (1 line): - line 727: // TODO: This can fail, however the GC does not handle the failure gracefully src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.RootN.cs (1 line): - line 31: public static bool Vectorizable => false; // typeof(T) == typeof(float) || typeof(T) == typeof(double); // TODO: https://github.com/dotnet/runtime/issues/100535 src/coreclr/tools/Common/TypeSystem/Common/CastingHelper.TypeEquivalence.cs (1 line): - line 233: // TODO: Technically this comparison should include custom modifiers on the field signatures src/mono/browser/debugger/DebuggerTestSuite/FirefoxInspectorClient.cs (1 line): - line 181: // FIXME: unnecessary alloc src/coreclr/pal/src/synchobj/event.cpp (1 line): - line 424: // TODO: Implementation of OpenEventA() doesn't exist, do we need it? More generally, do we need the A versions at all? src/coreclr/md/enc/rwutil.cpp (1 line): - line 404: // TODO: Revisit this violation. src/libraries/System.Private.CoreLib/src/System/Boolean.cs (1 line): - line 192: // TODO: Remove once Mono aligns its behavior with CoreCLR around .beforefieldinit eng/testing/coverage.targets (1 line): - line 40: src/coreclr/jit/hwintrinsiccodegenxarch.cpp (1 line): - line 76: // TODO - make more categories to the table-driven framework src/libraries/Common/src/Interop/Android/System.Security.Cryptography.Native.Android/Interop.Bignum.cs (1 line): - line 10: // TODO: [AndroidCrypto] Rename class to AndroidCrypto once all consumers are split in Android vs. Unix src/mono/mono/utils/lock-free-alloc.c (1 line): - line 62: * FIXME: Having more than one allocator per size class is probably src/mono/mono/utils/mono-flight-recorder.c (1 line): - line 119: // FIXME: use hazard pointers here src/coreclr/tools/superpmi/superpmi-shim-counter/superpmi-shim-counter.cpp (1 line): - line 58: // TODO: this only works for ANSI file paths... src/mono/mono/utils/mono-threads-aix.c (1 line): - line 32: /* FIXME: are these the right values? */ src/coreclr/jit/unwind.h (1 line): - line 431: #ifndef TARGET_RISCV64 // TODO COMMENTED OUT BECAUSE s_UnwindSize is not set src/coreclr/vm/peimagelayout.cpp (1 line): - line 81: // TODO: enable on OSX eventually src/mono/mono/utils/mono-threads-windows.c (1 line): - line 534: /* FIXME On cygwin these are not defined */ src/mono/mono/mini/ir-emit.h (1 line): - line 138: * FIXME: zeroing out some fields is not needed with the new IR, but the old src/coreclr/tools/Common/TypeSystem/IL/Stubs/ArrayMethodILEmitter.cs (1 line): - line 202: // TODO: This leaves unused space for lower bounds to match CoreCLR... src/libraries/System.Reflection.Metadata/src/System/Reflection/Metadata/Ecma335/MetadataReaderExtensions.cs (1 line): - line 420: // TODO: https://github.com/dotnet/runtime/issues/17146 src/libraries/System.Net.WebClient/src/System/Net/WebClient.cs (1 line): - line 507: "Content-Disposition: form-data; name=\"file\"; filename=\"" + Path.GetFileName(fileName) + "\"\r\n" + // TODO: Should the filename path be encoded? src/mono/browser/runtime/gc-lock.ts (1 line): - line 10: // TODO https://github.com/dotnet/runtime/issues/100411 src/coreclr/jit/codegenarm64.cpp (1 line): - line 876: // TODO: We could always put integer registers at the higher addresses, if desired, to remove this special src/coreclr/jit/scev.cpp (1 line): - line 1142: // TODO: To match RBO, but RBO should not use liberal VNs src/mono/msbuild/android/build/AndroidBuild.InTree.targets (1 line): - line 10: src/mono/browser/debugger/BrowserDebugProxy/Firefox/FirefoxMonoProxy.cs (1 line): - line 749: //TODO check if res.Error and do something src/libraries/System.Text.RegularExpressions/src/System/Text/RegularExpressions/RegexCompiler.cs (1 line): - line 398: // ReadOnlySpan inputSpan = dynamicMethodArg; // TODO: We can reference the arg directly rather than using another local. src/mono/mono/utils/mono-threads-sunos.c (1 line): - line 43: // TODO: investigate whether to use light weight process lwp ID of keep pthread_self() src/libraries/testPackages/testPackages.proj (1 line): - line 72: TODO: Move this into the package testing targets. src/tasks/WasmAppBuilder/WasmAppBuilder.cs (1 line): - line 430: string monoConfigPath = Path.Combine(runtimeAssetsPath, "blazor.boot.json"); // TODO: Unify with Wasm SDK src/mono/cmake/eglib-config.h.cmake.in (1 line): - line 14: /* FIXME: what should this be ?*/ src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/TensorPrimitives.Acosh.cs (1 line): - line 32: public static bool Vectorizable => false; // TODO: Vectorize src/tasks/WasmAppBuilder/wasi/WasiAppBuilder.cs (1 line): - line 79: // TODO: Files on disk are not solved for IsSingleFileBundle yet src/mono/System.Private.CoreLib/src/System/Threading/ObjectHeader.Mono.cs (1 line): - line 50: // FIXME: volatile? src/coreclr/gcinfo/gcinfodumper.cpp (1 line): - line 477: //TODO: should confirm ? src/coreclr/nativeaot/System.Private.CoreLib/src/System/Threading/Thread.NativeAot.Windows.cs (1 line): - line 381: // TODO: https://github.com/dotnet/runtime/issues/22161 src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEventArgs.cs (1 line): - line 663: // TODO https://github.com/dotnet/runtime/issues/30252#issuecomment-511231055: Try to avoid this extra level of SAEA. src/mono/System.Private.CoreLib/src/System/MulticastDelegate.Mono.cs (1 line): - line 78: // FIXME: This could use some improvements. src/coreclr/utilcode/posterror.cpp (1 line): - line 41: FPGETTHREADUICULTUREID fpGetThreadUICultureId // TODO: Don't rely on the LCID, only the name src/libraries/System.IO.Hashing/src/System/IO/Hashing/XxHash64.State.cs (1 line): - line 102: // TODO: Remove NoInlining when https://github.com/dotnet/runtime/issues/85531 is fixed. src/mono/browser/runtime/startup.ts (1 line): - line 298: // TODO make UI thread not managed/attached https://github.com/dotnet/runtime/issues/100411 src/libraries/System.Net.Http/src/System/Net/Http/BrowserHttpHandler/BrowserHttpHandler.cs (1 line): - line 443: // TODO allocate smaller buffer and call multiple times src/coreclr/pal/src/include/pal/seh.hpp (1 line): - line 91: // TODO: Implement for Mach exceptions. Not in CoreCLR surface area. src/coreclr/nativeaot/Runtime/StackFrameIterator.h (1 line): - line 220: PreservedRegPtrs m_funcletPtrs; // @TODO: Placing the 'scratch space' in the StackFrameIterator is not src/coreclr/jit/block.h (1 line): - line 487: // TODO: Should BBF_RUN_RARELY be added to BBF_SPLIT_GAINED ? src/coreclr/gc/objecthandle.cpp (1 line): - line 1578: // @TODO cwb: wait for compelling performance measurements. src/libraries/System.Data.Common/src/System/Data/Common/DbEnumerator.cs (1 line): - line 50: // TODO: this should throw InvalidOperationException if null src/mono/mono/mini/mini-wasm.c (1 line): - line 26: //FIXME figure out if we need to distingush between i,l,f,d types src/libraries/System.Net.Security/src/System/Net/NegotiateAuthenticationPal.Windows.cs (1 line): - line 336: // TODO: Remove double mapping from Win32 codes src/mono/wasm/host/WebServer.cs (1 line): - line 69: // FIXME: can be simplified to string[] src/libraries/System.Runtime.InteropServices/gen/ComInterfaceGenerator/ComInterfaceGenerator.cs (1 line): - line 178: // TODO: Merge the three InterfaceImplementation partials? We have them all right here. src/libraries/System.Data.OleDb/src/SafeHandles.cs (1 line): - line 750: // TODO: confirm condition with tests src/coreclr/tools/Common/TypeSystem/Common/GenericParameterDesc.cs (1 line): - line 209: // TODO: Determine what a the right hash function should be. Use stable hashcode based on the type name? eng/resolveContract.targets (1 line): - line 87: src/tools/illink/src/linker/Linker.Steps/UnreachableBlocksOptimizer.cs (1 line): - line 1762: // TODO: Handle more types src/coreclr/vm/methodtable.h (1 line): - line 3597: // TODO: figure out how to make these private src/coreclr/tools/Common/TypeSystem/Ecma/EcmaSignatureParser.cs (1 line): - line 290: // TODO: treat PINNED in the signature same as modopts (it matters src/libraries/System.Net.Requests/src/System/Net/FtpDataStream.cs (1 line): - line 59: //TODO: Add this to FxCopBaseline.cs once https://github.com/dotnet/roslyn/issues/15728 is fixed src/mono/mono/mini/objects.cs (1 line): - line 1664: * FIXME: This fails with AOT #703317. src/mono/mono/metadata/marshal.h (1 line): - line 313: EMIT_NATIVE_WRAPPER_AOT = 0x01, /* FIXME: what does "aot" mean here */ src/coreclr/vm/finalizerthread.cpp (1 line): - line 427: // TODO: The following line should be removed after contract violation is fixed. src/coreclr/tools/Common/Compiler/NativeAotNameMangler.cs (1 line): - line 67: // TODO: We assume that there won't be collisions with our own or C++ built-in identifiers. src/libraries/System.Net.Http/src/System/Net/Http/Headers/QPackStaticTable.cs (1 line): - line 9: // TODO: can we put some of this logic into H3StaticTable and/or generate it using data that is already there? src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/ConnectionPool/HttpConnectionPool.Http3.cs (1 line): - line 629: /// TODO: common case will likely be a single value. Optimize for that. src/coreclr/debug/di/breakpoint.cpp (1 line): - line 132: //REVISIT_TODO: is this casting correct for ia64? src/mono/mono/utils/mono-lazy-init.h (1 line): - line 106: // FIXME: This is not coop-friendly. src/native/containers/simdhash-benchmark/benchmark.c (1 line): - line 63: // FIXME: Use clock_monotonic for wall time instead? I think process time is what we want src/coreclr/tools/superpmi/superpmi-shared/spmidumphelper.h (1 line): - line 116: // TODO: display character representation of the types? src/mono/mono/utils/mono-os-mutex.h (1 line): - line 249: // FIXME mono_mutex_t and mono_mutex_recursive_t. src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/DependencyAnalysis/ExternalReferencesTableNode.cs (1 line): - line 96: // TODO: set low bit if the linkage of the symbol is IAT_PVALUE. src/coreclr/tools/Common/InstructionSetHelpers.cs (1 line): - line 200: // TODO: Enable optimistic usage of AVX2 once we validate it doesn't break Vector usage src/mono/mono/metadata/sgen-dynarray.h (1 line): - line 315: } else if (da->array.capacity == 1) // TODO size==1 src/native/eventpipe/ds-ipc-pal-namedpipe.c (1 line): - line 824: // TODO: Add error handling. src/coreclr/tools/aot/ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRunCodegenNodeFactory.cs (1 line): - line 1033: // TODO: cross-bubble RVA field src/libraries/System.Reflection.Emit/src/System/Reflection/Emit/CustomAttributeWrapper.cs (1 line): - line 17: _binaryAttribute = binaryAttribute.ToArray(); // TODO: Update to BlobHandle when public API public APi for MetadataBuilder.GetOrAddBlob(ReadOnlySpan) added