Skip to content

Commit 7de5a55

Browse files
committed
deps: patch V8 to 7.8.279.17
Refs: v8/v8@7.8.279.15...7.8.279.17 PR-URL: #29928 Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
1 parent 53ca0b9 commit 7de5a55

File tree

5 files changed

+62
-6
lines changed

5 files changed

+62
-6
lines changed

deps/v8/include/v8-version.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#define V8_MAJOR_VERSION 7
1212
#define V8_MINOR_VERSION 8
1313
#define V8_BUILD_NUMBER 279
14-
#define V8_PATCH_LEVEL 15
14+
#define V8_PATCH_LEVEL 17
1515

1616
// Use 1 for candidates and 0 otherwise.
1717
// (Boolean macro values are not supported by all preprocessors.)

deps/v8/src/execution/isolate.cc

+6-1
Original file line numberDiff line numberDiff line change
@@ -1680,8 +1680,13 @@ Object Isolate::UnwindAndFindHandler() {
16801680
int return_offset = static_cast<int>(frame->pc() - instruction_start);
16811681
int handler_offset = table.LookupReturn(return_offset);
16821682
DCHECK_NE(-1, handler_offset);
1683+
// Compute the stack pointer from the frame pointer. This ensures that
1684+
// argument slots on the stack are dropped as returning would.
1685+
Address return_sp = frame->fp() +
1686+
StandardFrameConstants::kFixedFrameSizeAboveFp -
1687+
code.stack_slots() * kSystemPointerSize;
16831688
return FoundHandler(Context(), instruction_start, handler_offset,
1684-
code.constant_pool(), frame->sp(), frame->fp());
1689+
code.constant_pool(), return_sp, frame->fp());
16851690
}
16861691

16871692
case StackFrame::WASM_COMPILED: {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2019 the V8 project authors. All rights reserved.
2+
// Use of this source code is governed by a BSD-style license that can be
3+
// found in the LICENSE file.
4+
5+
// Bug is in the C-to-Wasm entry, used e.g. by the Wasm interpreter.
6+
// Flags: --wasm-interpret-all
7+
8+
load("test/mjsunit/wasm/wasm-module-builder.js");
9+
10+
let argc = 7;
11+
let builder = new WasmModuleBuilder();
12+
let types = new Array(argc).fill(kWasmI32);
13+
let sig = makeSig(types, []);
14+
let body = [];
15+
for (let i = 0; i < argc; ++i) {
16+
body.push(kExprGetLocal, i);
17+
}
18+
body.push(kExprCallFunction, 0);
19+
builder.addImport('', 'f', sig);
20+
builder.addFunction("main", sig).addBody(body).exportAs('main');
21+
let instance = builder.instantiate({
22+
'': {
23+
'f': function() { throw "don't crash"; }
24+
}
25+
});
26+
assertThrows(instance.exports.main);

deps/v8/tools/testrunner/base_runner.py

+8
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ def __init__(self, flags, timeout_scalefactor, status_mode, execution_mode):
162162

163163
PROGRESS_INDICATORS = {
164164
'verbose': progress.VerboseProgressIndicator,
165+
'ci': progress.CIProgressIndicator,
165166
'dots': progress.DotsProgressIndicator,
166167
'color': progress.ColorProgressIndicator,
167168
'mono': progress.MonochromeProgressIndicator,
@@ -355,6 +356,10 @@ def _add_parser_default_options(self, parser):
355356
parser.add_option("--exit-after-n-failures", type="int", default=100,
356357
help="Exit after the first N failures instead of "
357358
"running all tests. Pass 0 to disable this feature.")
359+
parser.add_option("--ci-test-completion",
360+
help="Path to a file for logging test completion in the "
361+
"context of CI progress indicator. Ignored if "
362+
"progress indicator is other than 'ci'.")
358363

359364
# Rerun
360365
parser.add_option("--rerun-failures-count", default=0, type=int,
@@ -804,6 +809,9 @@ def _create_progress_indicators(self, test_count, options):
804809
self.build_config.arch,
805810
self.mode_options.execution_mode))
806811

812+
for proc in procs:
813+
proc.configure(options)
814+
807815
for proc in procs:
808816
try:
809817
proc.set_test_count(test_count)

deps/v8/tools/testrunner/testproc/progress.py

+21-4
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,16 @@ def _on_result_for(self, test, result):
5757

5858

5959
class ProgressIndicator(base.TestProcObserver):
60+
def __init__(self):
61+
super(base.TestProcObserver, self).__init__()
62+
self.options = None
63+
6064
def finished(self):
6165
pass
6266

67+
def configure(self, options):
68+
self.options = options
69+
6370

6471
class SimpleProgressIndicator(ProgressIndicator):
6572
def __init__(self):
@@ -114,8 +121,7 @@ def _print(self, text):
114121
sys.stdout.flush()
115122
self._last_printed_time = time.time()
116123

117-
def _on_result_for(self, test, result):
118-
super(VerboseProgressIndicator, self)._on_result_for(test, result)
124+
def _message(self, test, result):
119125
# TODO(majeski): Support for dummy/grouped results
120126
if result.has_unexpected_output:
121127
if result.output.HasCrashed():
@@ -124,9 +130,12 @@ def _on_result_for(self, test, result):
124130
outcome = 'FAIL'
125131
else:
126132
outcome = 'pass'
133+
return 'Done running %s %s: %s' % (
134+
test, test.variant or 'default', outcome)
127135

128-
self._print('Done running %s %s: %s' % (
129-
test, test.variant or 'default', outcome))
136+
def _on_result_for(self, test, result):
137+
super(VerboseProgressIndicator, self)._on_result_for(test, result)
138+
self._print(self._message(test, result))
130139

131140
# TODO(machenbach): Remove this platform specific hack and implement a proper
132141
# feedback channel from the workers, providing which tests are currently run.
@@ -155,6 +164,14 @@ def _on_event(self, event):
155164
self._print_processes_linux()
156165

157166

167+
class CIProgressIndicator(VerboseProgressIndicator):
168+
def _on_result_for(self, test, result):
169+
super(VerboseProgressIndicator, self)._on_result_for(test, result)
170+
if self.options.ci_test_completion:
171+
with open(self.options.ci_test_completion, "a") as f:
172+
f.write(self._message(test, result) + "\n")
173+
174+
158175
class DotsProgressIndicator(SimpleProgressIndicator):
159176
def __init__(self):
160177
super(DotsProgressIndicator, self).__init__()

0 commit comments

Comments
 (0)