search for: gc_mark

Displaying 4 results from an estimated 4 matches for "gc_mark".

2009 Nov 13
0
[LLVMdev] opt -std-compile-opts breaks tail calls
On Nov 13, 2009, at 3:34 AM, Jon Harrop wrote: >> Point 4 is the one that caused me trouble for some time. >> Unfortunately >> it causes a bad interaction with the optimiser, specifically the >> 'simplifycfg' pass. What seems to happen is that since the function >> you are calling is marked with 'noreturn', the simplifycfg pass will >> then
2009 Nov 13
2
[LLVMdev] opt -std-compile-opts breaks tail calls
...= call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @buf16, i64 0, i64 0)) ; <i32> [#uses=0] %17 = load double ()** @hlvm_time ; <double ()*> [#uses=1] %18 = call double %17() ; <double> [#uses=1] %19 = call fastcc i8* @gc_mark(i32 0) ; <i8*> [#uses=0] %20 = load double* @mark_time ; <double> [#uses=1] %21 = load double ()** @hlvm_time ; <double ()*> [#uses=1] %22 = call double %21() ; <double> [#uses=1] %23 = fadd double %20...
2009 Nov 13
2
[LLVMdev] opt -std-compile-opts breaks tail calls
On Friday 13 November 2009 04:57:43 David Terei wrote: > I've run into some issues with tail calls in the past, make sure you > are doing the following: > > 1. Call should be marked with tail (obviously) > 2. Next statement after tail call should be 'return void' > 3. Use fast call convention for tail calls > 4. Make sure the function you are calling doesn't
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...* number of arg slots for local GC roots */ uint16 nvars; /* number of local variables */ diff --git a/libswfdec/js/jsgc.c b/libswfdec/js/jsgc.c index b25d2b5..88d64ca 100644 --- a/libswfdec/js/jsgc.c +++ b/libswfdec/js/jsgc.c @@ -1214,20 +1214,23 @@ restart: GC_MARK(cx, fp->argsobj, "arguments object", NULL); if (fp->varobj) GC_MARK(cx, fp->varobj, "variables object", NULL); - if (fp->script) { + if (fp->script) js_MarkScript(cx, fp->s...