aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/src/code-stubs.cc
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2015-06-19 13:23:56 +0200
committerRod Vagg <rod@vagg.org>2015-08-04 11:56:14 -0700
commit70d1f32f5605465a1a630a64f6f0d35f96c7709d (patch)
tree0a349040a686eafcb0a09943ebc733477dce2781 /deps/v8/src/code-stubs.cc
parent4643b8b6671607a7aff60cbbd0b384dcf2f6959e (diff)
downloadandroid-node-v8-70d1f32f5605465a1a630a64f6f0d35f96c7709d.tar.gz
android-node-v8-70d1f32f5605465a1a630a64f6f0d35f96c7709d.tar.bz2
android-node-v8-70d1f32f5605465a1a630a64f6f0d35f96c7709d.zip
deps: update v8 to 4.4.63.9
Upgrade the bundled V8 and update code in src/ and lib/ to the new API. Notable backwards incompatible changes are the removal of the smalloc module and dropped support for CESU-8 decoding. CESU-8 support can be brought back if necessary by doing UTF-8 decoding ourselves. This commit includes https://codereview.chromium.org/1192973004 to fix a build error on python 2.6 systems. The original commit log follows: Use optparse in js2c.py for python compatibility Without this change, V8 won't build on RHEL/CentOS 6 because the distro python is too old to know about the argparse module. PR-URL: https://github.com/nodejs/io.js/pull/2022 Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'deps/v8/src/code-stubs.cc')
-rw-r--r--deps/v8/src/code-stubs.cc34
1 files changed, 33 insertions, 1 deletions
diff --git a/deps/v8/src/code-stubs.cc b/deps/v8/src/code-stubs.cc
index f600cf316d..21d11a93d0 100644
--- a/deps/v8/src/code-stubs.cc
+++ b/deps/v8/src/code-stubs.cc
@@ -268,7 +268,8 @@ MaybeHandle<Code> CodeStub::GetCode(Isolate* isolate, uint32_t key) {
void BinaryOpICStub::GenerateAheadOfTime(Isolate* isolate) {
// Generate the uninitialized versions of the stub.
for (int op = Token::BIT_OR; op <= Token::MOD; ++op) {
- BinaryOpICStub stub(isolate, static_cast<Token::Value>(op));
+ BinaryOpICStub stub(isolate, static_cast<Token::Value>(op),
+ LanguageMode::SLOPPY);
stub.GetCode();
}
@@ -632,6 +633,9 @@ void FastNewClosureStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
void FastNewContextStub::InitializeDescriptor(CodeStubDescriptor* d) {}
+void TypeofStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {}
+
+
void NumberToStringStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
NumberToStringDescriptor call_descriptor(isolate());
descriptor->Initialize(
@@ -714,6 +718,19 @@ void StringAddStub::InitializeDescriptor(CodeStubDescriptor* descriptor) {
}
+void GrowArrayElementsStub::InitializeDescriptor(
+ CodeStubDescriptor* descriptor) {
+ descriptor->Initialize(
+ Runtime::FunctionForId(Runtime::kGrowArrayElements)->entry);
+}
+
+
+void TypeofStub::GenerateAheadOfTime(Isolate* isolate) {
+ TypeofStub stub(isolate);
+ stub.GetCode();
+}
+
+
void CreateAllocationSiteStub::GenerateAheadOfTime(Isolate* isolate) {
CreateAllocationSiteStub stub(isolate);
stub.GetCode();
@@ -752,6 +769,21 @@ void StoreElementStub::Generate(MacroAssembler* masm) {
}
+// static
+void StoreFastElementStub::GenerateAheadOfTime(Isolate* isolate) {
+ StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS, STANDARD_STORE)
+ .GetCode();
+ StoreFastElementStub(isolate, false, FAST_HOLEY_ELEMENTS,
+ STORE_AND_GROW_NO_TRANSITION).GetCode();
+ for (int i = FIRST_FAST_ELEMENTS_KIND; i <= LAST_FAST_ELEMENTS_KIND; i++) {
+ ElementsKind kind = static_cast<ElementsKind>(i);
+ StoreFastElementStub(isolate, true, kind, STANDARD_STORE).GetCode();
+ StoreFastElementStub(isolate, true, kind, STORE_AND_GROW_NO_TRANSITION)
+ .GetCode();
+ }
+}
+
+
void ArgumentsAccessStub::Generate(MacroAssembler* masm) {
switch (type()) {
case READ_ELEMENT: