Skip to content

Commit b575357

Browse files
eregonandrykonchin
authored andcommitted
[GR-45621] Optimize calls with ruby2_keywords forwarding by deciding it per call site
PullRequest: truffleruby/4015
2 parents 54e9635 + eb10c5e commit b575357

File tree

47 files changed

+108
-215
lines changed

Some content is hidden

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

47 files changed

+108
-215
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ test/mri/tests/cext-c/**/depend
8888
# Diagnostic output directory
8989
dumps/
9090
graal_dumps/
91+
/native-image-build-rubyvm.json
9192

9293
# Profiling
9394
profiles/

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Compatibility:
1414

1515
Performance:
1616

17+
* Optimize calls with `ruby2_keywords` forwarding by deciding it per call site instead of per callee thanks to [my fix in CRuby 3.2](https://bugs.ruby-lang.org/issues/18625) (@eregon).
1718

1819
Changes:
1920

mx.truffleruby/env_files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Here is how the various env files relate to each other:
99
* `jvm-ee-ntl`: + native toolchain launchers
1010
* `jvm-ee-libgraal`: + libgraal
1111
* `native-ee`: + librubyvm + `Truffle Macro Enterprise` + Native Image G1
12+
* `native-ee-host-inlining`: + `TruffleHostInliningPrintExplored`, - native toolchain launchers
1213
* `native-ee-aux`: + `AuxiliaryEngineCache`, - Native Image G1 (currently incompatible)
13-
* `jvm-gu`: + Graal Updater
1414
* `jvm-js`: + Graal.js
1515
* `jvm-py`: + GraalPython

mx.truffleruby/jvm-gu

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
GRAALVM_SKIP_ARCHIVE=true
2+
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/substratevm-enterprise,substratevm-enterprise-gcs
3+
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise,suite:substratevm-enterprise-gcs
4+
NATIVE_IMAGES=lib:rubyvm
5+
EXTRA_IMAGE_BUILDER_ARGUMENTS=rubyvm:-H:+UnlockExperimentalVMOptions rubyvm:-H:BuildOutputJSONFile=native-image-build-rubyvm.json rubyvm:-H:Log=HostInliningPhase,~CanonicalizerPhase,~GraphBuilderPhase rubyvm:-H:+TruffleHostInliningPrintExplored rubyvm:-H:-UnlockExperimentalVMOptions rubyvm:-Dgraal.LogFile=host-inlining.txt
6+
GENERATE_DEBUGINFO=false
7+
# To also create the standalone
8+
INSTALLABLES=TruffleRuby
9+
BUILD_TARGETS=GRAALVM,GRAALVM_STANDALONES

spec/tags/core/module/ruby2_keywords_tags.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
fails:Keyword arguments raises ArgumentError for missing keyword arguments even if there are extra ones
2-
fails:Keyword arguments delegation does not work with call(*ruby2_keyword_args) with missing ruby2_keywords in between

spec/truffle/parsing/fixtures/complex_numbers/with_float_imaginary_part.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ ast: |
2020
methodName = "convert"
2121
notEmptyKeywordsProfile = false
2222
notRuby2KeywordsHashProfile = false
23-
ruby2KeywordsHashProfile = false
2423
children:
2524
arguments = [
2625
IntegerFixnumLiteralNode

spec/truffle/parsing/fixtures/complex_numbers/with_integer_imaginary_part.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ ast: |
2020
methodName = "convert"
2121
notEmptyKeywordsProfile = false
2222
notRuby2KeywordsHashProfile = false
23-
ruby2KeywordsHashProfile = false
2423
children:
2524
arguments = [
2625
IntegerFixnumLiteralNode

spec/truffle/parsing/fixtures/ensure/in_begin_end_block.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ ast: |
5050
methodName = "bar"
5151
notEmptyKeywordsProfile = false
5252
notRuby2KeywordsHashProfile = false
53-
ruby2KeywordsHashProfile = false
5453
children:
5554
receiver =
5655
SelfNode

0 commit comments

Comments
 (0)