Skip to content

Remove unused upcalls #10708

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

Closed

Conversation

alexcrichton
Copy link
Member

The main one removed is rust_upcall_reset_stack_limit (continuation of #10156),
and this also removes the upcall_trace function. The was hidden behind a
-Z trace flag, but if you attempt to use this now you'll get a linker error
because there is no implementation of the 'upcall_trace' function. Due to this
no longer working, I decided to remove it entirely from the compiler (I'm also a
little unsure on what it did in the first place).

Closes #10156

The main one removed is rust_upcall_reset_stack_limit (continuation of rust-lang#10156),
and this also removes the upcall_trace function. The was hidden behind a
`-Z trace` flag, but if you attempt to use this now you'll get a linker error
because there is no implementation of the 'upcall_trace' function. Due to this
no longer working, I decided to remove it entirely from the compiler (I'm also a
little unsure on what it did in the first place).

Closes rust-lang#10156
@pcwalton
Copy link
Contributor

trace was a debugging tool when we were trying to get some feature working. I forget which one—GC, perhaps? git blame will tell you, but it doesn't really matter since it's long since bitrotted into uselessness.

@alexcrichton
Copy link
Member Author

Turns out the error is an LLVM codegen problem, and I've opened an LLVM issue about it (http://llvm.org/bugs/show_bug.cgi?id=18088), I'll keep following that and hopefully get a resolution soon-ish!

@alexcrichton
Copy link
Member Author

It appears we need to upgrade LLVM to make forward progress on this.

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Dec 1, 2013
LLVM's JIT has been updated numerous times, and we haven't been tracking it at
all. The existing LLVM glue code no longer compiles, and the JIT isn't used for
anything currently.

This also rebases out the FixedStackSegment support which we have added to LLVM.
None of this is still in use by the compiler, and there's no need to keep this
functionality around inside of LLVM.

This is needed to unblock rust-lang#10708 (where we're tripping an LLVM assertion).
@alexcrichton alexcrichton mentioned this pull request Dec 1, 2013
@alexcrichton
Copy link
Member Author

Closing due to being rolled up in #10758

@alexcrichton alexcrichton deleted the remove-reset-stack-limit branch December 1, 2013 23:21
bors added a commit that referenced this pull request Dec 5, 2013
This upgrades LLVM in order to make progress on #10708, and it's also been awhile since we last upgraded!

The contentious point of this upgrade is that all JIT support has been removed because LLVM is changing it and we're not keeping up with it.
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Dec 5, 2013
LLVM's JIT has been updated numerous times, and we haven't been tracking it at
all. The existing LLVM glue code no longer compiles, and the JIT isn't used for
anything currently.

This also rebases out the FixedStackSegment support which we have added to LLVM.
None of this is still in use by the compiler, and there's no need to keep this
functionality around inside of LLVM.

This is needed to unblock rust-lang#10708 (where we're tripping an LLVM assertion).
bors added a commit that referenced this pull request Dec 6, 2013
This upgrades LLVM in order to make progress on #10708, and it's also been awhile since we last upgraded!

The contentious point of this upgrade is that all JIT support has been removed because LLVM is changing it and we're not keeping up with it.
flip1995 pushed a commit to flip1995/rust that referenced this pull request Jun 30, 2023
…shearth

manual_let_else: support struct patterns

This adds upon the improvements of rust-lang#10797 and:

* Only prints `()` around `Or` patterns at the top level (fixing a regression of rust-lang#10797)
* Supports multi-binding patterns: `let (u, v) = if let (Some(u_i), Ok(v_i)) = ex { (u_i, v_i) } else ...`
* Traverses through tuple patterns: `let v = if let (Some(v), None) = ex { v } else ...`
* Supports struct patterns: `let v = if let S { v, w, } = ex { (v, w) } else ...`

```
changelog: [`manual_let_else`]: improve pattern printing to support struct patterns
```

fixes rust-lang#10708
fixes rust-lang#10424
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.

3 participants