profile
viewpoint
Jeff Muizelaar jrmuizel Toronto, Canada

bgirard/Gecko-Profiler-Addon 53

Addon to control the Gecko Built-in Profiler

jrmuizel/about-jank 7

Find the jank

ehsan/clangxr 2

A source code indexer for C, C++ and Objective-C based on libcang

jrmuizel/apitrace 1

Graphics API Tracing

jrmuizel/B2G 1

Boot to Gecko aims to create a complete, standalone operating system for the open web.

jrmuizel/actix-net 0

framework for composable networking services

jrmuizel/actix-web 0

Actix web is a small, pragmatic, and extremely fast rust web framework.

create barnchservo/core-foundation-rs

branch : jrmuizel-patch-2

created branch time in 4 hours

create barnchjrmuizel/core-foundation-rs

branch : mstange-test

created branch time in 4 hours

push eventjrmuizel/core-foundation-rs

Jeff Muizelaar

commit sha 597a12983a3dd2dcf5f39abb88d67ab6afbc0ec2

Make CTFontDescriptor Send and Sync and expose attributes()

view details

push time in 11 hours

push eventjrmuizel/raqote

cellfusion

commit sha a4769629a04a691094c57c0c7bf119d89e745f54

fix draw_target::mask()

view details

push time in 14 hours

PR merged jrmuizel/raqote

made Mask struct public
+1 -1

0 comment

1 changed file

cellfusion

pr closed time in 14 hours

push eventjrmuizel/core-foundation-rs

Jeff Muizelaar

commit sha c80b5e7316c48fb9cc511c317d516b595d958a5c

Make CTFontDescriptor Send and Sync and expose attributes()

view details

push time in a day

create barnchjrmuizel/core-foundation-rs

branch : sync-desc

created branch time in a day

push eventjrmuizel/core-foundation-rs

bors-servo

commit sha 20dcdc0970c2eb34046244c366c73c17bb9f0526

Auto merge of #420 - jrmuizel:round-trip, r=jdm Make sure we can round trip data fonts through descriptors.

view details

Jeff Muizelaar

commit sha 2ee8facbd674f8c33e2357c81d2fda6565188abd

Implement Debug on the generic CFDictionary

view details

push time in a day

create barnchjrmuizel/core-foundation-rs

branch : dict-debug

created branch time in a day

pull request commentservo/core-foundation-rs

Test that copying system fonts doesn't change the url

apologies for the garbage macos_version() function

jrmuizel

comment created time in 2 days

push eventjrmuizel/core-foundation-rs

Jeff Muizelaar

commit sha ea0e0dbd90bb350318131f139c42a50f1bfd416a

Test that copying system fonts doesn't change the url

view details

push time in 2 days

create barnchjrmuizel/core-foundation-rs

branch : cfprop-describe

created branch time in 2 days

Pull request review commentservo/core-foundation-rs

Test that copying system fonts doesn't change the url

 fn copy_font() {     assert_eq!(font.family_name(), "Zapf Dingbats"); } +#[test]+fn copy_system_font() {+    let small = unsafe {+        CTFont::wrap_under_create_rule(+        CTFontCreateUIFontForLanguage(kCTFontSystemDetailFontType, 19., std::ptr::null())
thread 'font::copy_system_font' panicked at 'assertion failed: `(left == right)`

  left: `Some(file:///System/Library/Fonts/SFNSDisplay-Regular.otf)`,

 right: `Some(file:///System/Library/Fonts/SFNSText-Regular.otf)`', core-text/src/font.rs:672:5

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

test font::copy_system_font ... FAILED

This was intentional. I plan to use these tests to help document the semantics of these functions.

jrmuizel

comment created time in 2 days

PullRequestReviewEvent

Pull request review commentservo/core-foundation-rs

Test that copying system fonts doesn't change the url

 extern {     fn CTFontCreateWithFontDescriptor(descriptor: CTFontDescriptorRef, size: CGFloat,                                       matrix: *const CGAffineTransform) -> CTFontRef;     //fn CTFontCreateWithFontDescriptorAndOptions-    //fn CTFontCreateUIFontForLanguage+    #[cfg(test)]

I'm currently only using it tests and otherwise we get a warning about it being unused.

jrmuizel

comment created time in 2 days

PullRequestReviewEvent

create barnchjrmuizel/core-foundation-rs

branch : copy-system

created branch time in 2 days

push eventjrmuizel/core-foundation-rs

bors-servo

commit sha e000e130c9861401177e3c4473cbbc6831e57169

Auto merge of #419 - jrmuizel:tv, r=jdm Expand and correct osx versions. xcode7.2 doesn't seem to exist anymore and there doesn't seem to be other 10.10 images available.

view details

Jeff Muizelaar

commit sha 5a9ab37c0183fffe4ab6652f8e3d874f6a62209c

Make sure we can round trip data fonts through descriptors.

view details

push time in 2 days

create barnchjrmuizel/core-foundation-rs

branch : round-trip

created branch time in 2 days

PR opened servo/core-foundation-rs

Expand and correct osx versions.

xcode7.2 doesn't seem to exist anymore and there doesn't seem to be other 10.10 images available.

+11 -4

0 comment

1 changed file

pr created time in 2 days

create barnchjrmuizel/core-foundation-rs

branch : tv

created branch time in 2 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

It looks like rust 1.38 changes some u8 adds to add nuw and this causes causes the problem:

The following patch to the 1.37 ir to make it more like the 1.37 ir is sufficient to trigger the panic.

 --- main.ll	2020-10-26 12:25:05 -0400
+++ main-1.37-nuw.ll	2020-10-26 12:24:24 -0400
@@ -211,7 +211,7 @@
   %color.sroa.13.159.3 = phi i64 [ %53, %bb22.3 ], [ %42, %bb3.i.2 ]
   %iter1.sroa.0.058.3 = phi i8 [ %44, %bb22.3 ], [ 0, %bb3.i.2 ]
   %43 = icmp eq i8 %iter1.sroa.0.058.3, -1
-  %44 = add i8 %iter1.sroa.0.058.3, 1
+  %44 = add nuw i8 %iter1.sroa.0.058.3, 1
   %45 = icmp eq i64 %color.sroa.13.159.3, 0
   br i1 %45, label %panic, label %bb18.3, !prof !13
jrmuizel

comment created time in 2 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

It looks like the standalone version of this test case started panicing back in rust 1.38. My guess is the LLVM11 upgrade caused the initial code to start hitting the broken path.

jrmuizel

comment created time in 2 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

The winehprepare pass in llc from llvm-10 has the same behaviour so it could be that this pass is just exposing a bug that happens earlier in the pipeline.

jrmuizel

comment created time in 3 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

where this transformation happens:

@@ -241,12 +241,8 @@
     %scevgep2 = getelementptr i8, i8* %color.sroa.0.164.in.3, i64 3
     store i8 -128, i8* %scevgep2, align 1
     %_7.i.i.i.i.3 = add i64 %color.sroa.13.163.3, -4
-    %.not.3 = icmp eq i8 %24, 0
     %scevgep3 = getelementptr i8, i8* %color.sroa.0.164.in.3, i64 4
-    br i1 %.not.3, label %bb4.loopexit.3, label %bb2.i.3
-  
-  bb4.loopexit.3:                                   ; preds = %bb19.3
-    ret void
+    br label %bb2.i.3
   }
