Skip to content

Commit 41b5c21

Browse files
committed
---
yaml --- r: 6635 b: refs/heads/master c: 9e6ff44 h: refs/heads/master i: 6633: 7296c06 6631: 3b69b36 v: v3
1 parent bc7e02c commit 41b5c21

File tree

4 files changed

+10
-11
lines changed

4 files changed

+10
-11
lines changed

[refs]

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 0e74121ddb1cf366a474a2d156903edb9e8d9be0
2+
refs/heads/master: 9e6ff44d9359ce062fb4f0e29c8f4c33eec7781e

trunk/src/rt/arch/i386/morestack.S

+1-7
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#define UPCALL_DEL_STACK _upcall_del_stack
2222
#define RUST_GET_TASK _rust_get_task
2323
#define UPCALL_CALL_C _upcall_call_shim_on_c_stack
24-
#define MORESTACK __morestack
24+
#define MORESTACK ___morestack
2525
#endif
2626
#endif
2727

@@ -44,7 +44,6 @@
4444
.type MORESTACK,@function
4545
#endif
4646

47-
#if defined(__linux__) || defined(__APPLE__)
4847
MORESTACK:
4948
#ifdef __linux__
5049
.cfi_startproc
@@ -144,11 +143,6 @@ MORESTACK:
144143
.cfi_endproc
145144
#endif
146145

147-
#else
148-
MORESTACK:
149-
ret
150-
#endif
151-
152146
#ifdef __APPLE__
153147

154148
.section __IMPORT,__pointers,non_lazy_symbol_pointers

trunk/src/rt/arch/i386/record_sp.S

+7-3
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,22 @@ RECORD_SP:
1616
movl 4(%esp), %eax
1717
movl %eax, %gs:48
1818
ret
19-
#else
19+
#endif
20+
2021
#if defined(__APPLE__)
2122
RECORD_SP:
2223
movl $0x48+90*4, %eax
2324
movl 4(%esp), %ecx
2425
movl %ecx, %gs:(%eax)
2526
ret
26-
#else
27+
#endif
28+
29+
#if defined(_WIN32)
2730
RECORD_SP:
31+
movl 4(%esp), %eax
32+
movl %eax, %fs:0x14
2833
ret
2934
#endif
30-
#endif
3135

3236
GET_SP:
3337
movl %esp, %eax

trunk/src/rt/rust_scheduler.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,7 @@ void
394394
rust_scheduler::place_task_in_tls(rust_task *task) {
395395
BOOL result = TlsSetValue(task_key, task);
396396
assert(result && "Couldn't place the task in TLS!");
397+
task->record_stack_limit();
397398
}
398399

399400
rust_task *

0 commit comments

Comments
 (0)