summaryrefslogtreecommitdiff
path: root/deps/v8
diff options
context:
space:
mode:
authorTobias Tebbi <tebbi@chromium.org>2017-10-10 22:39:41 +0200
committerMichaƫl Zasso <targos@protonmail.com>2017-10-18 17:05:28 -0700
commitc39caa997c751473d0c8f50af8c6b14bcd389fa0 (patch)
treecb18321da8ba4b754b3f73d6c9bc06f65b581487 /deps/v8
parent33f5014b373c567cbf2e79328624c313618eb8a2 (diff)
downloadandroid-node-v8-c39caa997c751473d0c8f50af8c6b14bcd389fa0.tar.gz
android-node-v8-c39caa997c751473d0c8f50af8c6b14bcd389fa0.tar.bz2
android-node-v8-c39caa997c751473d0c8f50af8c6b14bcd389fa0.zip
deps: backport 0f1dfae from V8 upstream
Original commit message: avoid constructor inheritance due to compilation issues Constructor inheritance of a templated constructor is causing compilation issues for node.js: https: //github.com/nodejs/node/pull/15362#issue-257007421 Change-Id: I7d099ff5a1a2fd5b19c11112ddef8fe824e509f7 Reviewed-on: https://chromium-review.googlesource.com/707008 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#48445} Refs: https://github.com/v8/v8/commit/0f1dfae0501ffa5086c34412e0cb3b229bd570de PR-URL: https://github.com/nodejs/node/pull/15362 Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8')
-rw-r--r--deps/v8/src/compiler/common-operator.cc4
-rw-r--r--deps/v8/src/compiler/common-operator.h12
2 files changed, 10 insertions, 6 deletions
diff --git a/deps/v8/src/compiler/common-operator.cc b/deps/v8/src/compiler/common-operator.cc
index c48773920d..d92722f701 100644
--- a/deps/v8/src/compiler/common-operator.cc
+++ b/deps/v8/src/compiler/common-operator.cc
@@ -1255,7 +1255,7 @@ bool IsRestOf(Operator const* op) {
return OpParameter<bool>(op);
}
-const Operator* CommonOperatorBuilder::ObjectState(int object_id,
+const Operator* CommonOperatorBuilder::ObjectState(uint32_t object_id,
int pointer_slots) {
return new (zone()) Operator1<ObjectStateInfo>( // --
IrOpcode::kObjectState, Operator::kPure, // opcode
@@ -1265,7 +1265,7 @@ const Operator* CommonOperatorBuilder::ObjectState(int object_id,
}
const Operator* CommonOperatorBuilder::TypedObjectState(
- int object_id, const ZoneVector<MachineType>* types) {
+ uint32_t object_id, const ZoneVector<MachineType>* types) {
return new (zone()) Operator1<TypedObjectStateInfo>( // --
IrOpcode::kTypedObjectState, Operator::kPure, // opcode
"TypedObjectState", // name
diff --git a/deps/v8/src/compiler/common-operator.h b/deps/v8/src/compiler/common-operator.h
index f7638a3cca..9dfb059518 100644
--- a/deps/v8/src/compiler/common-operator.h
+++ b/deps/v8/src/compiler/common-operator.h
@@ -125,7 +125,8 @@ V8_EXPORT_PRIVATE int ParameterIndexOf(const Operator* const);
const ParameterInfo& ParameterInfoOf(const Operator* const);
struct ObjectStateInfo final : std::pair<uint32_t, int> {
- using std::pair<uint32_t, int>::pair;
+ ObjectStateInfo(uint32_t object_id, int size)
+ : std::pair<uint32_t, int>(object_id, size) {}
uint32_t object_id() const { return first; }
int size() const { return second; }
};
@@ -134,7 +135,10 @@ size_t hash_value(ObjectStateInfo const& p);
struct TypedObjectStateInfo final
: std::pair<uint32_t, const ZoneVector<MachineType>*> {
- using std::pair<uint32_t, const ZoneVector<MachineType>*>::pair;
+ TypedObjectStateInfo(uint32_t object_id,
+ const ZoneVector<MachineType>* machine_types)
+ : std::pair<uint32_t, const ZoneVector<MachineType>*>(object_id,
+ machine_types) {}
uint32_t object_id() const { return first; }
const ZoneVector<MachineType>* machine_types() const { return second; }
};
@@ -385,8 +389,8 @@ class V8_EXPORT_PRIVATE CommonOperatorBuilder final
SparseInputMask bitmask);
const Operator* ArgumentsElementsState(bool is_rest);
const Operator* ArgumentsLengthState(bool is_rest);
- const Operator* ObjectState(int object_id, int pointer_slots);
- const Operator* TypedObjectState(int object_id,
+ const Operator* ObjectState(uint32_t object_id, int pointer_slots);
+ const Operator* TypedObjectState(uint32_t object_id,
const ZoneVector<MachineType>* types);
const Operator* FrameState(BailoutId bailout_id,
OutputFrameStateCombine state_combine,