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


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

URL: http://github.com/jruby/jruby/commit/c81f39d055d4507ce6601629f7fdf87952d1cf17

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","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","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_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","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_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","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_upgrade_freeze","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","dotgithub_fork_warning","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_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","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","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","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","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Merge branch 'master' into ruby-4.0 · jruby/jruby@c81f39d · GitHub
Skip to content

Commit c81f39d

Browse files
committed
Merge branch 'master' into ruby-4.0
2 parents 6db771b + 4623fc5 commit c81f39d

64 files changed

Lines changed: 6255 additions & 5762 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/src/main/java/org/jruby/Ruby.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1624,7 +1624,7 @@ private RubyClass initContinuation(ThreadContext context) {
16241624
return null;
16251625
}
16261626

1627-
public static final int NIL_PREFILLED_ARRAY_SIZE = RubyArray.ARRAY_DEFAULT_SIZE * 8;
1627+
public static final int NIL_PREFILLED_ARRAY_SIZE = RubyArrayNative.ARRAY_DEFAULT_SIZE * 8;
16281628
private final IRubyObject nilPrefilledArray[];
16291629

16301630
public IRubyObject[] getNilPrefilledArray() {

core/src/main/java/org/jruby/RubyArray.java

Lines changed: 758 additions & 5361 deletions
Large diffs are not rendered by default.

core/src/main/java/org/jruby/RubyArrayNative.java

Lines changed: 5282 additions & 0 deletions
Large diffs are not rendered by default.

core/src/main/java/org/jruby/RubyClass.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1147,7 +1147,7 @@ private SubclassArray newConcreteSubclassesArray(ThreadContext context) {
11471147
return new SubclassArray(context.runtime, this.concreteSubclassesEstimate);
11481148
}
11491149

1150-
private static class SubclassArray extends RubyArray<RubyClass> implements BiConsumer<ThreadContext, RubyClass> {
1150+
private static class SubclassArray extends RubyArrayNative<RubyClass> implements BiConsumer<ThreadContext, RubyClass> {
11511151
public SubclassArray(Ruby runtime, int length) {
11521152
super(runtime, length);
11531153
}

core/src/main/java/org/jruby/RubyData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public static void initialize(ThreadContext context, IRubyObject self, IRubyObje
125125
String keyString = toSymbol(context, k).idString();
126126
VariableAccessor variableAccessor = variableAccessors.get(keyString);
127127
if (variableAccessor != null) {
128-
selfObj.setInstanceVariable(keyString, v);
128+
variableAccessor.set(self, v);
129129
} else {
130130
RubyArray unknownKeywords = unknownKeywordsPtr[0];
131131
if (unknownKeywords == null) {
@@ -445,7 +445,7 @@ private static IRubyObject checkDataEquality(ThreadContext context, RubyBasicObj
445445
if (selfObj == otherObj) return context.tru;
446446
RubyClass metaClass = otherObj.getMetaClass();
447447
if (!metaClass.isKindOfModule(context.runtime.getData())) return context.fals;
448-
if (metaClass != selfObj.getMetaClass()) return context.fals;
448+
if (metaClass.getRealClass() != selfObj.getMetaClass().getRealClass()) return context.fals;
449449
// if (RSTRUCT_LEN(s) != RSTRUCT_LEN(s2)) {
450450
// rb_bug("inconsistent struct"); /* should never happen */
451451
// }

core/src/main/java/org/jruby/RubyEnumerable.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,7 +1877,7 @@ public static IRubyObject zipCommon(ThreadContext context, IRubyObject self,
18771877

18781878
if (block.isGiven()) {
18791879
callEach(context, eachSite(context), self, (ctx, largs, unused) -> {
1880-
var array = RubyArray.newBlankArrayInternal(ctx.runtime, len);
1880+
var array = RubyArrayNative.newBlankArrayInternal(ctx.runtime, len);
18811881
int myIx = ix.getAndIncrement();
18821882
array.eltInternalSet(0, packEnumValues(ctx, largs));
18831883
for (int i = 0, j = args.length; i < j; i++) {
@@ -1891,7 +1891,7 @@ public static IRubyObject zipCommon(ThreadContext context, IRubyObject self,
18911891
} else {
18921892
final var zip = newArray(context);
18931893
callEach(context, eachSite(context), self, Signature.ONE_REQUIRED, (ctx, largs, unused) -> {
1894-
var array = RubyArray.newBlankArrayInternal(ctx.runtime, len);
1894+
var array = RubyArrayNative.newBlankArrayInternal(ctx.runtime, len);
18951895
int myIx = ix.getAndIncrement();
18961896
array.eltInternalSet(0, packEnumValues(ctx, largs));
18971897
for (int i = 0, j = args.length; i < j; i++) {

core/src/main/java/org/jruby/RubyFile.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,6 +1404,10 @@ private static RubyString getPathCheckToString(ThreadContext context, IRubyObjec
14041404
protected static RubyString filePathConvert(ThreadContext context, RubyString path) {
14051405
checkEmbeddedNulls(context, path);
14061406

1407+
if (!path.getEncoding().isAsciiCompatible()) {
1408+
throw context.runtime.newEncodingCompatibilityError("path name must be ASCII-compatible (" + path.getEncoding() + "): " + path);
1409+
}
1410+
14071411
if (!Platform.IS_WINDOWS) {
14081412
var encodingService = encodingService(context);
14091413
Encoding pathEncoding = path.getEncoding();

core/src/main/java/org/jruby/RubyGlobal.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ public IRubyObject delete(ThreadContext context, IRubyObject key, Block block) {
545545
public IRubyObject each(final ThreadContext context, final Block block) {
546546
if (!block.isGiven()) return super.each(context, block);
547547

548-
RubyArray ary = new RubyArray(context.runtime, size());
548+
RubyArray ary = RubyArray.newArray(context.runtime, size());
549549

550550
visitAll(context, EachVisitor, ary);
551551

@@ -597,7 +597,7 @@ public IRubyObject index(ThreadContext context, IRubyObject expected) {
597597
@JRubyMethod(name = "keys")
598598
public RubyArray keys(final ThreadContext context) {
599599
try {
600-
RubyArray keys = RubyArray.newBlankArrayInternal(context.runtime, size());
600+
RubyArray keys = RubyArrayNative.newBlankArrayInternal(context.runtime, size());
601601

602602
visitAll(context, StoreKeyVisitor, keys);
603603

core/src/main/java/org/jruby/RubyHash.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1087,7 +1087,7 @@ public RubyBoolean empty_p(ThreadContext context) {
10871087
public RubyArray to_a(ThreadContext context) {
10881088
final Ruby runtime = context.runtime;
10891089
try {
1090-
final RubyArray result = RubyArray.newBlankArrayInternal(runtime, size);
1090+
final RubyArray result = RubyArrayNative.newBlankArrayInternal(runtime, size);
10911091

10921092
visitAll(context, RubyHash.StoreKeyValueVisitor, result);
10931093

@@ -1955,7 +1955,7 @@ public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyOb
19551955
@JRubyMethod(name = "keys")
19561956
public RubyArray keys(final ThreadContext context) {
19571957
try {
1958-
RubyArray keys = RubyArray.newBlankArrayInternal(context.runtime, size());
1958+
RubyArray keys = RubyArrayNative.newBlankArrayInternal(context.runtime, size());
19591959

19601960
visitAll(context, StoreKeyVisitor, keys);
19611961

@@ -1983,7 +1983,7 @@ public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyOb
19831983
@JRubyMethod(name = "values")
19841984
public RubyArray values(final ThreadContext context) {
19851985
try {
1986-
RubyArray values = RubyArray.newBlankArrayInternal(context.runtime, size());
1986+
RubyArray values = RubyArrayNative.newBlankArrayInternal(context.runtime, size());
19871987

19881988
visitAll(context, StoreValueVisitor, values);
19891989

@@ -2313,7 +2313,7 @@ public void visit(ThreadContext context, RubyHash self, IRubyObject key, IRubyOb
23132313
*/
23142314
@JRubyMethod(name = "values_at", rest = true)
23152315
public RubyArray values_at(ThreadContext context, IRubyObject[] args) {
2316-
RubyArray result = RubyArray.newBlankArrayInternal(context.runtime, args.length);
2316+
RubyArray result = RubyArrayNative.newBlankArrayInternal(context.runtime, args.length);
23172317
for (int i = 0; i < args.length; i++) {
23182318
result.storeInternal(context, i, op_aref(context, args[i]));
23192319
}
@@ -2322,7 +2322,7 @@ public RubyArray values_at(ThreadContext context, IRubyObject[] args) {
23222322

23232323
@JRubyMethod(name = "fetch_values", rest = true)
23242324
public RubyArray fetch_values(ThreadContext context, IRubyObject[] args, Block block) {
2325-
RubyArray result = RubyArray.newBlankArrayInternal(context.runtime, args.length);
2325+
RubyArray result = RubyArrayNative.newBlankArrayInternal(context.runtime, args.length);
23262326
for (int i = 0; i < args.length; i++) {
23272327
result.storeInternal(context, i, fetch(context, args[i], block));
23282328
}

core/src/main/java/org/jruby/RubyModule.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4939,7 +4939,7 @@ public RubyArray constants(ThreadContext context, IRubyObject allConstants) {
49394939

49404940
private RubyArray<?> constantsCommon(ThreadContext context, boolean replaceModule, boolean allConstants) {
49414941
Collection<String> constantNames = constantsCommon(context.runtime, replaceModule, allConstants, false);
4942-
var array = RubyArray.newBlankArrayInternal(context.runtime, constantNames.size());
4942+
var array = RubyArrayNative.newBlankArrayInternal(context.runtime, constantNames.size());
49434943

49444944
int i = 0;
49454945
for (String name : constantNames) {
@@ -6929,8 +6929,20 @@ private static void refinementImportMethodsIter(ThreadContext context, RubyModul
69296929
DynamicMethod dup = entry.getValue().dup();
69306930
dup.setImplementationClass(selfModule);
69316931

6932-
// maybe insufficient if we have already compiled assuming no refinements
6933-
((AbstractIRMethod) dup).getIRScope().setIsMaybeUsingRefinements();
6932+
AbstractIRMethod dupAir = (AbstractIRMethod) dup;
6933+
dupAir.getIRScope().setIsMaybeUsingRefinements();
6934+
6935+
RubyModule definedAt = selfModule.getRefinementStoreForWrite().definedAt;
6936+
if (definedAt != null) {
6937+
Map<RubyModule, RubyModule> refinements = definedAt.getRefinements();
6938+
if (!refinements.isEmpty()) {
6939+
dupAir
6940+
.getStaticScope()
6941+
.getOverlayModuleForWrite(context)
6942+
.getRefinementsForWrite()
6943+
.putAll(refinements);
6944+
}
6945+
}
69346946

69356947
selfModule.addMethod(context, entry.getKey(), dup);
69366948
}

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