mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Auto merge of #17714 - servo:rustup, r=SimonSapin
Update to rustc 1.20.0-nightly (f85579d4a 2017-07-12) <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/17714) <!-- Reviewable:end -->
This commit is contained in:
commit
51c94954d1
3 changed files with 12 additions and 13 deletions
|
@ -3,19 +3,14 @@
|
||||||
* 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(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)]
|
||||||
|
|
||||||
#![deny(unsafe_code)]
|
#![deny(unsafe_code)]
|
||||||
|
|
||||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
|
||||||
extern crate alloc;
|
|
||||||
|
|
||||||
extern crate app_units;
|
extern crate app_units;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate bitflags;
|
extern crate bitflags;
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
* 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 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;
|
||||||
|
@ -10,6 +9,7 @@ use freetype::freetype::FT_Memory;
|
||||||
use freetype::freetype::FT_MemoryRec_;
|
use freetype::freetype::FT_MemoryRec_;
|
||||||
use freetype::freetype::FT_New_Library;
|
use freetype::freetype::FT_New_Library;
|
||||||
use heapsize::{HeapSizeOf, heap_size_of};
|
use heapsize::{HeapSizeOf, heap_size_of};
|
||||||
|
use std::heap::{Heap, Alloc, Layout};
|
||||||
use std::os::raw::{c_long, c_void};
|
use std::os::raw::{c_long, c_void};
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
@ -26,7 +26,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 +44,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 +53,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
|
f85579d4a2c342654f9b158fafd565eb159fdb59
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue