mirror of
https://github.com/servo/servo.git
synced 2025-07-24 15:50:21 +01:00
Upgrade to rustc 1.20.0-nightly (696412de7 2017-07-06)
This commit is contained in:
parent
eec51cdd57
commit
665e9203a1
3 changed files with 13 additions and 10 deletions
|
@ -3,11 +3,9 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
// For SIMD
|
// For SIMD
|
||||||
#![feature(cfg_target_feature)]
|
#![cfg_attr(any(target_os = "linux", target_os = "android"), feature(alloc, allocator_api))]
|
||||||
#![cfg_attr(any(target_os = "linux", target_os = "android"), feature(heap_api))]
|
|
||||||
|
|
||||||
#![cfg_attr(any(target_os = "linux", target_os = "android"), feature(alloc))]
|
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
|
#![feature(cfg_target_feature)]
|
||||||
#![feature(range_contains)]
|
#![feature(range_contains)]
|
||||||
#![feature(unique)]
|
#![feature(unique)]
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use alloc::heap;
|
use alloc::allocator::{Alloc, Layout};
|
||||||
|
use alloc::heap::Heap;
|
||||||
use freetype::freetype::FT_Add_Default_Modules;
|
use freetype::freetype::FT_Add_Default_Modules;
|
||||||
use freetype::freetype::FT_Done_Library;
|
use freetype::freetype::FT_Done_Library;
|
||||||
use freetype::freetype::FT_Library;
|
use freetype::freetype::FT_Library;
|
||||||
|
@ -26,7 +27,8 @@ const FT_ALIGNMENT: usize = 1;
|
||||||
|
|
||||||
extern fn ft_alloc(mem: FT_Memory, req_size: c_long) -> *mut c_void {
|
extern fn ft_alloc(mem: FT_Memory, req_size: c_long) -> *mut c_void {
|
||||||
unsafe {
|
unsafe {
|
||||||
let ptr = heap::allocate(req_size as usize, FT_ALIGNMENT) as *mut c_void;
|
let layout = Layout::from_size_align(req_size as usize, FT_ALIGNMENT).unwrap();
|
||||||
|
let ptr = Heap.alloc(layout).unwrap() as *mut c_void;
|
||||||
let actual_size = heap_size_of(ptr as *const _);
|
let actual_size = heap_size_of(ptr as *const _);
|
||||||
|
|
||||||
let user = (*mem).user as *mut User;
|
let user = (*mem).user as *mut User;
|
||||||
|
@ -43,7 +45,8 @@ extern fn ft_free(mem: FT_Memory, ptr: *mut c_void) {
|
||||||
let user = (*mem).user as *mut User;
|
let user = (*mem).user as *mut User;
|
||||||
(*user).size -= actual_size;
|
(*user).size -= actual_size;
|
||||||
|
|
||||||
heap::deallocate(ptr as *mut u8, actual_size, FT_ALIGNMENT);
|
let layout = Layout::from_size_align(actual_size, FT_ALIGNMENT).unwrap();
|
||||||
|
Heap.dealloc(ptr as *mut u8, layout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,8 +54,10 @@ extern fn ft_realloc(mem: FT_Memory, _cur_size: c_long, new_req_size: c_long,
|
||||||
old_ptr: *mut c_void) -> *mut c_void {
|
old_ptr: *mut c_void) -> *mut c_void {
|
||||||
unsafe {
|
unsafe {
|
||||||
let old_actual_size = heap_size_of(old_ptr as *const _);
|
let old_actual_size = heap_size_of(old_ptr as *const _);
|
||||||
let new_ptr = heap::reallocate(old_ptr as *mut u8, old_actual_size,
|
let old_layout = Layout::from_size_align(old_actual_size, FT_ALIGNMENT).unwrap();
|
||||||
new_req_size as usize, FT_ALIGNMENT) as *mut c_void;
|
let new_layout = Layout::from_size_align(new_req_size as usize, FT_ALIGNMENT).unwrap();
|
||||||
|
let result = Heap.realloc(old_ptr as *mut u8, old_layout, new_layout);
|
||||||
|
let new_ptr = result.unwrap() as *mut c_void;
|
||||||
let new_actual_size = heap_size_of(new_ptr as *const _);
|
let new_actual_size = heap_size_of(new_ptr as *const _);
|
||||||
|
|
||||||
let user = (*mem).user as *mut User;
|
let user = (*mem).user as *mut User;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
3bfc18a9619a5151ff4f11618db9cd882996ba6f
|
696412de7e4e119f8536686c643621115b90c775
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue