ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro/State.xs
(Generate patch)

Comparing Coro/Coro/State.xs (file contents):
Revision 1.410 by root, Sun Jun 12 08:14:12 2011 UTC vs.
Revision 1.411 by root, Mon Jun 13 08:38:15 2011 UTC

817 817
818 PUTBACK; 818 PUTBACK;
819 } 819 }
820 820
821 /* allocate some space on the context stack for our purposes */ 821 /* allocate some space on the context stack for our purposes */
822 if (ecb_expect_false (cxstack_ix + SLOT_COUNT >= cxstack_max)) 822 if (ecb_expect_false (cxstack_ix + (int)SLOT_COUNT >= cxstack_max))
823 { 823 {
824 unsigned int i; 824 unsigned int i;
825 825
826 for (i = 0; i < SLOT_COUNT; ++i) 826 for (i = 0; i < SLOT_COUNT; ++i)
827 CXINC; 827 CXINC;
3343#endif 3343#endif
3344 3344
3345#if CORO_JIT 3345#if CORO_JIT
3346 3346
3347static void ecb_noinline ecb_cold 3347static void ecb_noinline ecb_cold
3348pushav_3uv (pTHX_ UV a, UV b, UV c) 3348pushav_4uv (pTHX_ UV a, UV b, UV c, UV d)
3349{ 3349{
3350 dSP; 3350 dSP;
3351 AV *av = newAV (); 3351 AV *av = newAV ();
3352 3352
3353 av_store (av, 3, newSVuv (d));
3353 av_store (av, 2, newSVuv (c)); 3354 av_store (av, 2, newSVuv (c));
3354 av_store (av, 1, newSVuv (b)); 3355 av_store (av, 1, newSVuv (b));
3355 av_store (av, 0, newSVuv (a)); 3356 av_store (av, 0, newSVuv (a));
3356 3357
3357 XPUSHs (sv_2mortal (newRV_noinc ((SV *)av))); 3358 XPUSHs (sv_2mortal (newRV_noinc ((SV *)av)));
3370 int count; 3371 int count;
3371 3372
3372 eval_pv ("require 'Coro/jit-" CORO_JIT_TYPE ".pl'", 1); 3373 eval_pv ("require 'Coro/jit-" CORO_JIT_TYPE ".pl'", 1);
3373 3374
3374 PUSHMARK (SP); 3375 PUSHMARK (SP);
3375#define VARx(name,expr,type) pushav_3uv (aTHX_ (UV)&(expr), offsetof (perl_slots, name), sizeof (type)); 3376#define VARx(name,expr,type) pushav_4uv (aTHX_ (UV)&(expr), sizeof (expr), offsetof (perl_slots, name), sizeof (type));
3376# include "state.h" 3377# include "state.h"
3377#undef VARx 3378#undef VARx
3378 count = call_pv ("Coro::State::_jit", G_ARRAY); 3379 count = call_pv ("Coro::State::_jit", G_ARRAY);
3379 SPAGAIN; 3380 SPAGAIN;
3380 3381

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines