[video member=miotatsu stream_platform=twitch project=book title="2.8 cont." vod_platform=youtube id=XtcV_DqKnNo annotator=Miblo]
[0:01][Recap and set the stage for the day][:speech]
[1:41][:Memory allocation in Linux, using brk][:speech]
[3:20][Chapter 2.8 continued, Allocating Space for New Data on the Heap[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory]
[3:32][Static and automatic storage duration in C][:language :memory :speech]
[7:03][Static storage][:blackboard :language :memory]
[8:48][Static storage, as used in pcalc[ref
    site=GitLab
    page="pcalc"
    url=https://gitlab.com/riscy-business/pcalc]][:language :memory]
[13:06][Global variables, as used in pcalc[ref
    site=GitLab
    page="pcalc"
    url=https://gitlab.com/riscy-business/pcalc]][:language :memory]
[18:15][A general critique of global variables][:language :memory :speech]
[21:19][Uninitialised vs initialised static and automatic storage duration variables in pcalc[ref
    site=GitLab
    page="pcalc"
    url=https://gitlab.com/riscy-business/pcalc] (uninitialised automatic storage duration variables are undefined)][:language :memory]
[32:05][The "auto" keyword in C][:blackboard :language :memory]
[33:47][Chapter 2.8 continued, Allocating Space for New Data on the Heap[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory]
[36:41][Figure 2.13 - The RISC-V :memory allocation for program and data[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:blackboard :isa]
[44:24][The fixed nature of the stack][:blackboard :memory]
[46:41][Tip of the day: Get into sponge mode][:speech]
[47:52][Figure 2.13 continued - The RISC-V :memory allocation for program and data[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:blackboard :isa :research]
[52:09][Chapter 2.8 continued, on :memory allocation[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]]
[52:57][General-purpose :memory allocation and garbage collection][:speech]
[57:48][@krish2nasa][[@miotatsu Mio], are you not interested in Ada programming as it is a more robust and reliable :language? AdaCore now supports RISC-V!]
[59:13][Continued thoughts on :memory allocation and freeing, including swapping to disk and :performance][:speech]
[1:06:01][Legitimate :memory leaking strategies][:performance :speech]
[1:10:59][Dangling pointers, prevented by zeroing out pointers][:memory :performance :speech]
[1:17:30][Garbage collection, as used by pcalc's build.d script[ref
    site=GitLab
    page="pcalc"
    url=https://gitlab.com/riscy-business/pcalc]][:language :memory :performance :speech]
[1:24:18][Chapter 2.8 continued[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]]
[1:25:48][Chapter 2.8 Elaboration 2 - Making the common case, that procedures take eight or fewer parameters, fast[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:memory]
[1:35:55][On needing a frame pointer when a procedure's :memory requirements are not known at compile-time][:speech]
[1:37:26][Figure 2.14 - RISC-V register conventions[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4][ref
    site=RISC-V
    page="User-Level ISA Specification v2.2"
    url=https://riscv.org/specifications]][:isa :memory]
[1:42:38][Chapter 2.8 Elaboration 3 - Implementing recursive procedures iteratively[ref
    title="Computer Organization and Design RISC-V Edition"
    author="David Patterson & John Hennessy"
    publisher="Morgan Kaufmann"
    isbn=9780128122754
    url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:language]
[1:45:41][Implementing a recursive accumulation procedure iteratively][:blackboard :language]
[2:03:54][The "-->" operator (don't try this at home!)][:blackboard :language]
[2:07:08][Completing our recursive-to-iterative accumulation procedure conversion][:blackboard :language]
[2:12:17][Lower the recursive accumulation procedure to assembly[ref
    title="RISC-V Reader"
    author="David Patterson and Andrew Waterman"
    publisher="Strawberry Canyon"
    isbn=9780999249116
    url=http://www.riscvbook.com/]][:asm :blackboard :language]
[2:21:24][We are out of time][:speech]
[2:22:02][@krish2nasa][I think first I need to watch your previous streams in the sequence for a better understanding[ref
    site="RISCY BUSINESS"
    page="Annotated Episode Guide"
    url=https://riscy.handmade.network/episode/coad]]
[2:23:57][End this episode here][:speech]
[/video]
