Re: [v8-users] GN cross build from X64 to ARM64

2016-09-13 Thread Jochen Eisinger
It looks like you don't have the aarch64 toolchain installed, so you can't
cross compile.

On Tue, Sep 13, 2016 at 1:42 AM Nonny Mouse  wrote:

> I've been using V8 on X64 Linux for several years, but not previously
> building with GN.  For the future, I want to use the same version of V8,
> under Linux, on both X64 and ARM64 (have a working development board with
> Ubuntu Linux up and running).
>
> After fetch(ing) the current source, I have no problem building the X64
> version.  Using identical GN options (except "target_cpu=arm64") the Ninja
> build fails half way through with the following:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *[619/1394] AR obj/build/config/sanitizers/liboptions_sources.aFAILED:
> obj/build/config/sanitizers/liboptions_sources.a python
> "../../build/toolchain/gcc_ar_wrapper.py"
> --output=obj/build/config/sanitizers/liboptions_sources.a
> --ar="aarch64-linux-gnu-ar"  rcsD
> @"obj/build/config/sanitizers/liboptions_sources.a.rsp"Traceback (most
> recent call last):  File "../../build/toolchain/gcc_ar_wrapper.py", line
> 66, in sys.exit(main())  File
> "../../build/toolchain/gcc_ar_wrapper.py", line 62, in mainreturn
> subprocess.call(wrapper_utils.CommandToRun(command))  File
> "/usr/lib/python2.7/subprocess.py", line 522, in callreturn
> Popen(*popenargs, **kwargs).wait()  File
> "/usr/lib/python2.7/subprocess.py", line 710, in __init__errread,
> errwrite)  File "/usr/lib/python2.7/subprocess.py", line 1327, in
> _execute_childraise child_exceptionOSError: [Errno 2] No such file or
> directory[621/1394] ACTION
> //:js2c(//build/toolchain/linux:clang_arm64)ninja: build stopped:
> subcommand failed.*
> The exact GN command line is:  gn gen out/arm --args='is_debug=false
> symbol_level=0 enable_nacl=false is_official_build=true
> v8_use_snapshot=false v8_enable_i18n_support=false target_cpu="arm64"'
>
> I really don't have time to get down and dirty, especially since this
> appears to be a build configuration problem.  Does anybody have a simple
> solution?
>
> Ultimately, I would like to build natively on the ARM64 box, but I
> understand from the docs that this is not yet supported?  Does anybody have
> any experience with this?
>
> Thanx for any help.
>
> --
> --
> v8-users mailing list
> v8-users@googlegroups.com
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to v8-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[v8-users] Fatal error: Interceptor silently changed store target

2016-09-13 Thread Danny Dorfman
Hello there,

I just updated my V8 to the latest 5.2 patch level (5.2.361.54), and now 
I'm getting this error:

#
# Fatal error in v8::NamedPropertySetterCallback
# Interceptor silently changed store target.
#

What exactly does it mean? Please assist.

Regards,
Danny

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[v8-users] Re: Fatal error: Interceptor silently changed store target

