summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichaƫl Zasso <targos@protonmail.com>2017-06-27 09:53:55 +0200
committerAnna Henningsen <anna@addaleax.net>2017-09-13 16:16:41 +0200
commitdc1996dd1f87ba0e90201ffbc7cb133e2ea6b1b2 (patch)
tree3d7026b5bc0bcc7c77c6e4b571b020ede26e293e /src
parent31ce2c1b92855726a5d9ac035e41ef430379e40e (diff)
downloadandroid-node-v8-dc1996dd1f87ba0e90201ffbc7cb133e2ea6b1b2.tar.gz
android-node-v8-dc1996dd1f87ba0e90201ffbc7cb133e2ea6b1b2.tar.bz2
android-node-v8-dc1996dd1f87ba0e90201ffbc7cb133e2ea6b1b2.zip
src: fix SmartOS compilation
Refs: https://github.com/nodejs/node-v8/issues/8 PR-URL: https://github.com/nodejs/node/pull/14730 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/v8abbr.h6
-rw-r--r--src/v8ustack.d23
2 files changed, 19 insertions, 10 deletions
diff --git a/src/v8abbr.h b/src/v8abbr.h
index 5c5e7e2449..8981126f27 100644
--- a/src/v8abbr.h
+++ b/src/v8abbr.h
@@ -85,14 +85,14 @@
#define V8_OFF_FUNC_SHARED \
V8_OFF_HEAP(V8DBG_CLASS_JSFUNCTION__SHARED__SHAREDFUNCTIONINFO)
-#define V8_OFF_SHARED_NAME \
- V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__NAME__OBJECT)
+#define V8_OFF_RAW_NAME \
+ V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__RAW_NAME__OBJECT)
#define V8_OFF_SHARED_IDENT \
V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__FUNCTION_IDENTIFIER__OBJECT)
#define V8_OFF_SHARED_SCRIPT \
V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__SCRIPT__OBJECT)
#define V8_OFF_SHARED_FUNTOK \
- V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__FUNCTION_TOKEN_POSITION__SMI)
+ V8_OFF_HEAP(V8DBG_CLASS_SHAREDFUNCTIONINFO__FUNCTION_TOKEN_POSITION__INT)
#define V8_OFF_SCRIPT_NAME \
V8_OFF_HEAP(V8DBG_CLASS_SCRIPT__NAME__OBJECT)
#define V8_OFF_SCRIPT_LENDS \
diff --git a/src/v8ustack.d b/src/v8ustack.d
index 8faaf467ab..e2eeb2da3e 100644
--- a/src/v8ustack.d
+++ b/src/v8ustack.d
@@ -21,6 +21,7 @@
((value & V8_SmiTagMask) == V8_SmiTag)
#define SMI_VALUE(value) \
((uint32_t) ((value) >> V8_SmiValueShift))
+#define NO_SHARED_FUNCTION_NAME_SENTINEL NULL
/*
* Heap objects usually start off with a Map pointer, itself another heap
@@ -372,7 +373,8 @@ dtrace:helper:ustack:
this->shared = (off_t) 0;
this->map = (off_t) 0;
this->attrs = 0;
- this->funcnamestr = (off_t) 0;
+ this->funcrawnamestr = (off_t) 0;
+ this->hassharedname = 0;
this->funcnamelen = 0;
this->funcnameattrs = 0;
this->script = (off_t) 0;
@@ -515,9 +517,16 @@ dtrace:helper:ustack:
this->attrs = 0;
this->shared = COPYIN_PTR(this->func + V8_OFF_FUNC_SHARED);
- this->funcnamestr = COPYIN_PTR(this->shared + V8_OFF_SHARED_NAME);
- LOAD_STRFIELDS(this->funcnamestr, this->funcnamelen,
- this->funcnameattrs);
+ this->funcrawnamestr = COPYIN_PTR(this->shared + V8_OFF_RAW_NAME);
+ this->hassharedname = this->funcrawnamestr !=
+ NO_SHARED_FUNCTION_NAME_SENTINEL;
+}
+
+dtracr:helper:ustack:
+/!this->done && this->hassharedname/
+{
+ LOAD_STRFIELDS(this->funcrawnamestr, this->funcnamelen,
+ this->funcnameattrs);
}
dtrace:helper:ustack:
@@ -532,8 +541,8 @@ dtrace:helper:ustack:
APPEND_CHR('s');
APPEND_CHR(' ');
- this->funcnamestr = COPYIN_PTR(this->shared + V8_OFF_SHARED_IDENT);
- LOAD_STRFIELDS(this->funcnamestr, this->funcnamelen,
+ this->funcrawnamestr = COPYIN_PTR(this->shared + V8_OFF_SHARED_IDENT);
+ LOAD_STRFIELDS(this->funcrawnamestr, this->funcnamelen,
this->funcnameattrs);
}
@@ -545,7 +554,7 @@ dtrace:helper:ustack:
APPEND_CHR(')');
}
-APPEND_V8STR(this->funcnamestr, this->funcnamelen, this->funcnameattrs)
+APPEND_V8STR(this->funcrawnamestr, this->funcnamelen, this->funcnameattrs)
/*
* Now look for the name of the script where the function was defined. The