Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert more BOOTSTRAPATTRs to Attributes #902

Closed

Conversation

MasterDuke17
Copy link
Contributor

This is a second pass, changing individual instances of BOOTSTRAPATTR to
Attributes even if not all for a class could be converted. Additionally,
this includes a change to scalar_attr() to permit creating Attributes
without setting :auto_viv_container.

The change to Code's $!compstuff allows the JVM build to compile;
however, the install still fails with 'Flattening named argument must
have VMHash REPR'.

Passes make spectest on Moar.

This is a second pass, changing individual instances of BOOTSTRAPATTR to
Attributes even if not all for a class could be converted. Additionally,
this includes a change to scalar_attr() to permit creating Attributes
without setting :auto_viv_container.

The change to Code's $!compstuff allows the JVM build to compile;
however, the install still fails with 'Flattening named argument must
have VMHash REPR'.
@MasterDuke17
Copy link
Contributor Author

Not sure about the AppVeyor builds, it passes make coretest on Moar for me.

@MasterDuke17
Copy link
Contributor Author

Ugh, this is what I get for trying to sync Moar and JVM development and testing late at night. If you just apply the Code.HOW change, you get the JVM behavior like I described. However, the complete PR now gives:

/home/dan/Source/perl6/rakudo-j/install/bin/nqp-j --target=jar --output=blib/Perl6/Compiler.jar --encoding=utf8
src/Perl6/Compiler.nqp
java.lang.NullPointerException
in (gen/jvm/Perl6-Optimizer.nqp)
in (gen/jvm/Perl6-Optimizer.nqp)
in (gen/jvm/Perl6-Optimizer.nqp)
in (src/vm/jvm/ModuleLoader.nqp:78)
in load_module (src/vm/jvm/ModuleLoader.nqp:60)
in load_module (gen/jvm/stage2/NQP.nqp:287)
in statement_control:sym (gen/jvm/stage2/NQP.nqp:2378)
in !reduce (gen/jvm/stage2/QRegex.nqp:1340)
in !cursor_pass (gen/jvm/stage2/QRegex.nqp:1301)
in statement_control:sym (gen/jvm/stage2/NQP.nqp)
in !protoregex (gen/jvm/stage2/QRegex.nqp:1377)
in statement_control (gen/jvm/stage2/NQP.nqp)
in statement (gen/jvm/stage2/NQP.nqp:946)
in statementlist (gen/jvm/stage2/NQP.nqp)
in comp_unit (gen/jvm/stage2/NQP.nqp:916)
in TOP (gen/jvm/stage2/NQP.nqp:814)
in parse (gen/jvm/stage2/QRegex.nqp:2093)
in parse (gen/jvm/stage2/NQPHLL.nqp:1400)
in compile (gen/jvm/stage2/NQPHLL.nqp:1356)
in eval (gen/jvm/stage2/NQPHLL.nqp:1092)
in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1313)
in command_eval (gen/jvm/stage2/NQPHLL.nqp:1207)
in command_line (gen/jvm/stage2/NQPHLL.nqp:1181)
in MAIN (gen/jvm/stage2/NQP.nqp:4058)
in (gen/jvm/stage2/NQP.nqp:4054)
in (gen/jvm/stage2/NQP.nqp)

jnthn and others added 17 commits October 12, 2016 19:17
So that we can re-use it in fixing up other I/O.
This solves the same problem IO::Socket::Async had with uncatchable
exceptions on decoding errors.
Also allow the encoding to be specified, in preparation for giving
Proc::Async and IO::Socket::Async encoding support.
One less check to make in a hot loop.
Part of the Str.match overhaul
They're essentially free nowadays, except from prevening static
inlining, which we only really care about for native ops, which don't
do method calls.
Which, of note, has a fix to give better errors when trying to invoke
a native parameter.
Create a Seq from a given iterator, given the next N elements of the
iterator (if available of course).
Skip at least N values of the iterator, and return the result of the
next pull-one.

Initially I thought about adding this as a method to Rakudo::Internals,
but it seemed more logical to add it here.  Although this may have
adverse effects, as now every class that does Iterator will have a copy
of this method?
@lizmat
Copy link
Contributor

lizmat commented Oct 13, 2016

So, what is the state of this PR ??

If I revert e8c8af6 , the JVM builds fine again. Which we would need for a release.

@MasterDuke17
Copy link
Contributor Author

MasterDuke17 commented Oct 13, 2016

I'm continuing to try and find a solution that isn't just copying back in the old code and having an #?if moar ... #?endif ... #?if jvm ... #?endif. However, I haven't had much success so far, so it's probably best to revert e8c8af6 before the release and hopefully I'll just resubmit as a comprehensive change.

zoffixznet added a commit that referenced this pull request Oct 13, 2016
This reverts commit e8c8af6.

Reverting per discussion[^1] to unbust JVM build. The work will be
rethought and added at a later date.

[1] #902 (comment)
@zoffixznet
Copy link
Contributor

Reverted in 2d5a2c9d16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants