From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id BE2F424C436; Wed, 15 Feb 2023 01:30:33 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org BE2F424C436 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1676413833; bh=7MNr1FKRjtR1D9GtaqVCZLPiUvoPrCjDdtIB/Q7I0lA=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=hZjW8DUvsD/J+QJcWbuWBn6LcVtAvYDUF55hXP1ZUZKM4PXfdscJ7cECNi7GnVsM9 +q0854OnpZCJDpJlpmcNcXCSFP+Exfcv2z66X4zgtPnX7HjX7dW1McEMZ5OH+eDkVx irFkK4rmcx77Rb/kGTPyfGDowRHmgQfhrzN1tb8o= Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 4B33E88D68 for ; Wed, 15 Feb 2023 01:30:33 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 4B33E88D68 Received: by mail-lf1-f52.google.com with SMTP id b3so25432977lfv.2 for ; Tue, 14 Feb 2023 14:30:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qpr/CpP2iRgWeFVhghwj6cPRXTkGTyJ2pJ+LSxwAb+U=; b=1HnQmIFYMbDRzeBimw4ocxbmkHbNWWwJePtu8cK50007kM+pQg/SsbND4ziftKhbcX ck8KFVyERuKNWeLx239y6I6KUHEltOJ7yMYlQ6x7VX+K67kDMA20QoN3dpAZMwBNz2Ef fRGVitD7LChdGGXhPgdJO8iTIqWc6T/pQP8/QlwciMmfF0xiQ9T0TH7EE57pwIo9f9vo 4zx3uEUxNI7xBVE0lqHG87xmxCYETAxwCdusblDqfIw92l3I+p3QfVTYucHGsz8Ry049 aSrNMSaEV1pDMqRS7EKpzoxwFXvrrLKOwiRXc58gV+toskMQbmR0dfOmKo+IIDxl/KR/ SERw== X-Gm-Message-State: AO0yUKXaH9wYNzFu5bFDSHbGodcU3QOa3golMz+EegwU7pFhQGhmBDJd cYA0Tx5Vt1WiwnbkbPmQUue2osw+5+w= X-Google-Smtp-Source: AK7set83pFMKFmLB21DqVmnVsbFBeZKeSq/wSRIoTQRjep9B6VVUcXmHtgWGLdQSZjx14kCmk1Xrgw== X-Received: by 2002:ac2:5309:0:b0:4a5:3735:9cc5 with SMTP id c9-20020ac25309000000b004a537359cc5mr993357lfh.33.1676413832020; Tue, 14 Feb 2023 14:30:32 -0800 (PST) Received: from localhost.localdomain (128-69-253-162.broadband.corbina.ru. [128.69.253.162]) by smtp.gmail.com with ESMTPSA id e19-20020a2eb1d3000000b00293536083cesm413756lja.105.2023.02.14.14.30.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Feb 2023 14:30:31 -0800 (PST) X-Google-Original-From: Maxim Kokryashkin To: tarantool-patches@dev.tarantool.org, skaplun@tarantool.org, sergos@tarantool.org Date: Wed, 15 Feb 2023 01:30:22 +0300 Message-Id: X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH luajit 0/5] jit: add exception unwinding X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Maxim Kokryashkin via Tarantool-patches Reply-To: Maxim Kokryashkin Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patchset adopts the LuaJIT machinery for unwinding exceptions raised while trace execution. The snap-restore test is disabled, since after this patchset it requires dynamic calculation for amount of allocated stack slots. That test should be rewritten in a less fragile manner. Branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-7745-exceptions-on-traces Issue: https://github.com/tarantool/tarantool/issues/7745 PR: https://github.com/tarantool/tarantool/pull/8308 Maxim Kokryashkin (1): test: disable `lj-603-snap-restore` test Mike Pall (4): Handle on-trace OOM errors from helper functions. Disable unreliable assertion for external frame unwinding. OSX: Disable unreliable assertion for external frame unwinding. Fix IR_RENAME snapshot number. Follow-up fix for a32aeadc. doc/status.html | 7 - src/lj_arch.h | 12 + src/lj_asm.c | 86 ++++-- src/lj_dispatch.h | 4 +- src/lj_err.c | 279 +++++++++++++++++- src/lj_err.h | 19 +- src/lj_ffrecord.c | 2 + src/lj_jit.h | 2 + src/lj_mcode.c | 5 +- src/lj_opt_loop.c | 1 + src/lj_record.c | 3 +- src/lj_snap.c | 1 + src/lj_state.c | 1 + src/lj_target_x86.h | 2 + src/lj_trace.c | 61 +++- src/lj_trace.h | 3 + src/lj_vm.h | 3 + src/vm_arm.dasc | 3 +- src/vm_arm64.dasc | 4 +- src/vm_mips.dasc | 9 +- src/vm_mips64.dasc | 10 +- src/vm_ppc.dasc | 3 +- src/vm_x64.dasc | 6 +- src/vm_x86.dasc | 4 +- .../gh-7745-oom-on-trace.test.lua | 20 ++ .../lj-603-err-snap-restore.test.lua | 1 + 26 files changed, 492 insertions(+), 59 deletions(-) create mode 100644 test/tarantool-tests/gh-7745-oom-on-trace.test.lua -- 2.39.0