2016-09-13 Thread Danny Dorfman
Here is a program that demonstrates this issue: (removing line #28 
eliminates the problem)

  1 #include 
  2 #include 
  3 #include "v8/libplatform/libplatform.h"
  4 #include "v8/v8.h"
  5 
  6 class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
  7  public:
  8   virtual void* Allocate(size_t length) {
  9 void* data = AllocateUninitialized(length);
 10 return data == NULL ? data : memset(data, 0, length);
 11   }
 12   virtual void* AllocateUninitialized(size_t length) { return 
malloc(length); }
 13   virtual void Free(void* data, size_t) { free(data); }
 14 };
 15 
 16 void GetProperty(v8::Local property, const 
v8::PropertyCallbackInfo& info)
 17 {
 18 v8::String::Utf8Value asciiprop(property);
 19 std::cout << "GETTER: property=" << *asciiprop << std::endl;
 20 }
 21 
 22 void SetProperty(v8::Local property, v8::Local 
value, const v8::PropertyCallbackInfo& info)
 23 {
 24 v8::Isolate *isolate = info.GetIsolate();
 25 v8::String::Utf8Value asciiproperty(property);
 26 v8::String::Utf8Value asciivalue(value);
 27 std::cout << "SETTER: property=" << *asciiproperty << ", value=" << 
 *asciivalue << std::endl;
 28 std::cout << "SETTER: hash=" << info.This()->GetIdentityHash() << 
std::endl;
 29 }
 30 
 31 int main(int argc, char* argv[])
 32 {
 33   // Initialize V8.
 34   v8::V8::InitializeICU();
 35   v8::V8::InitializeExternalStartupData(argv[0]);
 36   v8::Platform* platform = v8::platform::CreateDefaultPlatform();
 37   v8::V8::InitializePlatform(platform);
 38   v8::V8::Initialize();
 39 
 40   // Create a new Isolate and make it the current one.
 41   ArrayBufferAllocator allocator;
 42   v8::Isolate::CreateParams create_params;
 43   create_params.array_buffer_allocator = &allocator;
 44   v8::Isolate* isolate = v8::Isolate::New(create_params);
 45   {
 46 v8::Isolate::Scope isolate_scope(isolate);
 47 v8::HandleScope handle_scope(isolate);
 48 v8::Local objectTemplate = 
v8::ObjectTemplate::New();
 49 objectTemplate->SetNamedPropertyHandler(GetProperty,SetProperty);
 50 v8::Local ctx = v8::Context::New(isolate);
 51 v8::Context::Scope context_scope(ctx);
52 
 53 // run tests
 54 v8::Local fooStr = v8::String::NewFromUtf8(isolate, 
"foo");
 55 v8::Local barStr = v8::String::NewFromUtf8(isolate, 
"bar");
 56 v8::Local obj = objectTemplate->NewInstance();
 57 obj->Set(fooStr, barStr);
 58   }
 59 
 60   // Dispose the isolate and tear down V8.
 61   isolate->Dispose();
 62   v8::V8::Dispose();
 63   v8::V8::ShutdownPlatform();
 64   delete platform;
 65   return 0;
 66 }



On Tuesday, September 13, 2016 at 10:25:11 AM UTC+3, Danny Dorfman wrote:
>
> Hello there,
>
> I just updated my V8 to the latest 5.2 patch level (5.2.361.54), and now 
> I'm getting this error:
>
> #
> # Fatal error in v8::NamedPropertySetterCallback
> # Interceptor silently changed store target.
> #
>
> What exactly does it mean? Please assist.
>
> Regards,
> Danny
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Build v8 with VS2015 and use prefered v8 version

2016-09-13 Thread Jochen Eisinger
Please follow these steps:
https://github.com/v8/v8/wiki/Building%20with%20GN

If you want to use a specific version, you can check out that branch / tag
and re-run gclient sync

On Tue, Sep 13, 2016 at 3:16 AM Raefaldhi Amartya Junior <
raefaldhiamar...@gmail.com> wrote:

> How to build prefered v8 version?
>
> Here is my step:
>
> 1. Download v8- 5.3.332.43 from here:
> https://github.com/v8/v8/releases/5.3.332.43
> 2. Unzip
> 3. cd /d v8- 5.3.332.43
> 4. gn args out.gn/foo
>
> I got error:
> gn.py: Could not find any checkout in any parent of the current path.
> This must be run inside checkout.
>
>
> --
> --
> v8-users mailing list
> v8-users@googlegroups.com
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to v8-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Re: Fatal error: Interceptor silently changed store target

