summaryrefslogtreecommitdiffstats
path: root/src/assembler.cc
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-16 14:20:40 +0100
committerBen Murdoch <benm@google.com>2011-05-18 16:35:26 +0100
commitb8e0da25ee8efac3bb05cd6b2730aafbd96119f4 (patch)
treec5ef7652343a7e4b55601fa0a4c94cf46ba09585 /src/assembler.cc
parent086aeeaae12517475c22695a200be45495516549 (diff)
downloadandroid_external_v8-b8e0da25ee8efac3bb05cd6b2730aafbd96119f4.tar.gz
android_external_v8-b8e0da25ee8efac3bb05cd6b2730aafbd96119f4.tar.bz2
android_external_v8-b8e0da25ee8efac3bb05cd6b2730aafbd96119f4.zip
Update V8 to r6387 as required by WebKit r76408
Change-Id: Icfc5385b0996bd592f8b1ac8cbb44767ee09f1f6
Diffstat (limited to 'src/assembler.cc')
-rw-r--r--src/assembler.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/assembler.cc b/src/assembler.cc
index e8bcd914..fb9a4af1 100644
--- a/src/assembler.cc
+++ b/src/assembler.cc
@@ -66,6 +66,7 @@ namespace internal {
const double DoubleConstant::min_int = kMinInt;
const double DoubleConstant::one_half = 0.5;
+const double DoubleConstant::minus_zero = -0.0;
const double DoubleConstant::negative_infinity = -V8_INFINITY;
@@ -729,6 +730,12 @@ ExternalReference ExternalReference::address_of_one_half() {
}
+ExternalReference ExternalReference::address_of_minus_zero() {
+ return ExternalReference(reinterpret_cast<void*>(
+ const_cast<double*>(&DoubleConstant::minus_zero)));
+}
+
+
ExternalReference ExternalReference::address_of_negative_infinity() {
return ExternalReference(reinterpret_cast<void*>(
const_cast<double*>(&DoubleConstant::negative_infinity)));
@@ -910,6 +917,11 @@ void PositionsRecorder::RecordPosition(int pos) {
ASSERT(pos != RelocInfo::kNoPosition);
ASSERT(pos >= 0);
state_.current_position = pos;
+#ifdef ENABLE_GDB_JIT_INTERFACE
+ if (gdbjit_lineinfo_ != NULL) {
+ gdbjit_lineinfo_->SetPosition(assembler_->pc_offset(), pos, false);
+ }
+#endif
}
@@ -917,6 +929,11 @@ void PositionsRecorder::RecordStatementPosition(int pos) {
ASSERT(pos != RelocInfo::kNoPosition);
ASSERT(pos >= 0);
state_.current_statement_position = pos;
+#ifdef ENABLE_GDB_JIT_INTERFACE
+ if (gdbjit_lineinfo_ != NULL) {
+ gdbjit_lineinfo_->SetPosition(assembler_->pc_offset(), pos, true);
+ }
+#endif
}