Skip to content

Commit 15025d1

Browse files
committed
---
yaml --- r: 2622 b: refs/heads/master c: bb7d4e1 h: refs/heads/master v: v3
1 parent 18bc2f7 commit 15025d1

File tree

4 files changed

+4
-51
lines changed

4 files changed

+4
-51
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 28c4a5586e9a6cedebb3ce08a11ded48fcd1fdc5
2+
refs/heads/master: bb7d4e15a82fca797a6f0faa812377ebde0baa13

trunk/src/comp/back/abi.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,6 @@ fn yield_glue_name() -> str {
105105
ret "rust_yield_glue";
106106
}
107107

108-
fn exit_task_glue_name() -> str {
109-
ret "rust_exit_task_glue";
110-
}
111-
112108
fn no_op_type_glue_name() -> str {
113109
ret "rust_no_op_type_glue";
114110
}

trunk/src/comp/middle/trans.rs

Lines changed: 2 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ type derived_tydesc_info = rec(ValueRef lltydesc, bool escapes);
5757

5858
type glue_fns = rec(ValueRef activate_glue,
5959
ValueRef yield_glue,
60-
ValueRef exit_task_glue,
6160
vec[ValueRef] native_glues_rust,
6261
vec[ValueRef] native_glues_pure_rust,
6362
vec[ValueRef] native_glues_cdecl,
@@ -506,7 +505,7 @@ fn T_crate(&type_names tn) -> TypeRef {
506505
T_int(), // size_t yield_glue
507506
T_int(), // size_t unwind_glue
508507
T_int(), // size_t gc_glue
509-
T_int(), // size_t main_exit_task_glue
508+
T_int(), // size_t pad
510509
T_int(), // int n_rust_syms
511510
T_int(), // int n_c_syms
512511
T_int() // int n_libs
@@ -7441,35 +7440,6 @@ fn i2p(ValueRef v, TypeRef t) -> ValueRef {
74417440
ret llvm::LLVMConstIntToPtr(v, t);
74427441
}
74437442

7444-
fn trans_exit_task_glue(@glue_fns glues,
7445-
&hashmap[str, ValueRef] externs,
7446-
type_names tn, ModuleRef llmod) {
7447-
let vec[TypeRef] T_args = [];
7448-
let vec[ValueRef] V_args = [];
7449-
7450-
auto llfn = glues.exit_task_glue;
7451-
7452-
auto entrybb = llvm::LLVMAppendBasicBlock(llfn, str::buf("entry"));
7453-
auto build = new_builder(entrybb);
7454-
7455-
let ValueRef arg1 = llvm::LLVMGetParam(llfn, 0u);
7456-
let ValueRef arg2 = llvm::LLVMGetParam(llfn, 1u);
7457-
let ValueRef arg3 = llvm::LLVMGetParam(llfn, 2u);
7458-
let ValueRef arg4 = llvm::LLVMGetParam(llfn, 3u);
7459-
let ValueRef arg5 = llvm::LLVMGetParam(llfn, 4u);
7460-
7461-
auto main_type = T_fn([T_int(), T_int(), T_int(), T_int()], T_void());
7462-
7463-
auto fun = build.IntToPtr(arg1, T_ptr(main_type));
7464-
auto call_args = [arg2, arg3, arg4, arg5];
7465-
build.FastCall(fun, call_args);
7466-
7467-
trans_native_call(build, glues, arg3,
7468-
externs, tn, llmod, "upcall_exit", true, [arg3]);
7469-
7470-
build.RetVoid();
7471-
}
7472-
74737443
fn create_typedefs(&@crate_ctxt cx) {
74747444
llvm::LLVMAddTypeName(cx.llmod, str::buf("crate"), T_crate(cx.tn));
74757445
llvm::LLVMAddTypeName(cx.llmod, str::buf("task"), T_task(cx.tn));
@@ -7486,9 +7456,6 @@ fn create_crate_constant(ValueRef crate_ptr, @glue_fns glues) {
74867456
let ValueRef yield_glue_off =
74877457
llvm::LLVMConstSub(p2i(glues.yield_glue), crate_addr);
74887458

7489-
let ValueRef exit_task_glue_off =
7490-
llvm::LLVMConstSub(p2i(glues.exit_task_glue), crate_addr);
7491-
74927459
let ValueRef crate_val =
74937460
C_struct([C_null(T_int()), // ptrdiff_t image_base_off
74947461
p2i(crate_ptr), // uintptr_t self_addr
@@ -7500,7 +7467,7 @@ fn create_crate_constant(ValueRef crate_ptr, @glue_fns glues) {
75007467
yield_glue_off, // size_t yield_glue_off
75017468
C_null(T_int()), // size_t unwind_glue_off
75027469
C_null(T_int()), // size_t gc_glue_off
7503-
exit_task_glue_off, // size_t main_exit_task_glue_off
7470+
C_null(T_int()), // size_t pad
75047471
C_null(T_int()), // int n_rust_syms
75057472
C_null(T_int()), // int n_c_syms
75067473
C_null(T_int()) // int n_libs
@@ -7853,13 +7820,6 @@ fn trans_vec_append_glue(@local_ctxt cx) {
78537820
fn make_glues(ModuleRef llmod, &type_names tn) -> @glue_fns {
78547821
ret @rec(activate_glue = decl_glue(llmod, tn, abi::activate_glue_name()),
78557822
yield_glue = decl_glue(llmod, tn, abi::yield_glue_name()),
7856-
exit_task_glue = decl_cdecl_fn(llmod, abi::exit_task_glue_name(),
7857-
T_fn([T_int(),
7858-
T_int(),
7859-
T_int(),
7860-
T_int(),
7861-
T_int()],
7862-
T_void())),
78637823

78647824
native_glues_rust =
78657825
vec::init_fn[ValueRef](bind decl_native_glue(llmod, tn,
@@ -7895,9 +7855,6 @@ fn make_common_glue(&session::session sess, &str output) {
78957855
auto glues = make_glues(llmod, tn);
78967856
create_crate_constant(crate_ptr, glues);
78977857

7898-
trans::trans_exit_task_glue(glues, new_str_hash[ValueRef](), tn,
7899-
llmod);
7900-
79017858
link::write::run_passes(sess, llmod, output);
79027859
}
79037860

trunk/src/rt/rust_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ class rust_crate {
235235
ptrdiff_t yield_glue_off;
236236
ptrdiff_t unwind_glue_off;
237237
ptrdiff_t gc_glue_off;
238-
ptrdiff_t exit_task_glue_off;
238+
ptrdiff_t pad;
239239

240240
public:
241241

0 commit comments

Comments
 (0)