1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[371],{77887:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var n=a(74848),s=a(28453);const i='<nav class="breadcrumb has-arrow-separator" aria-label="breadcrumbs"><ul><li><a href="/docs/api/namespaces/#95420D3AD49404C0"><span>namespace celerity</span></a></li><li><a href="/docs/api/namespaces/#06885D8AE2CD6C63"><span>namespace detail</span></a></li><li><a href="/docs/api/namespaces/#F619A510E58C18DF"><span>namespace out_of_order_engine_detail</span></a></li><li class="is-active"><a aria-current="pageB5C4212DACF58AD9"><span>struct conditional_eagerly_assignable_state</span></a></li></ul></nav>\n<main><h1>struct conditional_eagerly_assignable_state</h1><h2>Declaration</h2><pre class="p-0"><code class="hdoc-record-code language-cpp">struct conditional_eagerly_assignable_state { /* full declaration omitted */ };</code></pre><h2>Description</h2><p><p>Instruction has been inserted into <code>assignment_queue</code>, but has not yet been assigned. After popping it from the queue, it can potentially be assigned by eagerly enqueueing it to the lane where all its remaining predecessors are already assigned to. If a third instruction is submitted to the target lane in the meantime however, assignment will fail, and we revert back to <code>unassigned_state</code>. Implies <code>num_unassigned_predecessors == 0</code>.</p>\n</p><p>Declared at: <a class="is-family-code" href="https://github.com/celerity/celerity-runtime/blob/master/src/out_of_order_engine.cc#L39">src/out_of_order_engine.cc:39</a></p><h2>Member Variables</h2><dl><dt class="is-family-code" id="var_device"> <a href="https://en.cppreference.com/w/cpp/utility/optional">std::optional</a><device_id> <b>device</b></dt><dt class="is-family-code" id="var_lane"> lane_id <b>lane</b> = -1</dt><dt class="is-family-code" id="var_expected_last_submission_on_lane"> <a href="https://en.cppreference.com/w/cpp/utility/optional">std::optional</a><instruction_id> <b>expected_last_submission_on_lane</b></dt></dl></main>',r={hide_title:!0,pagination_next:null,pagination_prev:null,custom_edit_url:null,sidebar_class_name:"sidebar-hidden",title:"struct conditional_eagerly_assignable_state"},o=void 0,c={id:"api/records/B5C4212DACF58AD9",title:"struct conditional_eagerly_assignable_state",description:"",source:"@site/celerity-runtime/docs/api/records/B5C4212DACF58AD9.mdx",sourceDirName:"api/records",slug:"/api/records/B5C4212DACF58AD9",permalink:"/docs/api/records/B5C4212DACF58AD9",draft:!1,unlisted:!1,editUrl:null,tags:[],version:"current",frontMatter:{hide_title:!0,pagination_next:null,pagination_prev:null,custom_edit_url:null,sidebar_class_name:"sidebar-hidden",title:"struct conditional_eagerly_assignable_state"},sidebar:"api"},l={},d=[];function p(e){const{Head:t}={...(0,s.R)(),...e.components};return t||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t,{children:[(0,n.jsx)("script",{src:"/js/highlight.min.js"}),(0,n.jsx)("script",{src:"/js/api_docs.js",defer:!0})]}),"\n",(0,n.jsx)("div",{dangerouslySetInnerHTML:{__html:i}})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},28453:(e,t,a)=>{a.d(t,{R:()=>r,x:()=>o});var n=a(96540);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.