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
24 changes: 24 additions & 0 deletions benchmark/gen_depth_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,14 @@ class destructor_object {{
}}

pause();

try {{
depth_01();
}} catch (test_error const& e) {{
end();
}}

pause();
}}

'''
Expand Down Expand Up @@ -303,18 +311,34 @@ class destructor_object {{
if (!result_70) {{
end();
}}

pause();

auto result_50 = depth_50();
if (!result_50) {{
end();
}}

pause();

auto result_30 = depth_30();
if (!result_30) {{
end();
}}

pause();

auto result_10 = depth_10();
if (!result_10) {{
end();
}}

pause();

auto result_01 = depth_01();
if (!result_01) {{
end();
}}
}}
'''

Expand Down
8 changes: 8 additions & 0 deletions benchmark/generated_tests/except_0percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,4 +1359,12 @@ void run_test()
}

pause();

try {
depth_01();
} catch (test_error const& e) {
end();
}

pause();
}
8 changes: 8 additions & 0 deletions benchmark/generated_tests/except_100percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,4 +1359,12 @@ void run_test()
}

pause();

try {
depth_01();
} catch (test_error const& e) {
end();
}

pause();
}
8 changes: 8 additions & 0 deletions benchmark/generated_tests/except_25percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,4 +1359,12 @@ void run_test()
}

pause();

try {
depth_01();
} catch (test_error const& e) {
end();
}

pause();
}
8 changes: 8 additions & 0 deletions benchmark/generated_tests/except_50percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,4 +1359,12 @@ void run_test()
}

pause();

try {
depth_01();
} catch (test_error const& e) {
end();
}

pause();
}
8 changes: 8 additions & 0 deletions benchmark/generated_tests/except_75percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,4 +1359,12 @@ void run_test()
}

pause();

try {
depth_01();
} catch (test_error const& e) {
end();
}

pause();
}
16 changes: 16 additions & 0 deletions benchmark/generated_tests/result_0percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1542,16 +1542,32 @@ void run_test()
if (!result_70) {
end();
}

pause();

auto result_50 = depth_50();
if (!result_50) {
end();
}

pause();

auto result_30 = depth_30();
if (!result_30) {
end();
}

pause();

auto result_10 = depth_10();
if (!result_10) {
end();
}

pause();

auto result_01 = depth_01();
if (!result_01) {
end();
}
}
16 changes: 16 additions & 0 deletions benchmark/generated_tests/result_100percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1542,16 +1542,32 @@ void run_test()
if (!result_70) {
end();
}

pause();

auto result_50 = depth_50();
if (!result_50) {
end();
}

pause();

auto result_30 = depth_30();
if (!result_30) {
end();
}

pause();

auto result_10 = depth_10();
if (!result_10) {
end();
}

pause();

auto result_01 = depth_01();
if (!result_01) {
end();
}
}
16 changes: 16 additions & 0 deletions benchmark/generated_tests/result_25percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1542,16 +1542,32 @@ void run_test()
if (!result_70) {
end();
}

pause();

auto result_50 = depth_50();
if (!result_50) {
end();
}

pause();

auto result_30 = depth_30();
if (!result_30) {
end();
}

pause();

auto result_10 = depth_10();
if (!result_10) {
end();
}

pause();

auto result_01 = depth_01();
if (!result_01) {
end();
}
}
16 changes: 16 additions & 0 deletions benchmark/generated_tests/result_50percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1542,16 +1542,32 @@ void run_test()
if (!result_70) {
end();
}

pause();

auto result_50 = depth_50();
if (!result_50) {
end();
}

pause();

auto result_30 = depth_30();
if (!result_30) {
end();
}

pause();

auto result_10 = depth_10();
if (!result_10) {
end();
}

pause();

auto result_01 = depth_01();
if (!result_01) {
end();
}
}
16 changes: 16 additions & 0 deletions benchmark/generated_tests/result_75percent_depth70.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1542,16 +1542,32 @@ void run_test()
if (!result_70) {
end();
}

pause();

auto result_50 = depth_50();
if (!result_50) {
end();
}

pause();

auto result_30 = depth_30();
if (!result_30) {
end();
}

pause();

auto result_10 = depth_10();
if (!result_10) {
end();
}

pause();

auto result_01 = depth_01();
if (!result_01) {
end();
}
}
8 changes: 4 additions & 4 deletions src/arm_cortex/estell/exception.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2099,8 +2099,9 @@ extern "C"
ke::unwind_frame(ke::cxa_rethrow_unwind_instructions, control_block.cpu);
// Raise exception returns when an error or call to terminate has been found
ke::raise_exception(control_block);
// TODO(#38): this area is considered a catch block, meaning that the
// exception is handled at this point. We should mark it as such.

// If raise exception returns it means it failed and we should terminate
control_block.cache.state(ke::runtime_state::handled_state);
std::terminate();
}

Expand Down Expand Up @@ -2132,9 +2133,8 @@ extern "C"
// Raise exception returns when an error or call to terminate has been found
ke::raise_exception(control_block);

// If raise exception returns it means it failed and we should terminate
control_block.cache.state(ke::runtime_state::handled_state);
// TODO(#38): this area is considered a catch block, meaning that the
// exception is handled at this point. We should mark it as such.
std::terminate();
}
} // extern "C"
Expand Down
Loading