From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from resqmta-ch2-08v.sys.comcast.net (resqmta-ch2-08v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:40]) by hurricane.the-brannons.com (Postfix) with ESMTPS id D07D877FF6 for ; Sat, 15 Jul 2017 18:03:10 -0700 (PDT) Received: from resomta-ch2-08v.sys.comcast.net ([69.252.207.104]) by resqmta-ch2-08v.sys.comcast.net with ESMTP id WXyVd774WzEHQWXycdt1qB; Sun, 16 Jul 2017 01:04:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1500167042; bh=WCvjrmC4/6EXLQWiYDVfUwvh8413f9ejbSwSRULlQyQ=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=QbDblTcvBGxq6trY2qcAuzJ4EMmCwRPOfOKOK+6XbOYg1k5ozP5NEz67By/k8Z8Ow m3TiLnw3amCJmc1Am3qewC3EPcOsw27MHVBUBN5SzK/UCMtivJeTPj0VT22KwdjtCO uzA42CoKdo83ed9W0/nt9yzzz3Mvyf2tUDVp+TXx9+RDmt/Lz8VPG7sy7QXwxcqlie 6ElA3qGID6YZJY4IcXStfc1u3Lze/34OtEszv4vK6grnFuC/6xRbZsBP+VEwUxfgyC MggYYtai1YQFJwE+67LjJR/SH1o/baRyTKzxAYB+7S+bqVNB0Rv2s3ldcvzs7z/7Kj naPyXQtrArlrw== Received: from unknown ([IPv6:2601:408:c301:784d:21e:4fff:fec2:a0f1]) by resomta-ch2-08v.sys.comcast.net with SMTP id WXybdybuFFVt8WXybdJ3Vj; Sun, 16 Jul 2017 01:04:01 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.7.0x Date: Sat, 15 Jul 2017 21:04:01 -0400 Message-ID: <20170615210401.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nextpart-eb-784414 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfHNcGVqQPnqnWwivLtJIspuY6mtAgfrMJs7TiZ4WAnadXYtUag0YapqR3y4IDgaIOWKw/ZmSPdLtlL3FW0pxgUWfMPcDCuqM31dqn6CMo4iZMvXKkfh1 +8/XjAr+0eFU+aS6zdtzLl+1hcx7Lev42cJEL5/hFkWtH0mKEyBn0AXp Subject: [Edbrowse-dev] 2 pass linkage process X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.24 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Jul 2017 01:03:11 -0000 This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --nextpart-eb-784414 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable This is a followup to my earlier email on the seg fault travails with = gc. With gc forced, jsrt crashed, and it's pretty clear why, now. I said we wouldn't create nodes just to throw them away, but of course = we do, as part of our tests. We test createElement and appendChild and insertBefore and so on, thus = creating throw-away nodes, and not to say other websites wouldn't do = the same thing, just to make sure client side js is working. So my ideas about ignoring side effects when js doesn't run to = completion were silly; js can run to completion and still it will tell = edbrowse about nodes that no longer exist, and edbrowse has to be smart = enough not to fiddle with them. So I implemented the 2-pass linkage process. It wasn't as hard as I = thought. About 30 lines. Build all the links that js told us to build, then only mess with those = nodes that are rooted. This is my latest push. There was another problem however. We created a script node dynamically, then didn't use it, so gc threw = it away, but my runScriptsPending routine found it and tried to run it. = Crash! So I fixed that, then there was another problem. I created a script that I wanted to run, and linked it into body, so it = was rooted, but it still didn't run. Problem is the scripts section is first, and the script was not rooted, = so did not run, then I linked it into body below, whence it became = rooted. So I fixed that. Now jsrt runs, even with gc forced after every script. Also, www.ibm.com runs without a seg fault, and that was the troublesome website that sent me down this path two = days ago. You know, all this stuff is at the very edge of what I can do and = analyze and understand. I guess that's part of the fun. Karl Dahlke --nextpart-eb-784414--