1. 10 12月, 2018 1 次提交
  2. 09 12月, 2018 1 次提交
  3. 08 12月, 2018 5 次提交
  4. 07 12月, 2018 3 次提交
  5. 05 12月, 2018 4 次提交
    • F
      Isolate::from_raw_ptr and other cleanups. · 60c008d2
      F001 提交于
      `Isolate::from_void_ptr` is renamed to `from_raw_ptr`, to keep
      consistency with std libs.
      
      It is changed to `unsafe` function, because it can't guarantee that the
      input is valid. This guarantee should be provided by the caller.
      
      Its return type is changed to `&Isolate`, because `&mut Isolate` type
      requires that no other aliases co-exist in this period of time, this
      does not seem true. So I changed most of the methods to accept shared
      reference `&Isolate`. It is easier to reason about the correctness of
      `unsafe` blocks. As long as these shared references are in the same
      thread, these `unsafe` codes are probably correct.
      60c008d2
    • R
      Upgrade flatbuffers to 80d148 · 45320bec
      Ryan Dahl 提交于
      45320bec
    • R
      Add deno_config struct for isolate creation. (#1277) · d70b04c6
      Ryan Dahl 提交于
      In preperation for adding other callbacks to libdeno.
      d70b04c6
    • F
      Remove static lifetime bound in OpCreator (#1276) · 30420ad3
      F001 提交于
      The main purpose of this PR is to remove the `'static` lifetime bound in
      
      type OpCreator =
        fn(state: &Arc<IsolateState>, base: &msg::Base, data: &'static mut [u8])
          -> Box<Op>;
      
      The reason is simple: it is plain wrong, the `data` is actually not `'static`. It is created when the message is sent from C side, and will be recycled when the message is responded. It violates the definition of `'static` lifetime.
      
      If someone save this pointer somewhere else, and reuse it later again, uninitialized memory could be accessed. This kind of memory unsafety does not happen yet because the logic is carefully organized in this project. Lifetime constraints are maintained by code convention. It could be more robust if we can express this constraint by Rust's type system.
      
      Basic idea: tie buffer's lifetime to an object's lifetime, a.k.a, RAII. The type `deno_buf` is pretty suitable for this job.
      30420ad3
  6. 04 12月, 2018 10 次提交
  7. 01 12月, 2018 11 次提交
  8. 30 11月, 2018 5 次提交