diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2015-03-27 12:04:12 +0100 |
---|---|---|
committer | Chris Dickinson <christopher.s.dickinson@gmail.com> | 2015-04-28 14:38:16 -0700 |
commit | 36cd5fb9d27b830320e57213f5b8829ffbb93324 (patch) | |
tree | bbab4215d26f8597019135206426fccf27a3089e /deps/v8/src/mips/assembler-mips.h | |
parent | b57cc51d8d3f4ad279591ae8fa6584ee22773b97 (diff) | |
download | node-new-36cd5fb9d27b830320e57213f5b8829ffbb93324.tar.gz |
deps: upgrade v8 to 4.2.77.13
This commit applies some secondary changes in order to make `make test`
pass cleanly:
* disable broken postmortem debugging in common.gypi
* drop obsolete strict mode test in parallel/test-repl
* drop obsolete test parallel/test-v8-features
PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Diffstat (limited to 'deps/v8/src/mips/assembler-mips.h')
-rw-r--r-- | deps/v8/src/mips/assembler-mips.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/deps/v8/src/mips/assembler-mips.h b/deps/v8/src/mips/assembler-mips.h index c6b12b76d7..89af82ad1a 100644 --- a/deps/v8/src/mips/assembler-mips.h +++ b/deps/v8/src/mips/assembler-mips.h @@ -38,6 +38,8 @@ #include <stdio.h> +#include <set> + #include "src/assembler.h" #include "src/mips/constants-mips.h" #include "src/serialize.h" @@ -1016,12 +1018,19 @@ class Assembler : public AssemblerBase { // Use --code-comments to enable. void RecordComment(const char* msg); - static int RelocateInternalReference(byte* pc, intptr_t pc_delta); + // Record a deoptimization reason that can be used by a log or cpu profiler. + // Use --trace-deopt to enable. + void RecordDeoptReason(const int reason, const int raw_position); + + + static int RelocateInternalReference(RelocInfo::Mode rmode, byte* pc, + intptr_t pc_delta); // Writes a single byte or word of data in the code stream. Used for // inline tables, e.g., jump-tables. void db(uint8_t data); void dd(uint32_t data); + void dd(Label* label); // Emits the address of the code stub's first instruction. void emit_code_stub_address(Code* stub); @@ -1120,10 +1129,10 @@ class Assembler : public AssemblerBase { int32_t buffer_space() const { return reloc_info_writer.pos() - pc_; } // Decode branch instruction at pos and return branch target pos. - int target_at(int32_t pos); + int target_at(int32_t pos, bool is_internal); // Patch branch instruction at pos to branch to given branch target pos. - void target_at_put(int32_t pos, int32_t target_pos); + void target_at_put(int32_t pos, int32_t target_pos, bool is_internal); // Say if we need to relocate with this mode. bool MustUseReg(RelocInfo::Mode rmode); @@ -1292,7 +1301,7 @@ class Assembler : public AssemblerBase { // Labels. void print(Label* L); void bind_to(Label* L, int pos); - void next(Label* L); + void next(Label* L, bool is_internal); // One trampoline consists of: // - space for trampoline slots, @@ -1357,6 +1366,10 @@ class Assembler : public AssemblerBase { static const int kMaxBranchOffset = (1 << (18 - 1)) - 1; static const int kInvalidSlotPos = -1; + // Internal reference positions, required for unbounded internal reference + // labels. + std::set<int> internal_reference_positions_; + Trampoline trampoline_; bool internal_trampoline_exception_; |