Re: [v8-users] Re: [SIGSEGV] v8::HandleScope::HandleScope()

2012-06-16 Thread Vyacheslav Egorov
This assertion indeed indicates that your are trying to use V8 from a thread that does not own an isolate. You should get exclusive access to the isolate you are going to use with Locker: https://github.com/v8/v8/blob/master/include/v8.h#L3638 -- Vyacheslav Egorov On Fri, Jun 15, 2012 at 1:16

Re: [v8-users] ArrayBuffer fast access

2012-06-16 Thread Vyacheslav Egorov
> I couldn't find any fast access defined in the JIT compiler There are fast paths for typed arrays inside V8, they are just not called typed arrays :-) Look for "external arrays" instead. For them V8 has both specialized IC stubs (e.g. load stub: https://github.com/v8/v8/blob/master/src/ia32/stu

Re: [v8-users] gen-postmortem-metadata.py

2012-06-16 Thread Jakob Kummerow
Yeah, I agree that this should use "open" instead of "file". Note, however, that http://docs.python.org/library/functions.html#file says that using open() is "preferable", but not required. As for the process how to contribute, check out https://code.google.com/p/v8/wiki/Contributing . On Sat, J

Re: [v8-users] ArrayBuffer fast access

2012-06-16 Thread Jakob Kummerow
Accessing TypedArrays is at least as fast as accessing regular JSArrays, since they never contain holes and the optimizing compiler knows what types to expect from their elements. Basically the recently introduced special handling of SMI arrays without holes is an attempt to get them closer to Type

[v8-users] ArrayBuffer fast access

2012-06-16 Thread Pablo Sole
Hello there, I'm embedding v8 into a binary instrumentation framework and I'm trying to use an ArrayBuffer/TypedBuffer for fast memory operations (like Tamarin/ActionScript does for the Memory object operations), but I couldn't find any fast access defined in the JIT compiler, so I suppose that a

[v8-users] Re: Build error in trunk

2012-06-16 Thread mschwartz
This is definitely an issue. MaybeObject* JSObject::OptimizeAsPrototype() { if (IsGlobalObject()) return this; // Make sure prototypes are fast objects and their maps have the bit set // so they remain fast. // Map* proto_map = map(); if (!HasFastProperties()) { MaybeObject* new_prot