Reviewers: machenbach,
Message:
PTAL. This provides the call to check address sanitizer.
Description:
Provide "freeBuffer()" primitive for testing under ASan.
[email protected]
Please review this at https://codereview.chromium.org/85883002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+14, -0 lines):
M src/bootstrapper.cc
M src/flag-definitions.h
M tools/gyp/v8.gyp
Index: src/bootstrapper.cc
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
index
67b579899fd4ea265fae4c3de22fb87e708a3afc..660a76e2ecb4aa1fabd95b589063c327b494f4d6
100644
--- a/src/bootstrapper.cc
+++ b/src/bootstrapper.cc
@@ -41,6 +41,7 @@
#include "platform.h"
#include "snapshot.h"
#include "trig-table.h"
+#include "extensions/free-buffer-extension.h"
#include "extensions/externalize-string-extension.h"
#include "extensions/gc-extension.h"
#include "extensions/statistics-extension.h"
@@ -100,6 +101,9 @@ void Bootstrapper::Initialize(bool create_heap_objects)
{
void Bootstrapper::InitializeOncePerProcess() {
+#ifdef ADDRESS_SANITIZER
+ FreeBufferExtension::Register();
+#endif
GCExtension::Register();
ExternalizeStringExtension::Register();
StatisticsExtension::Register();
@@ -2278,6 +2282,11 @@ bool Genesis::InstallExtensions(Handle<Context>
native_context,
current = current->next();
}
+#ifdef ADDRESS_SANITIZER
+ if (FLAG_expose_free_buffer) {
+ InstallExtension(isolate, "v8/free-buffer", &extension_states);
+ }
+#endif
if (FLAG_expose_gc) InstallExtension(isolate, "v8/gc",
&extension_states);
if (FLAG_expose_externalize_string) {
InstallExtension(isolate, "v8/externalize", &extension_states);
Index: src/flag-definitions.h
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index
085202951a1461e305935c1c8b98ced61c8b369c..f70790ca113bf65a27cb74736a0f7b05ad930aa4
100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -407,6 +407,9 @@ DEFINE_bool(enable_vldr_imm, false,
// bootstrapper.cc
DEFINE_string(expose_natives_as, NULL, "expose natives in global object")
DEFINE_string(expose_debug_as, NULL, "expose debug in global object")
+#ifdef ADDRESS_SANITIZER
+DEFINE_bool(expose_free_buffer, false, "expose freeBuffer extension")
+#endif
DEFINE_bool(expose_gc, false, "expose gc extension")
DEFINE_string(expose_gc_as, NULL,
"expose gc extension under the specified name")
Index: tools/gyp/v8.gyp
diff --git a/tools/gyp/v8.gyp b/tools/gyp/v8.gyp
index
65d5fb89a9303fdee8865feaf6727e59c6303cea..dae2b5b0f2087e4c3d06fec68f96983c4e5a9cc8
100644
--- a/tools/gyp/v8.gyp
+++ b/tools/gyp/v8.gyp
@@ -332,6 +332,8 @@
'../../src/execution.h',
'../../src/extensions/externalize-string-extension.cc',
'../../src/extensions/externalize-string-extension.h',
+ '../../src/extensions/free-buffer-extension.cc',
+ '../../src/extensions/free-buffer-extension.h',
'../../src/extensions/gc-extension.cc',
'../../src/extensions/gc-extension.h',
'../../src/extensions/statistics-extension.cc',
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.