From c0bbece9a5608ea6a8d064449d6284976a9c6c16 Mon Sep 17 00:00:00 2001 From: Eric Hodel Date: Fri, 8 Aug 2008 12:06:40 -0700 Subject: [PATCH] Replace task_at primitive with task_current_context since that's its only use --- kernel/bootstrap/task.rb | 12 ++---------- runtime/stable/bootstrap.rba | Bin 171806 -> 171244 bytes runtime/stable/core.rba | Bin 1630612 -> 1630610 bytes shotgun/lib/primitives.rb | 27 +++++++-------------------- 4 files changed, 9 insertions(+), 30 deletions(-) diff --git a/kernel/bootstrap/task.rb b/kernel/bootstrap/task.rb index 1a709f8447..61607dbe27 100644 --- a/kernel/bootstrap/task.rb +++ b/kernel/bootstrap/task.rb @@ -21,17 +21,9 @@ def dup Kernel.raise PrimitiveFailure, "primitive failed" end - def at(index) - Ruby.primitive :task_at - Kernel.raise PrimitiveFailure, "primitive failed" - end - - def main - at(0) - end - def current_context - at(1) + Ruby.primitive :task_current_context + Kernel.raise PrimitiveFailure, 'task_current_context primitive failed' end def inspect diff --git a/runtime/stable/bootstrap.rba b/runtime/stable/bootstrap.rba index d59d8fee317e055a6dba8a2a7806e82866b13ddd..fca7ec46f2a4fe829fa473cb4affa6b2a3e909d0 100644 GIT binary patch delta 584 zcmZwDPe_w-7zgk@kLBJiwd9>n-dVDwTru+9pZAYYNv)uw%;8~U)aD$^#oU^6L6@3B zSV2MYK+i?(58w1qg=hHZ zRHGRT2Kvl9UU!3`o3wsH;jTE^`QQLL+;`gspM)Ztee3ntwZzBjknelX&sRS_lXuR` z)d8$SjUE_z8asK6N>d%oLFnL;2XnO4I?V1U>addna+fGXG0@oNs-!3Ksm#T4Ia{ox zG8c-K?4=3?uFL#&1S9-5fh`OA| zS!klQxWu(-km$zyEj-fH#sH#dAQZ4=Sni z67-2}qj&`P=6!2q^0~#N4RBd4I~rkeD~Aez!O_Q{SmlrlTpMdlRji)JdqCY^diiM{ z9iZ}yJa$7XsmF_a_8M&G(J`!W+z&A;l$swrsP*w+0Xr?IP(TkFLGmtkqG3}1V!LE) Pq-k>PC=^Axhzsgpq}sP= delta 683 zcmXw#Ur18{6vlT>>fMIspUqOIrAg$&s{3d6dM7hevhu;TL1dZ#W@ec>6i4||2ANjA zSSLD!X-XmnK@NnQ5LOTrJwzrX^-v;(JxI}05JX+4z8yH{`+eVcR%YxYv-ZoqFpYmJ z>C26HK30wyak}hLZVhCzzX=82=SSPt+i!k%o*(#F_x)W09DQ=l=vzA6yZgF8c_Vq; zL4!%P~(~k$Tfzzt34=ke|6rQ~4;P0d?TR(b9YW+lp+B^(ZSTPzj~QRnmy z{(J?rxb{#>n4^tYK+neGxg#I2MTt%h?c{|jGu^siFMmpd zG)ft=q2e)KAIAuAZ;^=zRHF@aez66zj7T;10lzJQSSIk$Sd+tU;>%X!coaja!D3)z z36jVcOy<%6IC-=dt)LqZYq0@Pm8i5V6IGc@0UWk$kMEhVKsE@VaZodZ9jQVAHN~(tq7P6jq?_rPBuu8SFTBRZQ`iiY@?PY@ zW)oCsWS_(4V2hc?u)1!noWc7*Egxc4X>6C%E_>IC zdUbx;g8AkX#ELN2_CpSLox=$K=!YVbJlSSTo^pc=RgHdrb)hCv;x`vxXvHLQM^mv- krIKh4>LS%eb5`9G(>FF7M2#)7Pc1l7LFFq7OocV7M>Q~Equmz*)5EW49!d}r(f8@ zCeCeYVqt2g00aqK(-lAPiOMH4Fa$YyMzBm14Ok|>B+yQ6e^Qm_;Z9Bcz%C^=HtWe7 zBNf{>-sRiA@h-nZn~-8~Nl|8Ax^hWTd}>8OVqS{Ebp7RAw%Z+31X!+3PqAT^XpgfJ a1Y#i|76xJwAQlB;F(4M-9%m(Cwj2N%6FZUs delta 181 zcmbPqIC;w9F7M2#)7Pc1l7LFFq7OocV7M>Q~Equmzr~8|TvQ0m@giU;U zz+FC8c5?+FNZ^{T_<>JUE}4NL$jLK;Wy-1VU)$E+yXSpFKF{aa<{vNT^NGoFO}|(p zs?@&mF5mWzcljOKgq4CziZb)kl}n1^({d6^N>cL_rt2@~vfb{GBEWKO`qnLMQth!; bfq*~EC$5l+heUHOqT-yohm|7 diff --git a/shotgun/lib/primitives.rb b/shotgun/lib/primitives.rb index 3c8d9e4f16..f6901d539e 100644 --- a/shotgun/lib/primitives.rb +++ b/shotgun/lib/primitives.rb @@ -2747,33 +2747,20 @@ def task_current CODE end - defprim :task_at - def task_at + defprim :task_current_context + def task_current_context <<-CODE - ARITY(1); + ARITY(0); struct cpu_task *task; - OBJECT t1, t2; - native_int k; - GUARD(TASK_P(msg->recv)); - POP(t1, FIXNUM); + OBJECT t1; task = (struct cpu_task*)BYTES_OF(msg->recv); - k = N2I(t1); - switch(k) { - case 0: - t2 = task->main; - break; - case 1: - t2 = task->active_context; - if(REFERENCE_P(t2)) methctx_reference(state, t2); - break; - default: - t2 = Qnil; - } + t1 = task->active_context; + if(REFERENCE_P(t1)) methctx_reference(state, t1); - RET(t2); + RET(t1); CODE end