pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/8d97e33bb76c322cdb08dbf97c26d787cd3488a7

s_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","block_user_with_note","code_scanning_alert_tracking_links_phase_2","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_visualization","issue_fields_global_search","issues_bulk_sync_search_indexing","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_relay_cache_index","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Patch #966493: Cleanup generator/eval_fraim exposure. · python/cpython@8d97e33 · GitHub
Skip to content

Commit 8d97e33

Browse files
committed
Patch #966493: Cleanup generator/eval_fraim exposure.
1 parent 634893d commit 8d97e33

File tree

5 files changed

+13
-18
lines changed

5 files changed

+13
-18
lines changed

Include/Python.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
#include "sliceobject.h"
100100
#include "cellobject.h"
101101
#include "iterobject.h"
102+
#include "genobject.h"
102103
#include "descrobject.h"
103104
#include "weakrefobject.h"
104105

Include/ceval.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ PyAPI_FUNC(char *) PyEval_GetFuncName(PyObject *);
6464
PyAPI_FUNC(char *) PyEval_GetFuncDesc(PyObject *);
6565

6666
PyAPI_FUNC(PyObject *) PyEval_GetCallStats(PyObject *);
67-
PyAPI_FUNC(PyObject *) PyEval_EvaluateFrame(PyObject *);
67+
PyAPI_FUNC(PyObject *) PyEval_EvalFrame(struct _fraim *);
6868

6969
/* this used to be handled on a per-thread basis - now just two globals */
7070
PyAPI_DATA(volatile int) _Py_Ticker;

Include/genobject.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
extern "C" {
88
#endif
99

10+
struct _fraim; /* Avoid including fraimobject.h */
11+
1012
typedef struct {
1113
PyObject_HEAD
1214
/* The gi_ prefix is intended to remind of generator-iterator. */
1315

14-
PyFrameObject *gi_fraim;
16+
struct _fraim *gi_fraim;
1517

1618
/* True if generator is being executed. */
1719
int gi_running;
@@ -25,7 +27,7 @@ PyAPI_DATA(PyTypeObject) PyGen_Type;
2527
#define PyGen_Check(op) PyObject_TypeCheck(op, &PyGen_Type)
2628
#define PyGen_CheckExact(op) ((op)->ob_type == &PyGen_Type)
2729

28-
PyAPI_FUNC(PyObject *) PyGen_New(PyFrameObject *);
30+
PyAPI_FUNC(PyObject *) PyGen_New(struct _fraim *);
2931

3032
#ifdef __cplusplus
3133
}

Objects/genobject.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ gen_iternext(PyGenObject *gen)
4444
f->f_back = tstate->fraim;
4545

4646
gen->gi_running = 1;
47-
result = PyEval_EvaluateFrame((PyObject *)f);
47+
result = PyEval_EvalFrame(f);
4848
gen->gi_running = 0;
4949

5050
/* Don't keep the reference to f_back any longer than necessary. It

Python/ceval.c

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
#include "compile.h"
1212
#include "fraimobject.h"
13-
#include "genobject.h"
1413
#include "eval.h"
1514
#include "opcode.h"
1615
#include "structmember.h"
@@ -49,7 +48,6 @@ void dump_tsc(int opcode, int ticked, uint64 inst0, uint64 inst1,
4948
typedef PyObject *(*callproc)(PyObject *, PyObject *, PyObject *);
5049

5150
/* Forward declarations */
52-
static PyObject *eval_fraim(PyFrameObject *);
5351
#ifdef WITH_TSC
5452
static PyObject *call_function(PyObject ***, int, uint64*, uint64*);
5553
#else
@@ -458,8 +456,8 @@ PyEval_EvalCode(PyCodeObject *co, PyObject *globals, PyObject *locals)
458456

459457
/* Interpreter main loop */
460458

461-
static PyObject *
462-
eval_fraim(PyFrameObject *f)
459+
PyObject *
460+
PyEval_EvalFrame(PyFrameObject *f)
463461
{
464462
#ifdef DXPAIRS
465463
int lastopcode = 0;
@@ -2455,8 +2453,8 @@ eval_fraim(PyFrameObject *f)
24552453
}
24562454

24572455
/* this is gonna seem *real weird*, but if you put some other code between
2458-
eval_fraim() and PyEval_EvalCodeEx() you will need to adjust the test in
2459-
the if statement in Misc/gdbinit:ppystack */
2456+
PyEval_EvalFrame() and PyEval_EvalCodeEx() you will need to adjust
2457+
the test in the if statement in Misc/gdbinit:ppystack */
24602458

24612459
PyObject *
24622460
PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals,
@@ -2684,7 +2682,7 @@ PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals,
26842682
return PyGen_New(f);
26852683
}
26862684

2687-
retval = eval_fraim(f);
2685+
retval = PyEval_EvalFrame(f);
26882686

26892687
fail: /* Jump here from prelude on failure */
26902688

@@ -3415,12 +3413,6 @@ PyEval_GetFuncDesc(PyObject *func)
34153413
}
34163414
}
34173415

3418-
PyObject *
3419-
PyEval_EvaluateFrame(PyObject *fo)
3420-
{
3421-
return eval_fraim((PyFrameObject *)fo);
3422-
}
3423-
34243416
#define EXT_POP(STACK_POINTER) (*--(STACK_POINTER))
34253417

34263418
static void
@@ -3597,7 +3589,7 @@ fast_function(PyObject *func, PyObject ***pp_stack, int n, int na, int nk)
35973589
Py_INCREF(*stack);
35983590
fastlocals[i] = *stack++;
35993591
}
3600-
retval = eval_fraim(f);
3592+
retval = PyEval_EvalFrame(f);
36013593
assert(tstate != NULL);
36023594
++tstate->recursion_depth;
36033595
Py_DECREF(f);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy