Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions pyre/bench/synth/foriter_inplace_immutable.cranelift.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=1
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=202
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=1
internal_compile_panics=0
loops_aborted=0
loops_compiled=1
loops_compiled=2
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=1
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=201
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=1
internal_compile_panics=0
loops_aborted=0
loops_compiled=1
8 changes: 8 additions & 0 deletions pyre/bench/synth/locals_forced_frame.cranelift.jitstats
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
guard_failures=3
internal_compile_panics=0
loops_aborted=0
loops_compiled=2
8 changes: 8 additions & 0 deletions pyre/bench/synth/locals_forced_frame.dynasm.jitstats
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
guard_failures=3
internal_compile_panics=0
loops_aborted=0
loops_compiled=2
35 changes: 35 additions & 0 deletions pyre/bench/synth/locals_forced_frame.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# `locals()` inside a hot `for` loop must report the frame's live values.
#
# `locals()` reaches its frame through `gettopframe_nohidden`, which walks the
# `f_backref` chain without forcing anything, and `fast2locals` then reads
# `locals_cells_stack_w` directly. Once the loop compiles, an unforced
# virtualizable still holds whatever the frame last wrote out, so the mapping
# comes back with correct KEYS (they come from the code object) and stale
# VALUES -- a key-only assertion does not see it.
#
# The shape matters: only a `FOR_ITER` loop reproduces. The same body written
# with `while` reports live values whether or not the frame is forced.


def probe():
seen = []
for i in range(200000):
a = i * 2
b = a + 1
if i == 5000 or i == 199999:
d = locals()
seen.append((d.get("i"), d.get("a"), d.get("b")))
return seen


def probe_vars():
out = None
for i in range(200000):
a = i * 2
if i == 199999:
out = vars().get("a")
return out


print(probe())
print(probe_vars())
8 changes: 8 additions & 0 deletions pyre/bench/synth/locals_forced_frame.wasm.jitstats
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
guard_failures=3
internal_compile_panics=0
loops_aborted=0
loops_compiled=2
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=1
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=203
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=2
internal_compile_panics=0
loops_aborted=0
loops_compiled=3
6 changes: 4 additions & 2 deletions pyre/bench/synth/mapdict_frozen_unboxing_fold.dynasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=1
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=203
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=2
internal_compile_panics=0
loops_aborted=0
loops_compiled=3
6 changes: 4 additions & 2 deletions pyre/bench/synth/mapdict_frozen_unboxing_fold.wasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=2
bridges_compiled=0
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=404
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=2
internal_compile_panics=0
loops_aborted=0
loops_compiled=3
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=656
guard_failures=338
internal_compile_panics=0
loops_aborted=1
loops_compiled=31
loops_compiled=35
4 changes: 2 additions & 2 deletions pyre/bench/synth/pickle_terminal_raise_resume.dynasm.jitstats
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=354
guard_failures=338
internal_compile_panics=0
loops_aborted=1
loops_compiled=31
loops_compiled=35
4 changes: 2 additions & 2 deletions pyre/bench/synth/pickle_terminal_raise_resume.wasm.jitstats
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ descr_set_stale_absent=0
fbw_rolled_back_with_effects=5
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=355
guard_failures=339
internal_compile_panics=0
loops_aborted=13
loops_compiled=68
loops_compiled=72
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=4
bridges_compiled=3
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=1045
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=788
internal_compile_panics=0
loops_aborted=0
loops_compiled=5
6 changes: 4 additions & 2 deletions pyre/bench/synth/polymorphic_binary_receiver.dynasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=4
bridges_compiled=3
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=1045
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=788
internal_compile_panics=0
loops_aborted=0
loops_compiled=5
6 changes: 4 additions & 2 deletions pyre/bench/synth/polymorphic_binary_receiver.wasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=4
bridges_compiled=3
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=1045
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=788
internal_compile_panics=0
loops_aborted=0
loops_compiled=5
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_pattern_methods.cranelift.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=11
bridges_compiled=5
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=2291
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=1012
internal_compile_panics=0
loops_aborted=0
loops_compiled=7
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_pattern_methods.dynasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=11
bridges_compiled=5
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=2291
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=1012
internal_compile_panics=0
loops_aborted=0
loops_compiled=7
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_pattern_methods.wasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=11
bridges_compiled=5
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=2292
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=1013
internal_compile_panics=0
loops_aborted=0
loops_compiled=7
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_wasm_min.cranelift.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=8
bridges_compiled=4
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=1849
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=803
internal_compile_panics=0
loops_aborted=0
loops_compiled=5
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_wasm_min.dynasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=8
bridges_compiled=4
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=1849
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=803
internal_compile_panics=0
loops_aborted=0
loops_compiled=5
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_wasm_min.wasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=8
bridges_compiled=4
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=1849
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=803
internal_compile_panics=0
loops_aborted=0
loops_compiled=5
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_wasm_min1.cranelift.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=4
bridges_compiled=3
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=803
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=603
internal_compile_panics=0
loops_aborted=0
loops_compiled=4
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_wasm_min1.dynasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=4
bridges_compiled=3
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=803
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=603
internal_compile_panics=0
loops_aborted=0
loops_compiled=4
6 changes: 4 additions & 2 deletions pyre/bench/synth/sre_wasm_min1.wasm.jitstats
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
bridges_compiled=4
bridges_compiled=3
descr_set_absent=0
descr_set_ambiguous=0
descr_set_stale_absent=0
fbw_rolled_back_with_effects=0
guard_failures=803
field_pos_attached_misplaced=0
field_pos_spec_misplaced=0
guard_failures=603
internal_compile_panics=0
loops_aborted=0
loops_compiled=4
Loading
Loading