2016-09-13 Thread Ben Noordhuis
On Tue, Sep 13, 2016 at 9:49 AM, Danny Dorfman  wrote:
> Here is a program that demonstrates this issue: (removing line #28
> eliminates the problem)
>
>   1 #include 
>   2 #include 
>   3 #include "v8/libplatform/libplatform.h"
>   4 #include "v8/v8.h"
>   5
>   6 class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
>   7  public:
>   8   virtual void* Allocate(size_t length) {
>   9 void* data = AllocateUninitialized(length);
>  10 return data == NULL ? data : memset(data, 0, length);
>  11   }
>  12   virtual void* AllocateUninitialized(size_t length) { return
> malloc(length); }
>  13   virtual void Free(void* data, size_t) { free(data); }
>  14 };
>  15
>  16 void GetProperty(v8::Local property, const
> v8::PropertyCallbackInfo& info)
>  17 {
>  18 v8::String::Utf8Value asciiprop(property);
>  19 std::cout << "GETTER: property=" << *asciiprop << std::endl;
>  20 }
>  21
>  22 void SetProperty(v8::Local property, v8::Local
> value, const v8::PropertyCallbackInfo& info)
>  23 {
>  24 v8::Isolate *isolate = info.GetIsolate();
>  25 v8::String::Utf8Value asciiproperty(property);
>  26 v8::String::Utf8Value asciivalue(value);
>  27 std::cout << "SETTER: property=" << *asciiproperty << ", value=" <<
> *asciivalue << std::endl;
>  28 std::cout << "SETTER: hash=" << info.This()->GetIdentityHash() <<
> std::endl;
>  29 }
>  30
>  31 int main(int argc, char* argv[])
>  32 {
>  33   // Initialize V8.
>  34   v8::V8::InitializeICU();
>  35   v8::V8::InitializeExternalStartupData(argv[0]);
>  36   v8::Platform* platform = v8::platform::CreateDefaultPlatform();
>  37   v8::V8::InitializePlatform(platform);
>  38   v8::V8::Initialize();
>  39
>  40   // Create a new Isolate and make it the current one.
>  41   ArrayBufferAllocator allocator;
>  42   v8::Isolate::CreateParams create_params;
>  43   create_params.array_buffer_allocator = &allocator;
>  44   v8::Isolate* isolate = v8::Isolate::New(create_params);
>  45   {
>  46 v8::Isolate::Scope isolate_scope(isolate);
>  47 v8::HandleScope handle_scope(isolate);
>  48 v8::Local objectTemplate =
> v8::ObjectTemplate::New();
>  49 objectTemplate->SetNamedPropertyHandler(GetProperty,SetProperty);
>  50 v8::Local ctx = v8::Context::New(isolate);
>  51 v8::Context::Scope context_scope(ctx);
> 52
>  53 // run tests
>  54 v8::Local fooStr = v8::String::NewFromUtf8(isolate,
> "foo");
>  55 v8::Local barStr = v8::String::NewFromUtf8(isolate,
> "bar");
>  56 v8::Local obj = objectTemplate->NewInstance();
>  57 obj->Set(fooStr, barStr);
>  58   }
>  59
>  60   // Dispose the isolate and tear down V8.
>  61   isolate->Dispose();
>  62   v8::V8::Dispose();
>  63   v8::V8::ShutdownPlatform();
>  64   delete platform;
>  65   return 0;
>  66 }

I think you found a bug.

JSObject::GetOrCreateIdentityHash() computes the hash lazily and
caches it as a symbol property on the object but it looks up that
property with the OWN flag instead of OWN_SKIP_INTERCEPTOR.  That
looks incorrect because it means it's going to call your interceptor
again.

There is a debug check that verifies it's a data property but it's
skipped in release builds.  I'd file an issue if I were you.

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Re: Fatal error: Interceptor silently changed store target

2016-09-13 Thread Danny Dorfman
Hi Ben,
Thanks for backing up my suspicion. Bug was filed 
... https://bugs.chromium.org/p/v8/issues/detail?id=5379
D.


> I think you found a bug. 
>
> JSObject::GetOrCreateIdentityHash() computes the hash lazily and 
> caches it as a symbol property on the object but it looks up that 
> property with the OWN flag instead of OWN_SKIP_INTERCEPTOR.  That 
> looks incorrect because it means it's going to call your interceptor 
> again. 
>
> There is a debug check that verifies it's a data property but it's 
> skipped in release builds.  I'd file an issue if I were you. 
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Build v8 with VS2015 and use prefered v8 version

2016-09-13 Thread Raefaldhi Amartya Junior
So i must download v8 with fetch v8?

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Build v8 with VS2015 and use prefered v8 version

2016-09-13 Thread Raefaldhi Amartya Junior
So i must use fetch v8, no other way?

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Build v8 with VS2015 and use prefered v8 version

2016-09-13 Thread Jochen Eisinger
You can also manually download all dependencies, but that's not documented,
so yes, it's pretty much fetch only

Raefaldhi Amartya Junior  schrieb am Mi., 14.
Sep. 2016, 03:11:

> So i must use fetch v8, no other way?
>
> --
> --
> v8-users mailing list
> v8-users@googlegroups.com
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to v8-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.