Index: test/mjsunit/harmony/numeric-literals.js |
diff --git a/src/heap-snapshot-generator-inl.h b/test/mjsunit/harmony/numeric-literals.js |
similarity index 51% |
copy from src/heap-snapshot-generator-inl.h |
copy to test/mjsunit/harmony/numeric-literals.js |
index 1a878c6df17b680b389fa4621e3baefea775be00..7300f3e47edd9918d175f93f9dc041ca35ec4de1 100644 |
--- a/src/heap-snapshot-generator-inl.h |
+++ b/test/mjsunit/harmony/numeric-literals.js |
@@ -25,64 +25,63 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-#ifndef V8_HEAP_SNAPSHOT_GENERATOR_INL_H_ |
-#define V8_HEAP_SNAPSHOT_GENERATOR_INL_H_ |
- |
-#include "heap-snapshot-generator.h" |
- |
-namespace v8 { |
-namespace internal { |
- |
- |
-HeapEntry* HeapGraphEdge::from() const { |
- return &snapshot()->entries()[from_index_]; |
-} |
- |
- |
-HeapSnapshot* HeapGraphEdge::snapshot() const { |
- return to_entry_->snapshot(); |
+// Flags: --harmony-numeric-literals |
+ |
+function TestOctalLiteral() { |
+ assertEquals(0, 0o0); |
+ assertEquals(0, 0O0); |
+ assertEquals(1, 0o1); |
+ assertEquals(7, 0o7); |
+ assertEquals(8, 0o10); |
+ assertEquals(63, 0o77); |
} |
+TestOctalLiteral(); |
-int HeapEntry::index() const { |
- return static_cast<int>(this - &snapshot_->entries().first()); |
+function TestOctalLiteralUsingNumberFunction() { |
+ assertEquals(0, Number('0o0')); |
+ assertEquals(0, Number('0O0')); |
+ assertEquals(1, Number('0o1')); |
+ assertEquals(7, Number('0o7')); |
+ assertEquals(8, Number('0o10')); |
+ assertEquals(63, Number('0o77')); |
} |
+TestOctalLiteralUsingNumberFunction(); |
-int HeapEntry::set_children_index(int index) { |
- children_index_ = index; |
- int next_index = index + children_count_; |
- children_count_ = 0; |
- return next_index; |
+function TestBinaryLiteral() { |
+ assertEquals(0, 0b0); |
+ assertEquals(0, 0B0); |
+ assertEquals(1, 0b1); |
+ assertEquals(2, 0b10); |
+ assertEquals(3, 0b11); |
} |
+TestBinaryLiteral(); |
-HeapGraphEdge** HeapEntry::children_arr() { |
- ASSERT(children_index_ >= 0); |
- return &snapshot_->children()[children_index_]; |
+function TestBinaryLiteralUsingNumberFunction() { |
+ assertEquals(0, Number('0b0')); |
+ assertEquals(0, Number('0B0')); |
+ assertEquals(1, Number('0b1')); |
+ assertEquals(2, Number('0b10')); |
+ assertEquals(3, Number('0b11')); |
} |
+TestBinaryLiteralUsingNumberFunction(); |
-SnapshotObjectId HeapObjectsMap::GetNthGcSubrootId(int delta) { |
- return kGcRootsFirstSubrootId + delta * kObjectIdStep; |
+// parseInt should (probably) not support 0b and 0o. |
+// https://bugs.ecmascript.org/show_bug.cgi?id=1585 |
+function TestParseIntDoesNotSupportOctalNorBinary() { |
+ assertEquals(0, parseInt('0o77')); |
+ assertEquals(0, parseInt('0o77', 8)); |
+ assertEquals(0, parseInt('0b11')); |
+ assertEquals(0, parseInt('0b11', 2)); |
} |
+TestParseIntDoesNotSupportOctalNorBinary(); |
-HeapObject* V8HeapExplorer::GetNthGcSubrootObject(int delta) { |
- return reinterpret_cast<HeapObject*>( |
- reinterpret_cast<char*>(kFirstGcSubrootObject) + |
- delta * HeapObjectsMap::kObjectIdStep); |
+function TestParseFloatDoesNotSupportOctalNorBinary() { |
+ assertEquals(0, parseFloat('0o77')); |
+ assertEquals(0, parseFloat('0b11')); |
} |
- |
- |
-int V8HeapExplorer::GetGcSubrootOrder(HeapObject* subroot) { |
- return static_cast<int>( |
- (reinterpret_cast<char*>(subroot) - |
- reinterpret_cast<char*>(kFirstGcSubrootObject)) / |
- HeapObjectsMap::kObjectIdStep); |
-} |
- |
-} } // namespace v8::internal |
- |
-#endif // V8_HEAP_SNAPSHOT_GENERATOR_INL_H_ |
- |
+TestParseFloatDoesNotSupportOctalNorBinary(); |