| 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();
|
|
|