@@ -57,7 +57,6 @@ type derived_tydesc_info = rec(ValueRef lltydesc, bool escapes);
57
57
58
58
type glue_fns = rec ( ValueRef activate_glue ,
59
59
ValueRef yield_glue ,
60
- ValueRef exit_task_glue ,
61
60
vec[ ValueRef ] native_glues_rust ,
62
61
vec[ ValueRef ] native_glues_pure_rust ,
63
62
vec[ ValueRef ] native_glues_cdecl ,
@@ -506,7 +505,7 @@ fn T_crate(&type_names tn) -> TypeRef {
506
505
T_int ( ) , // size_t yield_glue
507
506
T_int ( ) , // size_t unwind_glue
508
507
T_int ( ) , // size_t gc_glue
509
- T_int ( ) , // size_t main_exit_task_glue
508
+ T_int ( ) , // size_t pad
510
509
T_int ( ) , // int n_rust_syms
511
510
T_int ( ) , // int n_c_syms
512
511
T_int ( ) // int n_libs
@@ -7441,35 +7440,6 @@ fn i2p(ValueRef v, TypeRef t) -> ValueRef {
7441
7440
ret llvm:: LLVMConstIntToPtr ( v , t ) ;
7442
7441
}
7443
7442
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 , 0 u ) ;
7456
- let ValueRef arg2 = llvm:: LLVMGetParam ( llfn , 1 u ) ;
7457
- let ValueRef arg3 = llvm:: LLVMGetParam ( llfn , 2 u ) ;
7458
- let ValueRef arg4 = llvm:: LLVMGetParam ( llfn , 3 u ) ;
7459
- let ValueRef arg5 = llvm:: LLVMGetParam ( llfn , 4 u ) ;
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
-
7473
7443
fn create_typedefs( & @crate_ctxt cx) {
7474
7444
llvm:: LLVMAddTypeName ( cx. llmod , str:: buf( "crate" ) , T_crate ( cx . tn) ) ;
7475
7445
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) {
7486
7456
let ValueRef yield_glue_off =
7487
7457
llvm:: LLVMConstSub ( p2i ( glues. yield_glue ) , crate_addr ) ;
7488
7458
7489
- let ValueRef exit_task_glue_off =
7490
- llvm:: LLVMConstSub ( p2i ( glues. exit_task_glue ) , crate_addr ) ;
7491
-
7492
7459
let ValueRef crate_val =
7493
7460
C_struct ( [ C_null ( T_int ( ) ) , // ptrdiff_t image_base_off
7494
7461
p2i( crate_ptr) , // uintptr_t self_addr
@@ -7500,7 +7467,7 @@ fn create_crate_constant(ValueRef crate_ptr, @glue_fns glues) {
7500
7467
yield_glue_off, // size_t yield_glue_off
7501
7468
C_null ( T_int ( ) ) , // size_t unwind_glue_off
7502
7469
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
7504
7471
C_null ( T_int ( ) ) , // int n_rust_syms
7505
7472
C_null ( T_int ( ) ) , // int n_c_syms
7506
7473
C_null ( T_int ( ) ) // int n_libs
@@ -7853,13 +7820,6 @@ fn trans_vec_append_glue(@local_ctxt cx) {
7853
7820
fn make_glues( ModuleRef llmod, & type_names tn) -> @glue_fns {
7854
7821
ret @rec( activate_glue = decl_glue( llmod, tn, abi:: activate_glue_name( ) ) ,
7855
7822
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 ( ) ) ) ,
7863
7823
7864
7824
native_glues_rust =
7865
7825
vec:: init_fn[ ValueRef ] ( bind decl_native_glue( llmod, tn,
@@ -7895,9 +7855,6 @@ fn make_common_glue(&session::session sess, &str output) {
7895
7855
auto glues = make_glues( llmod, tn) ;
7896
7856
create_crate_constant( crate_ptr, glues) ;
7897
7857
7898
- trans:: trans_exit_task_glue ( glues , new_str_hash[ ValueRef ] ( ) , tn ,
7899
- llmod ) ;
7900
-
7901
7858
link:: write:: run_passes( sess, llmod, output) ;
7902
7859
}
7903
7860
0 commit comments