From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Vibhav Pant Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] feature/byte-switch a75d080: * src/bytecode.c: Refactor to follow GNU coding standards Date: Sat, 11 Feb 2017 23:43:02 +0530 Message-ID: References: <20170211125132.3738.13650@vcs0.savannah.gnu.org> <20170211125134.80F4325FCF@vcs0.savannah.gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: blaine.gmane.org 1486836839 28809 195.159.176.226 (11 Feb 2017 18:13:59 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 11 Feb 2017 18:13:59 +0000 (UTC) Cc: "emacs-devel@gnu.org" To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Feb 11 19:13:55 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cccBG-0007A0-SX for ged-emacs-devel@m.gmane.org; Sat, 11 Feb 2017 19:13:55 +0100 Original-Received: from localhost ([::1]:49167 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cccBM-00030m-Cp for ged-emacs-devel@m.gmane.org; Sat, 11 Feb 2017 13:14:00 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60861) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cccAo-00030h-KU for emacs-devel@gnu.org; Sat, 11 Feb 2017 13:13:27 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cccAn-0005bD-Ev for emacs-devel@gnu.org; Sat, 11 Feb 2017 13:13:26 -0500 Original-Received: from mail-yw0-x241.google.com ([2607:f8b0:4002:c05::241]:35898) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cccAn-0005a2-AR for emacs-devel@gnu.org; Sat, 11 Feb 2017 13:13:25 -0500 Original-Received: by mail-yw0-x241.google.com with SMTP id q71so4557801ywg.3 for ; Sat, 11 Feb 2017 10:13:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ZSd7UpPOtEPu7nZdCHp8OPU+Oh7qp0ws5upafYjXtjw=; b=sZH4vT5BEJEF4zN/WnpfkKXjQWn6D4UunwctNO+x3fV0zgdd++Soofv8q936/6qKEb HvjkJW71sovGnXCS8RskDfn10Wz27JT2GNSlBU2dMtfJAN0AxDRdf2gGhoJ0bD/6cvH5 Arpa9eY/4p73LvnCFNygwVsKo56WEC2K50+1A1n+2feu2k6wz/YGp8bny8pTHnE9UFji rDXOIrLbguLy67xWYPJDiQHUqgX+JEnv2cXRoWzjHftccA5HATkg2x/GYzvztD20AwWa tnFq6ZOI0fkPs6+H3ECCQupMkQkrj9F3trZnOrILqbKFfIhZSMciMzIaSXSF6qgDmUY3 pApQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ZSd7UpPOtEPu7nZdCHp8OPU+Oh7qp0ws5upafYjXtjw=; b=YoBTe50ZEU4in2rz8v0iZYFQtizMOnaUMfyEvJfTJvjv036h4LR3W0mInjgxdlZ25N HO8bV0uh+Y7psFGB2UGsBvi/7e/G4REasA4t41+v0PA0AsSSc7ylnj+xQv22B0++g95c 2rkabYRIfZxlQmZAHr5HB2beRP8jjXTzCzdXBiMS6f/uEWly7Zxwi1hRUgljxSZqDY1A 6kZBQCnjjoH7geBiuBVSLX3XCZIKpJOFqGJhZTUNtswTpOyZUQukWf5uR6xv2lo8WJ4n HZiIXjkcRefzPX9puccGmLw1+nUEAwo/AhNS+jgOXhp3zyuaEEPXRMwOt/bZnuavT9qb Pkqg== X-Gm-Message-State: AMke39m0HVdEaJRdDf4NQs0gFK1depqN8i3VnOBgnGcHskLN1H2bZjuVBdSC1pC0NTqY4MuNCfR/9VxwFyeyXA== X-Received: by 10.13.252.131 with SMTP id m125mr11807476ywf.49.1486836802896; Sat, 11 Feb 2017 10:13:22 -0800 (PST) Original-Received: by 10.129.153.77 with HTTP; Sat, 11 Feb 2017 10:13:02 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4002:c05::241 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:212238 Archived-At: On Sat, Feb 11, 2017 at 9:16 PM, Stefan Monnier wrote: >> + if (BYTE_CODE_SAFE) >> + eassert (!NILP (HASH_HASH (h, i))); > > Declaring that non-full hashtables are "dangerous" is rather annoying. > In this case, I think we can do better: > > Lisp_Object hash_code > = make_number (h->test.hashfn (&h->test, v1)); > > this then lets us use EQ (hash_code, ...) instead of hash_code == XUINT > (...) which not only correctly skips nil hashes but might even be ever > so slightly faster (both use == on the same size of integers, but the > former avoids the cost of XUINT). Indeed. Since we only use hash_code when h->test.cmpfn is not NULL, calculating it only then would also make sense (at the cost of an extra NULL check). -- Vibhav Pant vibhavp@gmail.com