diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2015-06-19 13:23:56 +0200 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2015-08-04 11:56:14 -0700 |
commit | 70d1f32f5605465a1a630a64f6f0d35f96c7709d (patch) | |
tree | 0a349040a686eafcb0a09943ebc733477dce2781 /deps/v8/test/cctest/test-assembler-arm.cc | |
parent | 4643b8b6671607a7aff60cbbd0b384dcf2f6959e (diff) | |
download | android-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/test/cctest/test-assembler-arm.cc')
-rw-r--r-- | deps/v8/test/cctest/test-assembler-arm.cc | 167 |
1 files changed, 1 insertions, 166 deletions
diff --git a/deps/v8/test/cctest/test-assembler-arm.cc b/deps/v8/test/cctest/test-assembler-arm.cc index 526d4567fa..cb89577991 100644 --- a/deps/v8/test/cctest/test-assembler-arm.cc +++ b/deps/v8/test/cctest/test-assembler-arm.cc @@ -32,6 +32,7 @@ #include "src/arm/assembler-arm-inl.h" #include "src/arm/simulator-arm.h" +#include "src/base/utils/random-number-generator.h" #include "src/disassembler.h" #include "src/factory.h" #include "src/ostreams.h" @@ -1885,172 +1886,6 @@ TEST(code_relative_offset) { } -TEST(jump_tables1) { - // Test jump tables with forward jumps. - CcTest::InitializeVM(); - Isolate* isolate = CcTest::i_isolate(); - HandleScope scope(isolate); - Assembler assm(isolate, nullptr, 0); - - const int kNumCases = 512; - int values[kNumCases]; - isolate->random_number_generator()->NextBytes(values, sizeof(values)); - Label labels[kNumCases]; - - __ stm(db_w, sp, lr.bit()); - - Label done; - __ BlockConstPoolFor(kNumCases + 2); - { - PredictableCodeSizeScope predictable( - &assm, (kNumCases + 2) * Assembler::kInstrSize); - __ ldr(pc, MemOperand(pc, r0, LSL, 2)); - __ nop(); - for (int i = 0; i < kNumCases; ++i) { - __ dd(&labels[i]); - } - } - - for (int i = 0; i < kNumCases; ++i) { - __ bind(&labels[i]); - __ mov(r0, Operand(values[i])); - __ b(&done); - } - - __ bind(&done); - __ ldm(ia_w, sp, pc.bit()); - - CodeDesc desc; - assm.GetCode(&desc); - Handle<Code> code = isolate->factory()->NewCode( - desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); -#ifdef OBJECT_PRINT - code->Print(std::cout); -#endif - F1 f = FUNCTION_CAST<F1>(code->entry()); - for (int i = 0; i < kNumCases; ++i) { - int res = reinterpret_cast<int>(CALL_GENERATED_CODE(f, i, 0, 0, 0, 0)); - ::printf("f(%d) = %d\n", i, res); - CHECK_EQ(values[i], res); - } -} - - -TEST(jump_tables2) { - // Test jump tables with backward jumps. - CcTest::InitializeVM(); - Isolate* isolate = CcTest::i_isolate(); - HandleScope scope(isolate); - Assembler assm(isolate, nullptr, 0); - - const int kNumCases = 512; - int values[kNumCases]; - isolate->random_number_generator()->NextBytes(values, sizeof(values)); - Label labels[kNumCases]; - - __ stm(db_w, sp, lr.bit()); - - Label done, dispatch; - __ b(&dispatch); - - for (int i = 0; i < kNumCases; ++i) { - __ bind(&labels[i]); - __ mov(r0, Operand(values[i])); - __ b(&done); - } - - __ bind(&dispatch); - __ BlockConstPoolFor(kNumCases + 2); - { - PredictableCodeSizeScope predictable( - &assm, (kNumCases + 2) * Assembler::kInstrSize); - __ ldr(pc, MemOperand(pc, r0, LSL, 2)); - __ nop(); - for (int i = 0; i < kNumCases; ++i) { - __ dd(&labels[i]); - } - } - - __ bind(&done); - __ ldm(ia_w, sp, pc.bit()); - - CodeDesc desc; - assm.GetCode(&desc); - Handle<Code> code = isolate->factory()->NewCode( - desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); -#ifdef OBJECT_PRINT - code->Print(std::cout); -#endif - F1 f = FUNCTION_CAST<F1>(code->entry()); - for (int i = 0; i < kNumCases; ++i) { - int res = reinterpret_cast<int>(CALL_GENERATED_CODE(f, i, 0, 0, 0, 0)); - ::printf("f(%d) = %d\n", i, res); - CHECK_EQ(values[i], res); - } -} - - -TEST(jump_tables3) { - // Test jump tables with backward jumps and embedded heap objects. - CcTest::InitializeVM(); - Isolate* isolate = CcTest::i_isolate(); - HandleScope scope(isolate); - Assembler assm(isolate, nullptr, 0); - - const int kNumCases = 256; - Handle<Object> values[kNumCases]; - for (int i = 0; i < kNumCases; ++i) { - double value = isolate->random_number_generator()->NextDouble(); - values[i] = isolate->factory()->NewHeapNumber(value, IMMUTABLE, TENURED); - } - Label labels[kNumCases]; - - __ stm(db_w, sp, lr.bit()); - - Label done, dispatch; - __ b(&dispatch); - - for (int i = 0; i < kNumCases; ++i) { - __ bind(&labels[i]); - __ mov(r0, Operand(values[i])); - __ b(&done); - } - - __ bind(&dispatch); - __ BlockConstPoolFor(kNumCases + 2); - { - PredictableCodeSizeScope predictable( - &assm, (kNumCases + 2) * Assembler::kInstrSize); - __ ldr(pc, MemOperand(pc, r0, LSL, 2)); - __ nop(); - for (int i = 0; i < kNumCases; ++i) { - __ dd(&labels[i]); - } - } - - __ bind(&done); - __ ldm(ia_w, sp, pc.bit()); - - CodeDesc desc; - assm.GetCode(&desc); - Handle<Code> code = isolate->factory()->NewCode( - desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); -#ifdef OBJECT_PRINT - code->Print(std::cout); -#endif - F1 f = FUNCTION_CAST<F1>(code->entry()); - for (int i = 0; i < kNumCases; ++i) { - Handle<Object> result(CALL_GENERATED_CODE(f, i, 0, 0, 0, 0), isolate); -#ifdef OBJECT_PRINT - ::printf("f(%d) = ", i); - result->Print(std::cout); - ::printf("\n"); -#endif - CHECK(values[i].is_identical_to(result)); - } -} - - TEST(ARMv8_vrintX) { // Test the vrintX floating point instructions. CcTest::InitializeVM(); |