jrmuizel

comment created time in 3 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

It looks like this difference is introduced in the winehprepare pass.

jrmuizel

comment created time in 3 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

Here's the diff from taking the results from rustc --target x86_64-pc-windows-msvc -O -C codegen-units=1 --emit=llvm-ir out.rs and renaming __CxxFrameHandler3 to __CxxFramHandler3 and then compiling with llc:

--- bad.s	2020-10-25 18:48:19.000000000 -0400
+++ good.s	2020-10-25 18:47:59.000000000 -0400
@@ -12,7 +12,9 @@
 	.endef
 	.p2align	4, 0x90                         # -- Begin function _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h39f1d54c4354cfb7E
 _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h39f1d54c4354cfb7E: # @_ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h39f1d54c4354cfb7E
+.Lfunc_begin0:
 .seh_proc _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h39f1d54c4354cfb7E
+	.seh_handler __CxxFramHandler3, @unwind, @except
 # %bb.0:                                # %start
 	subq	$40, %rsp
 	.seh_stackalloc 40
@@ -23,9 +25,26 @@
 	#NO_APP
 	addq	$40, %rsp
 	retq
+.Lfunc_end0:
 	.seh_handlerdata
 	.text
 	.seh_endproc
+	.section	.xdata,"dr"
+	.p2align	2
+GCC_except_table0:
+.Lexception0:
+	.byte	255                             # @LPStart Encoding = omit
+	.byte	255                             # @TType Encoding = omit
+	.byte	1                               # Call site Encoding = uleb128
+	.uleb128 .Lcst_end0-.Lcst_begin0
+.Lcst_begin0:
+	.uleb128 .Lfunc_begin0-.Lfunc_begin0    # >> Call Site 1 <<
+	.uleb128 .Lfunc_end0-.Lfunc_begin0      #   Call between .Lfunc_begin0 and .Lfunc_end0
+	.byte	0                               #     has no landing pad
+	.byte	0                               #   On action: cleanup
+.Lcst_end0:
+	.p2align	2
+	.text
                                         # -- End function
 	.def	 _ZN3std2rt10lang_start17h44748352664c46c2E;
 	.scl	2;
@@ -107,24 +126,30 @@
 	.endef
 	.p2align	4, 0x90                         # -- Begin function _ZN3out5inner17h353a9cc7a3c23810E
 _ZN3out5inner17h353a9cc7a3c23810E:      # @_ZN3out5inner17h353a9cc7a3c23810E
+.Lfunc_begin1:
 .seh_proc _ZN3out5inner17h353a9cc7a3c23810E
+	.seh_handler __CxxFramHandler3, @unwind, @except
 # %bb.0:                                # %start
 	pushq	%rsi
 	.seh_pushreg %rsi
+	pushq	%rdi
+	.seh_pushreg %rdi
+	pushq	%rbx
+	.seh_pushreg %rbx
 	subq	$32, %rsp
 	.seh_stackalloc 32
 	.seh_endprologue
-	movq	%rcx, %rsi
+	movq	%rcx, %rbx
 	movl	$4096, %ecx                     # imm = 0x1000
 	movl	$1, %edx
 	callq	__rust_alloc_zeroed
 	testq	%rax, %rax
-	je	.LBB5_17
+	je	.LBB5_18
 # %bb.1:                                # %_ZN5alloc3vec9from_elem17h74690dcc847adf77E.exit
-	movq	%rax, (%rsi)
-	movq	$4096, 8(%rsi)                  # imm = 0x1000
-	movq	$4096, 16(%rsi)                 # imm = 0x1000
-	movq	$-4096, %r8                     # imm = 0xF000
+	movq	%rax, (%rbx)
+	movq	$4096, 8(%rbx)                  # imm = 0x1000
+	movq	$4096, 16(%rbx)                 # imm = 0x1000
+	movq	$-4096, %rdx                    # imm = 0xF000
 	xorl	%ecx, %ecx
 	.p2align	4, 0x90
 .LBB5_2:                                # %bb2.i
@@ -137,7 +162,7 @@
 	movb	%cl, 6(%rax)
 	movb	$-128, 7(%rax)
 	addq	$8, %rax
-	addq	$8, %r8
+	addq	$8, %rdx
 	incb	%cl
 	jne	.LBB5_2
 # %bb.3:                                # %bb2.i.1.preheader
@@ -150,16 +175,16 @@
 	movb	%sil, 2(%rax,%rsi,4)
 	movw	$-32640, 3(%rax,%rsi,4)         # imm = 0x8080
 	movb	$-128, 5(%rax,%rsi,4)
-	leal	1(%rsi), %edx
-	movb	%dl, 6(%rax,%rsi,4)
+	leal	1(%rsi), %edi
+	movb	%dil, 6(%rax,%rsi,4)
 	movb	$-128, 7(%rax,%rsi,4)
 	addq	$-8, %rcx
 	addq	$2, %rsi
-	cmpb	$-1, %dl
+	cmpb	$-1, %dil
 	jne	.LBB5_4
 # %bb.5:                                # %bb2.i.2.preheader
 	subq	%rcx, %rax
-	subq	%r8, %rcx
+	subq	%rdx, %rcx
 	xorl	%edx, %edx
 	.p2align	4, 0x90
 .LBB5_6:                                # %bb2.i.2
@@ -177,32 +202,41 @@
 	jne	.LBB5_6
 # %bb.7:                                # %bb2.i.3.preheader
 	xorl	%edx, %edx
-	testq	%rcx, %rcx
-	je	.LBB5_9
 	.p2align	4, 0x90
-.LBB5_13:                               # %bb16.3
+.LBB5_8:                                # %bb2.i.3
                                         # =>This Inner Loop Header: Depth=1
+	testq	%rcx, %rcx
+	je	.LBB5_9
+# %bb.13:                               # %bb16.3
+                                        #   in Loop: Header=BB5_8 Depth=1
 	movb	$-128, (%rax)
 	cmpq	$1, %rcx
 	je	.LBB5_10
 # %bb.14:                               # %bb17.3
-                                        #   in Loop: Header=BB5_13 Depth=1
+                                        #   in Loop: Header=BB5_8 Depth=1
 	leal	1(%rdx), %esi
 	movb	$-128, 1(%rax)
 	cmpq	$3, %rcx
 	jb	.LBB5_11
 # %bb.15:                               # %bb18.3
-                                        #   in Loop: Header=BB5_13 Depth=1
+                                        #   in Loop: Header=BB5_8 Depth=1
 	movb	%dl, 2(%rax)
 	je	.LBB5_12
 # %bb.16:                               # %bb19.3
-                                        #   in Loop: Header=BB5_13 Depth=1
+                                        #   in Loop: Header=BB5_8 Depth=1
 	movb	$-128, 3(%rax)
 	addq	$-4, %rcx
 	addq	$4, %rax
 	movl	%esi, %edx
-	testq	%rcx, %rcx
-	jne	.LBB5_13
+	testb	%sil, %sil
+	jne	.LBB5_8
+# %bb.17:                               # %bb4.loopexit.3
+	movq	%rbx, %rax
+	addq	$32, %rsp
+	popq	%rbx
+	popq	%rdi
+	popq	%rsi
+	retq
 .LBB5_9:                                # %panic
 	leaq	.Lalloc20(%rip), %r8
 	xorl	%ecx, %ecx
@@ -223,14 +257,27 @@
 	movl	$3, %ecx
 	movl	$3, %edx
 	callq	_ZN4core9panicking18panic_bounds_check17h2d25ebb349b8ce6eE
-.LBB5_17:                               # %bb20.i.i.i.i.i
+.LBB5_18:                               # %bb20.i.i.i.i.i
 	movl	$4096, %ecx                     # imm = 0x1000
 	movl	$1, %edx
 	callq	_ZN5alloc5alloc18handle_alloc_error17h71c060cff7245371E
 	int3
+.Lfunc_end1:
 	.seh_handlerdata
 	.text
 	.seh_endproc
+	.section	.xdata,"dr"
+	.p2align	2
+GCC_except_table5:
+.Lexception1:
+	.byte	255                             # @LPStart Encoding = omit
+	.byte	255                             # @TType Encoding = omit
+	.byte	1                               # Call site Encoding = uleb128
+	.uleb128 .Lcst_end1-.Lcst_begin1
+.Lcst_begin1:
+.Lcst_end1:
+	.p2align	2
+	.text
                                         # -- End function
 	.def	 _ZN3out4main17ha1c9ae0fb8136a1fE;
 	.scl	3;
jrmuizel

comment created time in 3 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

Or more specifically, using the name __CxxFrameHandler3 changing the name to __CxxFramHandler3 makes the difference go away.

jrmuizel

comment created time in 3 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

It looks like the codegen difference is caused by the attribute (...)* @__CxxFrameHandler3 vs (%"unwind::libunwind::EXCEPTION_RECORD"*, i8*, %"unwind::libunwind::CONTEXT"*, %"unwind::libunwind::DISPATCHER_CONTEXT"*)* @rust_eh_personality on @_ZN3out5inner17h

jrmuizel

comment created time in 3 days

push eventjrmuizel/raqote

Josh Matthews

commit sha d7e2600a36efc65077d5b311a20d68d24dbfa396

Update font-kit.

view details

push time in 5 days

PR merged jrmuizel/raqote

Update font-kit.
+1 -1

1 comment

1 changed file

jdm

pr closed time in 5 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

Interestingly, there does not seem to be any real differences between the llvm-ir of the two versions which suggests that things are going wrong late in the pipeline.

jrmuizel

comment created time in 5 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

I compared the generated code between x86_64-pc-windows-gnu and x86_64-pc-windows-msvc and the msvc version drops the ret path and has a testq instead of a testb

jrmuizel

comment created time in 5 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

Running the following on win64 with --release and codegen-units=1 panics.

#![allow(non_snake_case)]

fn GetRgbInputBufferImpl(kSwapRB: bool, kHasAlpha: bool) -> (usize, Vec<u8>) {
    let colorSamples = [0, 5, 16, 43, 101, 127, 182, 255];
    let colorSampleMax = colorSamples.len();
    let pixelSize = if kHasAlpha { 4 } else { 3 };
    let pixelCount = colorSampleMax * colorSampleMax * 256 * 3;

    let mut outBuffer = vec![0; pixelCount * pixelSize];

    let kRIndex = if kSwapRB { 2 } else { 0 };
    let kGIndex = 1;
    let kBIndex = if kSwapRB { 0 } else { 2 };
    let kAIndex = 3;

    // Sample every blue pixel value with a subset of red and green.
    let mut color = &mut outBuffer[..];
    for &r in colorSamples.iter() {
        for &g in colorSamples.iter() {
            for b in 0..=255 {
                color[kRIndex] = r;
                color[kGIndex] = g;
                color[kBIndex] = b;
                if kHasAlpha {
                    color[kAIndex] = 0x80;
                }
                color = &mut color[pixelSize..];
            }
        }
    }

    (pixelCount, outBuffer)
}

fn GetRgbInputBuffer() -> (usize, Vec<u8>) {
    GetRgbInputBufferImpl(false, false)
}

fn GetBgraInputBuffer() -> (usize, Vec<u8>) {
    GetRgbInputBufferImpl(true, true)
}

fn main() {
    GetRgbInputBuffer();
    GetBgraInputBuffer();
}

jrmuizel

comment created time in 5 days

issue commentrust-lang/rust

Upgrade to LLVM11 caused a codegen regression on Windows

I can now reproduce this locally. I'll try to come up with a standalone test case.

jrmuizel

comment created time in 6 days

issue openedrust-lang/rust

Upgrade to LLVM11 caused a codegen regression

The following code is panicing for me in CI. I haven't been able to reproduce it locally, but we bisected it to #73526 (the LLVM 11 upgrade).

Code

    fn GetRgbInputBufferImpl(kSwapRB: bool, kHasAlpha: bool) -> (usize, Vec<u8>) {
        let colorSamples = [0, 5, 16, 43, 101, 127, 182, 255];
        let colorSampleMax = colorSamples.len();
        let pixelSize = if kHasAlpha { 4 } else { 3 };
        let pixelCount = colorSampleMax * colorSampleMax * 256 * 3;

        let mut outBuffer = vec![0; pixelCount * pixelSize];

        let kRIndex = if kSwapRB { 2 } else { 0 };
        let kGIndex = 1;
        let kBIndex = if kSwapRB { 0 } else { 2 };
        let kAIndex = 3;

        // Sample every red pixel value with a subset of green and blue.
        let mut color = &mut outBuffer[..];
        for r in 0..=255 {
            for &g in colorSamples.iter() {
                for &b in colorSamples.iter() {
                    color[kRIndex] = r;
                    color[kGIndex] = g;
                    color[kBIndex] = b;
                    if kHasAlpha {
                        color[kAIndex] = 0x80;
                    }
                    color = &mut color[pixelSize..];
                }
            }
        }

        // Sample every green pixel value with a subset of red and blue.
        let mut color = &mut outBuffer[..];
        for &r in colorSamples.iter() {
            for g in 0..=255 {
                for &b in colorSamples.iter() {
                    color[kRIndex] = r;
                    color[kGIndex] = g;
                    color[kBIndex] = b;
                    if kHasAlpha {
                        color[kAIndex] = 0x80;
                    }
                    color = &mut color[pixelSize..];
                }
            }
        }

        // Sample every blue pixel value with a subset of red and green.
        let mut color = &mut outBuffer[..];
        let mut i = 0;
        for &r in colorSamples.iter() {
            for &g in colorSamples.iter() {
                for b in 0..=255 {
                    if color.len() == 0 {
                        dbg!((i, r, g, b));
                    }
                    color[kRIndex] = r;
                    color[kGIndex] = g;
                    color[kBIndex] = b;
                    if kHasAlpha {
                        color[kAIndex] = 0x80;
                    }
                    i += pixelSize;
                    color = &mut color[pixelSize..];
                }
            }
        }

        (pixelCount, outBuffer)
    }
[task 2020-10-23T03:49:58.569Z] 03:49:58     INFO -  ---- gtest::test::sRGB_to_sRGB_precache stdout ----
[task 2020-10-23T03:49:58.569Z] 03:49:58     INFO -  [gfx\qcms\src\gtest.rs:455] (i, r, g, b) = (
[task 2020-10-23T03:49:58.570Z] 03:49:58     INFO -      147456,
[task 2020-10-23T03:49:58.571Z] 03:49:58     INFO -      0,
[task 2020-10-23T03:49:58.571Z] 03:49:58     INFO -      0,
[task 2020-10-23T03:49:58.572Z] 03:49:58     INFO -      0,
[task 2020-10-23T03:49:58.573Z] 03:49:58     INFO -  )
[task 2020-10-23T03:49:58.573Z] 03:49:58     INFO -  thread 'gtest::test::sRGB_to_sRGB_precache' panicked at 'index out of bounds: the len is 0 but the index is 0', gfx\qcms\src\gtest.rs:457:21
[task 2020-10-23T03:49:58.574Z] 03:49:58     INFO -  stack backtrace:
[task 2020-10-23T03:49:58.574Z] 03:49:58     INFO -     0:     0x7ff7b5a789de - std::backtrace_rs::backtrace::dbghelp::trace
[task 2020-10-23T03:49:58.575Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:108
[task 2020-10-23T03:49:58.576Z] 03:49:58     INFO -     1:     0x7ff7b5a789de - std::backtrace_rs::backtrace::trace_unsynchronized
[task 2020-10-23T03:49:58.576Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
[task 2020-10-23T03:49:58.577Z] 03:49:58     INFO -     2:     0x7ff7b5a789de - std::sys_common::backtrace::_print_fmt
[task 2020-10-23T03:49:58.578Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\sys_common\backtrace.rs:67
[task 2020-10-23T03:49:58.578Z] 03:49:58     INFO -     3:     0x7ff7b5a789de - std::sys_common::backtrace::_print::{{impl}}::fmt
[task 2020-10-23T03:49:58.579Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\sys_common\backtrace.rs:46
[task 2020-10-23T03:49:58.580Z] 03:49:58     INFO -     4:     0x7ff7b5a8da2b - core::fmt::write
[task 2020-10-23T03:49:58.580Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\core\src\fmt\mod.rs:1076
[task 2020-10-23T03:49:58.581Z] 03:49:58     INFO -     5:     0x7ff7b5a388c8 - std::io::Write::write_fmt<test::helpers::sink::Sink>
[task 2020-10-23T03:49:58.581Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\io\mod.rs:1516
[task 2020-10-23T03:49:58.582Z] 03:49:58     INFO -     6:     0x7ff7b5a71fe1 - std::io::impls::{{impl}}::write_fmt<Write>
[task 2020-10-23T03:49:58.583Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\io\impls.rs:179
[task 2020-10-23T03:49:58.583Z] 03:49:58     INFO -     7:     0x7ff7b5a7bc8d - std::sys_common::backtrace::_print
[task 2020-10-23T03:49:58.584Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\sys_common\backtrace.rs:49
[task 2020-10-23T03:49:58.585Z] 03:49:58     INFO -     8:     0x7ff7b5a7bc8d - std::sys_common::backtrace::print
[task 2020-10-23T03:49:58.585Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\sys_common\backtrace.rs:36
[task 2020-10-23T03:49:58.586Z] 03:49:58     INFO -     9:     0x7ff7b5a7bc8d - std::panicking::default_hook::{{closure}}
[task 2020-10-23T03:49:58.586Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\panicking.rs:208
[task 2020-10-23T03:49:58.587Z] 03:49:58     INFO -    10:     0x7ff7b5a7b807 - std::panicking::default_hook
[task 2020-10-23T03:49:58.588Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\panicking.rs:224
[task 2020-10-23T03:49:58.588Z] 03:49:58     INFO -    11:     0x7ff7b5a7c53f - std::panicking::rust_panic_with_hook
[task 2020-10-23T03:49:58.589Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\panicking.rs:577
[task 2020-10-23T03:49:58.589Z] 03:49:58     INFO -    12:     0x7ff7b5a7c0a5 - std::panicking::begin_panic_handler::{{closure}}
[task 2020-10-23T03:49:58.590Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\panicking.rs:484
[task 2020-10-23T03:49:58.591Z] 03:49:58     INFO -    13:     0x7ff7b5a7931f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
[task 2020-10-23T03:49:58.591Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\sys_common\backtrace.rs:141
[task 2020-10-23T03:49:58.592Z] 03:49:58     INFO -    14:     0x7ff7b5a7c059 - std::panicking::begin_panic_handler
[task 2020-10-23T03:49:58.592Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\panicking.rs:483
[task 2020-10-23T03:49:58.593Z] 03:49:58     INFO -    15:     0x7ff7b5a8c1f0 - core::panicking::panic_fmt
[task 2020-10-23T03:49:58.594Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\core\src\panicking.rs:85
[task 2020-10-23T03:49:58.594Z] 03:49:58     INFO -    16:     0x7ff7b5a8c1b7 - core::panicking::panic_bounds_check
[task 2020-10-23T03:49:58.595Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\core\src\panicking.rs:62
[task 2020-10-23T03:49:58.596Z] 03:49:58     INFO -    17:     0x7ff7b5a2818d - qcms::gtest::test::GetRgbInputBufferImpl
[task 2020-10-23T03:49:58.596Z] 03:49:58     INFO -                                 at z:\build\build\src\gfx\qcms\src\gtest.rs:457
[task 2020-10-23T03:49:58.597Z] 03:49:58     INFO -    18:     0x7ff7b5a2213c - qcms::gtest::test::GetRgbInputBuffer
[task 2020-10-23T03:49:58.597Z] 03:49:58     INFO -                                 at z:\build\build\src\gfx\qcms\src\gtest.rs:473
[task 2020-10-23T03:49:58.598Z] 03:49:58     INFO -    19:     0x7ff7b5a2213c - qcms::gtest::test::QcmsProfileTest::SetBuffers
[task 2020-10-23T03:49:58.598Z] 03:49:58     INFO -                                 at z:\build\build\src\gfx\qcms\src\gtest.rs:610
[task 2020-10-23T03:49:58.599Z] 03:49:58     INFO -    20:     0x7ff7b5a2213c - qcms::gtest::test::QcmsProfileTest::TransformPrecache
[task 2020-10-23T03:49:58.599Z] 03:49:58     INFO -                                 at z:\build\build\src\gfx\qcms\src\gtest.rs:695
[task 2020-10-23T03:49:58.600Z] 03:49:58     INFO -    21:     0x7ff7b5a2213c - qcms::gtest::test::sRGB_to_sRGB_precache
[task 2020-10-23T03:49:58.601Z] 03:49:58     INFO -                                 at z:\build\build\src\gfx\qcms\src\gtest.rs:797
[task 2020-10-23T03:49:58.601Z] 03:49:58     INFO -    22:     0x7ff7b5a2213c - qcms::gtest::test::sRGB_to_sRGB_precache::{{closure}}
[task 2020-10-23T03:49:58.602Z] 03:49:58     INFO -                                 at z:\build\build\src\gfx\qcms\src\gtest.rs:791
[task 2020-10-23T03:49:58.602Z] 03:49:58     INFO -    23:     0x7ff7b5a2213c - core::ops::function::FnOnce::call_once<closure-0,tuple<>>
[task 2020-10-23T03:49:58.603Z] 03:49:58     INFO -                                 at Z:\task_1603423771\fetches\rustc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227
[task 2020-10-23T03:49:58.603Z] 03:49:58     INFO -    24:     0x7ff7b5a68b16 - core::ops::function::FnOnce::call_once
[task 2020-10-23T03:49:58.604Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\core\src\ops\function.rs:227
[task 2020-10-23T03:49:58.605Z] 03:49:58     INFO -    25:     0x7ff7b5a68b16 - test::__rust_begin_short_backtrace<fn()>
[task 2020-10-23T03:49:58.606Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\test\src\lib.rs:517
[task 2020-10-23T03:49:58.606Z] 03:49:58     INFO -    26:     0x7ff7b5a6645e - alloc::boxed::{{impl}}::call_once
[task 2020-10-23T03:49:58.607Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\alloc\src\boxed.rs:1042
[task 2020-10-23T03:49:58.607Z] 03:49:58     INFO -    27:     0x7ff7b5a6645e - std::panic::{{impl}}::call_once
[task 2020-10-23T03:49:58.608Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panic.rs:308
[task 2020-10-23T03:49:58.608Z] 03:49:58     INFO -    28:     0x7ff7b5a6645e - std::panicking::try::do_call
[task 2020-10-23T03:49:58.609Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panicking.rs:381
[task 2020-10-23T03:49:58.610Z] 03:49:58     INFO -    29:     0x7ff7b5a6645e - std::panicking::try
[task 2020-10-23T03:49:58.610Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panicking.rs:345
[task 2020-10-23T03:49:58.611Z] 03:49:58     INFO -    30:     0x7ff7b5a6645e - std::panic::catch_unwind
[task 2020-10-23T03:49:58.612Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panic.rs:382
[task 2020-10-23T03:49:58.612Z] 03:49:58     INFO -    31:     0x7ff7b5a6645e - test::run_test_in_process
[task 2020-10-23T03:49:58.613Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\test\src\lib.rs:544
[task 2020-10-23T03:49:58.613Z] 03:49:58     INFO -    32:     0x7ff7b5a6645e - test::run_test::run_test_inner::{{closure}}
[task 2020-10-23T03:49:58.614Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\test\src\lib.rs:450
[task 2020-10-23T03:49:58.614Z] 03:49:58     INFO -    33:     0x7ff7b5a37bd6 - std::sys_common::backtrace::__rust_begin_short_backtrace<closure-0,tuple<>>
[task 2020-10-23T03:49:58.615Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\sys_common\backtrace.rs:125
[task 2020-10-23T03:49:58.615Z] 03:49:58     INFO -    34:     0x7ff7b5a37bd6 - std::sys_common::backtrace::__rust_begin_short_backtrace<closure-0,tuple<>>
[task 2020-10-23T03:49:58.616Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\sys_common\backtrace.rs:125
[task 2020-10-23T03:49:58.617Z] 03:49:58     INFO -    35:     0x7ff7b5a3e93e - std::thread::{{impl}}::spawn_unchecked::{{closure}}::{{closure}}
[task 2020-10-23T03:49:58.617Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\thread\mod.rs:470
[task 2020-10-23T03:49:58.618Z] 03:49:58     INFO -    36:     0x7ff7b5a3e93e - std::panic::{{impl}}::call_once
[task 2020-10-23T03:49:58.618Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panic.rs:308
[task 2020-10-23T03:49:58.619Z] 03:49:58     INFO -    37:     0x7ff7b5a3e93e - std::panicking::try::do_call
[task 2020-10-23T03:49:58.620Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panicking.rs:381
[task 2020-10-23T03:49:58.621Z] 03:49:58     INFO -    38:     0x7ff7b5a3e93e - std::panicking::try
[task 2020-10-23T03:49:58.622Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panicking.rs:345
[task 2020-10-23T03:49:58.623Z] 03:49:58     INFO -    39:     0x7ff7b5a3e93e - std::panic::catch_unwind
[task 2020-10-23T03:49:58.623Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\panic.rs:382
[task 2020-10-23T03:49:58.624Z] 03:49:58     INFO -    40:     0x7ff7b5a3e93e - std::thread::{{impl}}::spawn_unchecked::{{closure}}
[task 2020-10-23T03:49:58.625Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\std\src\thread\mod.rs:469
[task 2020-10-23T03:49:58.626Z] 03:49:58     INFO -    41:     0x7ff7b5a3e93e - core::ops::function::FnOnce::call_once<closure-0,tuple<>>
[task 2020-10-23T03:49:58.627Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\core\src\ops\function.rs:227
[task 2020-10-23T03:49:58.627Z] 03:49:58     INFO -    42:     0x7ff7b5a85627 - alloc::boxed::{{impl}}::call_once
[task 2020-10-23T03:49:58.628Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\alloc\src\boxed.rs:1042
[task 2020-10-23T03:49:58.629Z] 03:49:58     INFO -    43:     0x7ff7b5a85627 - alloc::boxed::{{impl}}::call_once
[task 2020-10-23T03:49:58.630Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\library\alloc\src\boxed.rs:1042
[task 2020-10-23T03:49:58.630Z] 03:49:58     INFO -    44:     0x7ff7b5a85627 - std::sys::windows::thread::{{impl}}::new::thread_start
[task 2020-10-23T03:49:58.631Z] 03:49:58     INFO -                                 at /rustc/31530e5d132ebcc3654baf2e5460599681520af0\/library\std\src\sys\windows\thread.rs:56
[task 2020-10-23T03:49:58.631Z] 03:49:58     INFO -    45:     0x7ffe280e13d2 - BaseThreadInitThunk
[task 2020-10-23T03:49:58.631Z] 03:49:58     INFO -    46:     0x7ffe2a1c54e4 - RtlUserThreadStart

It still fails on Nightly.

https://bugzilla.mozilla.org/show_bug.cgi?id=1672813 has some more details.

created time in 6 days

push eventjrmuizel/gpu-db

Jeff Muizelaar

commit sha 5fd83b5da0fc1c3d57437fdfdceb7b3903dd78e4

Update nvidia.json

view details

push time in 6 days

issue commentrust-lang/rust

split_at fails to optimize bounds check

I filed the gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97529

lcnr

comment created time in 7 days

issue commentfschutt/printpdf

Status of the rusttype dependency

Is there a reason to stick with rusttype 0.8?

No, but see #28 - it's just that nobody has implemented it (yet) and upgrading to 0.9 was a bit difficult.

You could theoretically use ttf-parser, but that limits you to TTF fonts. I had originally hoped that rusttype would add support for OTF fonts. This hasn't happened.

ttf-parser supports OTF fonts. rusttype gained support with the switch to ttf-parser.

The current capabilities of RustType:

    Reading OpenType formatted fonts and font collections. This includes *.ttf as well as *.otf font files.
robinkrahl

comment created time in 7 days

create barnchjrmuizel/core-foundation-rs

branch : copy-attrs

created branch time in 7 days

startedMolecularAI/aizynthfinder

started time in 8 days

push eventjrmuizel/gpu-db

Jeff Muizelaar

commit sha 4565a26f3a02b41b55658627775fb999694d0579

Split out gen8lp and gen9lp

view details

push time in 8 days

startedbrenocfg/AnghaBench

started time in 8 days

issue commentjrmuizel/minpng

Leaks everywhere

Yeah, this is sort of intentional (it's easier to leak). That being said, I'd accept a PR that fixed them if it wasn't too intrusive.

API-Beast

comment created time in 8 days

startedEmill/ido-static-recomp

started time in 11 days

push eventjrmuizel/inverse-elliptic

Jeff Muizelaar

commit sha cc7673ad3df0e41b6edd3e97e4fac627681c0f41

Add README

view details

push time in 11 days

issue openedlanguagetool-org/languagetool

No errors detected in "Is this something you could you get Mark to do it when he's here next?"

Gmail correctly notices and has the proper suggestion for both errors.

created time in 11 days

issue closedjrmuizel/raqote

Plz bump `sw-composite` version to `0.7.14`

Im getting the dreaded

thread 'main' panicked at 'attempt to add with overflow', /home/xxx/.cargo/registry/src/github.com-1ecc6299db9ec823/sw-composite-0.7.13/src/lib.rs:806:42

on debug, but it goes away with raqote patched to 0.7.14. Presumably thanks to https://github.com/jrmuizel/sw-composite/pull/10.

Can the version be booped plz?

closed time in 13 days

twitchyliquid64

issue commentjrmuizel/raqote

Plz bump `sw-composite` version to `0.7.14`

Done.

twitchyliquid64

comment created time in 13 days

push eventjrmuizel/raqote

Jeff Muizelaar

commit sha 60b2eb5ecc507f2822c12916d407f3be65c3bee5

Bump sw-composite requirement to get fixed version of over_in

view details

push time in 13 days

PR opened linebender/druid

Remove unused cairo-rs dependency from macOS
+0 -1

0 comment

1 changed file

pr created time in 14 days

create barnchjrmuizel/druid

branch : macos-cairo

created branch time in 14 days

fork jrmuizel/druid

A data-first Rust-native UI design toolkit.

https://linebender.org/druid/

fork in 14 days

PR opened servo/core-foundation-rs

Fix the type of Arc::from_raw().

Previously we were mistakenly creating an Arc<c_void> instead of an Arc<T>. This also changes the test to catch this problem.

+4 -3

0 comment

1 changed file

pr created time in 14 days

create barnchjrmuizel/core-foundation-rs

branch : from-buffer

created branch time in 14 days

delete tag servo/core-foundation-rs

delete tag : from-void-borrow

delete time in 14 days

created tagservo/core-foundation-rs

tagfrom-void-borrow

Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS

created time in 14 days

created tagservo/core-foundation-rs

tagcore-foundation-sys-v0.8.2

Rust bindings to Core Foundation and other low level libraries on Mac OS X and iOS

created time in 14 days

pull request commentservo/core-foundation-rs

Fix the definition of CFAllocatorContext

@jdm can you do a new release of core-foundation-sys?

jrmuizel

comment created time in 15 days

issue closedservo/core-foundation-rs

CFAllocatorContext's members should be nullable

i.e. instead of release: CFAllocatorReleaseCallBack it should be declared as release: Option<CFAllocatorReleaseCallBack>

closed time in 15 days

jrmuizel

issue commentservo/core-foundation-rs

CFAllocatorContext's members should be nullable

Fixed by c55fd48fbeef2ed353e3a3e6f8bbfb483c098b32

jrmuizel

comment created time in 15 days

PR opened servo/core-foundation-rs

Fix the definition of CFAllocatorContext

The function pointers can be null so should be wrapped in Option.

This struct was basically unusable before so I think we should be fine making this change while only bumping the patch version. I was unable to find any uses of it on github.

+8 -8

0 comment

2 changed files

pr created time in 15 days

create barnchjrmuizel/core-foundation-rs

branch : allocator

created branch time in 15 days

issue openedservo/core-foundation-rs

CFAllocatorContext's members should be nullable

i.e. instead of release: CFAllocatorReleaseCallBack it should be declared as release: Option<CFAllocatorReleaseCallBack>

created time in 15 days

issue commentrust-lang/crates.io

https://crates.io/search?q=truetype results are poorly ordered

Why does stb_truetype_bugfix_19072017 get listed before stb_truetype? Is there a description or documentation for how the relevance metric is computed?

jrmuizel

comment created time in 16 days

issue closedjrmuizel/sw-composite

'attempt to add with overflow' debug build panic in over_in

Everything looks fine in release mode, but debug mode panics:

thread 'main' panicked at 'attempt to add with overflow', /home/greg/.local/share/cargo/registry/src/github.com-1ecc6299db9ec823/sw-composite-0.7.13/src/lib.rs:806:42
…
    frame #11: 0x000000000237cf68 waysmoke-shell`core::panicking::panic::h5b4b6ac69a997595 at panicking.rs:50:5
    frame #12: 0x0000000001a60199 waysmoke-shell`sw_composite::over_in::hb198b3b7ec818460(src=3552413960, dst=4294570091, alpha=80) at lib.rs:806:42
    frame #13: 0x0000000001a5aaf2 waysmoke-shell`_$LT$raqote..blitter..ShaderMaskBlitter$u20$as$u20$raqote..blitter..Blitter$GT$::blit_span::h9cc2d696c7b48d5f(self=0x00007fffffff2178, y=14, x1=13, x2=83, mask=(data_ptr = "p\xff\xff\xff\xff\
xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\
xff\xff\xff\xffP\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff
\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x80\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"..., le
ngth = 70)) at blitter.rs:468:68
    frame #14: 0x0000000001a54d71 waysmoke-shell`raqote::draw_target::DrawTarget::composite::had55f8711618d9f3(self=0x00007fffffff3848, src=0x00007fffffff2698, mask=Option<&[u8]> @ 0x00007fffffff2030, mask_rect=Box2D<i32, euclid::UnknownUni
t> @ 0x00007fffffff2440, rect=Box2D<i32, euclid::UnknownUnit> @ 0x00007fffffff2450, blend=SrcOver, alpha=1) at draw_target.rs:957:21
    frame #15: 0x0000000001a53701 waysmoke-shell`raqote::draw_target::DrawTarget::fill::ha2683e20c760f954(self=0x00007fffffff3848, path=0x00007fffffff2e98, src=0x00007fffffff2698, options=0x00007fffffff2f08) at draw_target.rs:701:17
    frame #16: 0x00000000017d876b waysmoke-shell`resvg::backend_raqote::style::fill::h097bbfabc91d0347(tree=0x00007fffffff3028, path=0x00007fffffff2e98, fill=0x000000081776db18, opt=0x00007fffffff3940, bbox=(x = 17.999999999999996, y = 190,
 width = 92, height = 64), draw_opt=0x00007fffffff2f08, dt=0x00007fffffff3848) at style.rs:52:9
    frame #17: 0x00000000017c7f7f waysmoke-shell`resvg::backend_raqote::path::draw::ha343e1c702166052(tree=0x00007fffffff3028, path=0x000000081776dad0, opt=0x00007fffffff3940, draw_opt=(blend_mode = SrcOver, alpha = 1, antialias = Gray), dt
=0x00007fffffff3848) at path.rs:45:5
    frame #18: 0x00000000017edc1a waysmoke-shell`resvg::backend_raqote::render_node::hcd825410bd8c58e4(node=0x00007fffffff3170, opt=0x00007fffffff3940, state=0x00007fffffff3640, layers=0x00007fffffff3498, dt=0x00007fffffff3848) at mod.rs:26
0:13
    frame #19: 0x00000000017edf31 waysmoke-shell`resvg::backend_raqote::render_group::hfda3682948b0fe56(parent=0x00007fffffff36b0, opt=0x00007fffffff3940, state=0x00007fffffff3640, layers=0x00007fffffff3498, dt=0x00007fffffff3848) at mod.rs
:297:20
    frame #20: 0x00000000017edbb2 waysmoke-shell`resvg::backend_raqote::render_node::hcd825410bd8c58e4(node=0x00007fffffff36b0, opt=0x00007fffffff3940, state=0x00007fffffff3640, layers=0x00007fffffff3498, dt=0x00007fffffff3848) at mod.rs:25
7:13
    frame #21: 0x00000000017ed811 waysmoke-shell`resvg::backend_raqote::render_node_to_canvas_impl::h76c7af141e760c77(node=0x00007fffffff36b0, opt=0x00007fffffff3940, view_box=ViewBox @ 0x00007fffffff3618, img_size=(width = 96, height = 96)
, state=0x00007fffffff3640, dt=0x00007fffffff3848) at mod.rs:223:5
    frame #22: 0x00000000017ed688 waysmoke-shell`resvg::backend_raqote::render_node_to_canvas::h50831ce3aa7ee999(node=0x00007fffffff36b0, opt=0x00007fffffff3940, view_box=<unavailable>, img_size=(width = 96, height = 96), dt=0x00007fffffff3
848) at mod.rs:203:5
    frame #23: 0x00000000017ed5e5 waysmoke-shell`resvg::backend_raqote::render_to_canvas::hf35c68c791cbc684(tree=0x000000081193cf48, opt=0x00007fffffff3940, img_size=(width = 96, height = 96), dt=0x00007fffffff3848) at mod.rs:192:5
…
(lldb) fr sel 12
frame #12: 0x0000000001a60199 waysmoke-shell`sw_composite::over_in::hb198b3b7ec818460(src=3552413960, dst=4294570091, alpha=80) at lib.rs:806:42
   803      let dst_ag = ((dst >> 8) & mask) * dst_alpha;
   804
   805      // we sum src and dst before reducing to 8 bit to avoid accumulating rounding errors
-> 806      (((src_rb + dst_rb) >> 8) & mask) | ((src_ag + dst_ag) & !mask)
   807  }
   808
   809  pub fn over_in_legacy_lerp(src: u32, dst: u32, alpha: u32) -> u32 {
(lldb) fr v
(unsigned int) src = 3552413960
(unsigned int) dst = 4294570091
(unsigned int) alpha = 80
(unsigned int) src_alpha = 81
(unsigned int) dst_alpha = 190
(unsigned int) mask = 16711935
(unsigned int) src_rb = 1003291272
(unsigned int) src_ag = 1120086873
(unsigned int) dst_rb = 3100528490
(unsigned int) dst_ag = 3175264800

closed time in 17 days

myfreeweb

issue commentjrmuizel/sw-composite

'attempt to add with overflow' debug build panic in over_in

Should be fixed by 8da6a9171cca3f738fd2e5b30dc85a0eae8773eb

myfreeweb

comment created time in 17 days

created tagjrmuizel/sw-composite

tagv0.7.14

Some software compositing routines in rust

created time in 17 days

push eventjrmuizel/sw-composite

Jeff Muizelaar

commit sha be087eb7d584420d97e8e2523b81557f6f259f7e

Bump version

view details

push time in 17 days

push eventjrmuizel/sw-composite

Jeff Muizelaar

commit sha 8da6a9171cca3f738fd2e5b30dc85a0eae8773eb

Fix overflow over_in.

view details

push time in 17 days

issue commentjrmuizel/sw-composite

'attempt to add with overflow' debug build panic in over_in

Ok, yeah, it looks like over_in re-implementation has some problems.

myfreeweb

comment created time in 17 days

issue commentjrmuizel/sw-composite

'attempt to add with overflow' debug build panic in over_in

What version of sw_composite are you using?

myfreeweb

comment created time in 19 days

pull request commentjrmuizel/pdf-extract

fix missing unicode map entries

It looks like there's a bunch of other stuff in this change. Is that intentional?

llogiq

comment created time in 21 days

pull request commentservo/webrender

Sync changes from mozilla-central gfx/wr

Should be fixed by https://bugzilla.mozilla.org/show_bug.cgi?id=1669726

moz-gfx

comment created time in 21 days

pull request commentservo/webrender

Sync changes from mozilla-central gfx/wr

This is failing because of the weak table test. I'll try to fix it.

moz-gfx

comment created time in 22 days

startedfredrik-johansson/calcium

started time in 22 days

pull request commentservo/core-foundation-rs

feat(CFNumber): change `CFNumberType` from static to const, to improve match expression ergonomics

Is there any way that this change can break existing code? i.e. do we need to bump the version for it?

sassman

comment created time in 22 days

pull request commentservo/core-foundation-rs

add `CFNumberGetType` to determine specific number type

@bors-servo r+

sassman

comment created time in 22 days

issue commentrust-lang/rust

An extra memcpy with -Zmir-opt-level=2

Here's the llvm-ir for mir-opt-level: 1

define void @_ZN7example1g17h14264d45cdc1c8ddE(i8* noalias readonly align 1 dereferenceable_or_null(1) %clip) unnamed_addr #1 !dbg !18 {
start:
  %_9 = alloca %SpecificDisplayItem, align 8
  %_8 = alloca %DI, align 8
  %item = alloca %SpecificDisplayItem, align 8
  %_2 = call align 1 dereferenceable(1) i8* @"_ZN4core6option15Option$LT$T$GT$6unwrap17hd51eb875dba3900fE"(i8* noalias readonly align 1 dereferenceable_or_null(1) %clip, %"std::panic::Location"* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @alloc21 to %"std::panic::Location"*)), !dbg !21
  br label %bb1, !dbg !21

bb1:                                              ; preds = %start
  %0 = bitcast %SpecificDisplayItem* %item to i64*, !dbg !22
  store i64 0, i64* %0, align 8, !dbg !22
  %1 = bitcast %SpecificDisplayItem* %_9 to i8*, !dbg !23
  %2 = bitcast %SpecificDisplayItem* %item to i8*, !dbg !23
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %1, i8* align 8 %2, i64 184, i1 false), !dbg !23
  %3 = bitcast %DI* %_8 to %SpecificDisplayItem*, !dbg !24
  %4 = bitcast %SpecificDisplayItem* %3 to i8*, !dbg !24
  %5 = bitcast %SpecificDisplayItem* %_9 to i8*, !dbg !24
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %4, i8* align 8 %5, i64 184, i1 false), !dbg !24
  call void @_ZN7example7do_item17h87ff3f7e8c231d7dE(%DI* noalias readonly align 8 dereferenceable(184) %_8), !dbg !25
  br label %bb2, !dbg !25

bb2:                                              ; preds = %bb1
  ret void, !dbg !26
}

and mir-opt-level=2

define void @_ZN7example1g17h14264d45cdc1c8ddE(i8* noalias readonly align 1 dereferenceable_or_null(1) %clip) unnamed_addr #1 !dbg !18 {
start:
  %item = alloca %SpecificDisplayItem, align 8
  %_6 = alloca %DI, align 8
  %_2 = call align 1 dereferenceable(1) i8* @"_ZN4core6option15Option$LT$T$GT$6unwrap17hd51eb875dba3900fE"(i8* noalias readonly align 1 dereferenceable_or_null(1) %clip, %"std::panic::Location"* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @alloc21 to %"std::panic::Location"*)), !dbg !21
  br label %bb1, !dbg !21

bb1:                                              ; preds = %start
  %0 = bitcast %SpecificDisplayItem* %item to i64*, !dbg !22
  store i64 0, i64* %0, align 8, !dbg !22
  %1 = bitcast %DI* %_6 to %SpecificDisplayItem*, !dbg !23
  %2 = bitcast %SpecificDisplayItem* %1 to i8*, !dbg !23
  %3 = bitcast %SpecificDisplayItem* %item to i8*, !dbg !23
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %2, i8* align 8 %3, i64 184, i1 false), !dbg !23
  call void @_ZN7example7do_item17h87ff3f7e8c231d7dE(%DI* noalias readonly align 8 dereferenceable(184) %_6), !dbg !24
  br label %bb2, !dbg !24

bb2:                                              ; preds = %bb1
  ret void, !dbg !25
}
jrmuizel

comment created time in 22 days

issue openedrust-lang/rust

An extra memcpy with -Zmir-opt-level=2

pub enum SpecificDisplayItem {
    PopStackingContext,
    Other([f64; 22]),
}

struct DI {
    item: SpecificDisplayItem,
}

#[inline(never)]
pub fn g(clip: Option<&bool>) {
    clip.unwrap();
    let item = SpecificDisplayItem::PopStackingContext;
    do_item(&DI {
            item,
    });
}

#[inline(never)]
fn do_item(di: &DI) { unsafe { ext(di) } }
extern {
    fn ext(di: &DI);
}

With -Zmir-opt-level=1 this compiles to

example::g:
        sub     rsp, 184
        test    rdi, rdi
        je      .LBB0_1
        mov     qword ptr [rsp], 0
        mov     rdi, rsp
        call    example::do_item
        add     rsp, 184
        ret
.LBB0_1:
        lea     rdi, [rip + .L__unnamed_1]
        lea     rdx, [rip + .L__unnamed_2]
        mov     esi, 43
        call    qword ptr [rip + core::panicking::panic@GOTPCREL]
        ud2

With mir-opt-level=2 it compiles to:

example::g:
        sub     rsp, 360
        test    rdi, rdi
        je      .LBB0_1
        mov     qword ptr [rsp], 0
        lea     rdi, [rsp + 8]
        lea     rsi, [rsp + 184]
        mov     edx, 176
        call    qword ptr [rip + memcpy@GOTPCREL]
        mov     rdi, rsp
        call    example::do_item
        add     rsp, 360
        ret
.LBB0_1:
        lea     rdi, [rip + .L__unnamed_1]
        lea     rdx, [rip + .L__unnamed_2]
        mov     esi, 43
        call    qword ptr [rip + core::panicking::panic@GOTPCREL]
        ud2

This is with Rust nightly on rust.godbolt.org

created time in 23 days

PR opened kornelski/rust-lcms2

Add remove_tag and link_tag
+14 -0

0 comment

1 changed file

pr created time in 23 days

create barnchjrmuizel/rust-lcms2

branch : rlt

created branch time in 23 days

startedantoyo/rustc_codegen_gcc

started time in a month

startedmichaelforney/cproc

started time in a month

Pull request review commentgoogle/oss-fuzz

Rewrite qcms fuzz target for the change to Rust

 # ################################################################################ -# moz.build-$CC $CFLAGS -c \-  -DNDEBUG -mavx -msse -msse2 -Wno-missing-field-initializers \-  chain.c \-  iccread.c \-  matrix.c \-  transform.cpp \-  transform-avx.cpp \-  transform-sse1.cpp \-  transform-sse2.cpp \-  transform_util.c+cargo fuzz build -O -$CXX $CXXFLAGS -std=c++11 \-  -I. *.o \-  -DBUILD_FOR_OSSFUZZ \-  $LIB_FUZZING_ENGINE \-  fuzztest/qcms_fuzzer.cpp -o $OUT/fuzz--find fuzztest -iname "*.icc" \+find fuzz -iname "*.icc" \   -type f -exec zip -qju $OUT/fuzz_seed_corpus.zip "{}" \;-cp fuzztest/qcms_fuzzer.dict $OUT/fuzz.dict+cp fuzz/qcms_fuzzer.dict $OUT/fuzz.dict+cp fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_qcms $OUT/

And I pushed a changed version before seeing your commit

jrmuizel

comment created time in a month

PullRequestReviewEvent

Pull request review commentgoogle/oss-fuzz

Rewrite qcms fuzz target for the change to Rust

 # ################################################################################ -# moz.build-$CC $CFLAGS -c \-  -DNDEBUG -mavx -msse -msse2 -Wno-missing-field-initializers \-  chain.c \-  iccread.c \-  matrix.c \-  transform.cpp \-  transform-avx.cpp \-  transform-sse1.cpp \-  transform-sse2.cpp \-  transform_util.c+cargo fuzz build -O -$CXX $CXXFLAGS -std=c++11 \-  -I. *.o \-  -DBUILD_FOR_OSSFUZZ \-  $LIB_FUZZING_ENGINE \-  fuzztest/qcms_fuzzer.cpp -o $OUT/fuzz--find fuzztest -iname "*.icc" \+find fuzz -iname "*.icc" \   -type f -exec zip -qju $OUT/fuzz_seed_corpus.zip "{}" \;-cp fuzztest/qcms_fuzzer.dict $OUT/fuzz.dict+cp fuzz/qcms_fuzzer.dict $OUT/fuzz.dict+cp fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_qcms $OUT/

Ah. That makes sense.

jrmuizel

comment created time in a month

PullRequestReviewEvent

push eventjrmuizel/oss-fuzz

Jeff Muizelaar

commit sha d2ebcac9ace58edbaf0b7823d1bea14bbecc923e

Rewrite qcms fuzz target for the change to Rust

view details

push time in a month

Pull request review commentgoogle/oss-fuzz

Rewrite qcms fuzz target for the change to Rust

 # ################################################################################ -# moz.build-$CC $CFLAGS -c \-  -DNDEBUG -mavx -msse -msse2 -Wno-missing-field-initializers \-  chain.c \-  iccread.c \-  matrix.c \-  transform.cpp \-  transform-avx.cpp \-  transform-sse1.cpp \-  transform-sse2.cpp \-  transform_util.c+cargo fuzz build -O -$CXX $CXXFLAGS -std=c++11 \-  -I. *.o \-  -DBUILD_FOR_OSSFUZZ \-  $LIB_FUZZING_ENGINE \-  fuzztest/qcms_fuzzer.cpp -o $OUT/fuzz--find fuzztest -iname "*.icc" \+find fuzz -iname "*.icc" \   -type f -exec zip -qju $OUT/fuzz_seed_corpus.zip "{}" \;-cp fuzztest/qcms_fuzzer.dict $OUT/fuzz.dict+cp fuzz/qcms_fuzzer.dict $OUT/fuzz.dict+cp fuzz/target/x86_64-unknown-linux-gnu/release/fuzz_target_qcms $OUT/

https://google.github.io/oss-fuzz/getting-started/new-project-guide/rust-lang/ suggests that '$OUT/' is sufficient.

jrmuizel

comment created time in a month

PullRequestReviewEvent
more