svenpanne@chromium.org
d0fe04447e
Fixed evaluation order issue in defineProperties.
...
This is not covered by test262 yet, but it really makes sense and matches Firefox's behaviour.
TEST=mjsunit/define-properties.js
Review URL: http://codereview.chromium.org/8349031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-19 09:52:08 +00:00
mstarzinger@chromium.org
b3eba9e764
Fix handling of non-object receivers for array builtins.
...
R=svenpanne@chromium.org
BUG=chromium:100702
TEST=mjsunit/regress/regress-100702
Review URL: http://codereview.chromium.org/8347034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-19 09:24:37 +00:00
mstarzinger@chromium.org
8b181d4de6
Fix updating of property attributes for elements.
...
This fixes updating of property attributes for data elements when
attributes are already present on a dictionary element but get removed
by a subsequent redefinition of that element.
R=rossberg@chromium.org
BUG=v8:1772
TEST=test262/15.2.3.6-4-82-18
Review URL: http://codereview.chromium.org/8337017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-19 09:06:15 +00:00
yangguo@chromium.org
8472de004b
Porting r9605 to arm (elements kind conversion in generated code).
...
Review URL: http://codereview.chromium.org/8329022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-19 09:04:35 +00:00
svenpanne@chromium.org
140ae348d2
Recognize special comparisons via pattern matching on the hydrogen graph, 2nd attempt.
...
This time, we initially leave the HTypeof instruction in the Hydrogen graph,
even for the special cases. We later try to remove this instruction (and any
HConstant) in the canonicalization pass, if possible. Always removing the
HTypeof during the initial graph construction is wrong if e.g. it is used in an
HSimulate.
The removals can be generalized a bit, but this will happen in a separate CL.
TEST=mjsunit/optimized-typeof.js
Review URL: http://codereview.chromium.org/8334021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-19 07:35:30 +00:00
mstarzinger@chromium.org
c4d25c8f37
Fix updating of property attributes for elements.
...
This fixes updating of property attributes for getters and setters on
dictionary elements while redefining. This just updates the property
details on the existing element.
R=rossberg@chromium.org
BUG=v8:1772
TEST=test262
Review URL: http://codereview.chromium.org/8337013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 13:49:19 +00:00
sgjesse@chromium.org
a58c963c67
Reapply "Support for precise stepping in functions compiled before debugging was started (step 2)"
...
This is reapplying r9501 with this single change which seemed to be causing most (all) of the failures for r9501.
--- a/src/debug.cc
+++ b/src/debug.cc
@@ -2230,6 +2230,7 @@ Debugger::Debugger(Isolate* isolate)
compiling_natives_(false),
is_loading_debugger_(false),
never_unload_debugger_(false),
+ force_debugger_active_(true),
message_handler_(NULL),
debugger_unload_pending_(false),
host_dispatch_handler_(NULL),
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8337009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 13:40:33 +00:00
lrn@chromium.org
cefbb1e7f8
Make bound functions have poisoned .caller and .arguments.
...
Also makes func.caller return null if the caller is a bound function,
matching JSC.
Fix bug preventing poisoned setters from triggering.
TEST=mjsunit/function-bind, mjsunit/strict-mode
Review URL: http://codereview.chromium.org/8333019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 12:26:53 +00:00
keuchel@chromium.org
96a2c24a16
Use int instead of size_t, StrLength instead of strlen.
...
Review URL: http://codereview.chromium.org/8339013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 10:08:33 +00:00
keuchel@chromium.org
69afd18e56
Use OS::SNPrintF instead of snprintf.
...
Review URL: http://codereview.chromium.org/8339011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 09:48:13 +00:00
keuchel@chromium.org
4e5643a648
Scope tree serialization and ScopeIterator cleanup.
...
The intention is to store enough scope information for the debugger to
handle stack allocation of block scoped variables introduced by
http://codereview.chromium.org/7860045/ .
This CL is based on
http://codereview.chromium.org/7904008/ .
Review URL: http://codereview.chromium.org/7979001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-18 08:46:46 +00:00
yangguo@chromium.org
d7f3985e33
Rolling back r9662.
...
Review URL: http://codereview.chromium.org/8321001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 13:39:56 +00:00
mstarzinger@chromium.org
18125191ce
Mark Test262 test cases for known issue 893.
...
R=lrn@chromium.org
BUG=v8:893
TEST=test262
Review URL: http://codereview.chromium.org/8320001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 12:58:32 +00:00
yangguo@chromium.org
d2434953e2
Changes around ascii-check for strings wrt external strings.
...
Review URL: http://codereview.chromium.org/8312015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 12:49:34 +00:00
erikcorry
dac0b853e1
Improve speed of Utf8Write by always flattening the string first and
...
detecting the ASCII case. Also rewrite Utf8Length to work on an
unflattened string. Bug: http://code.google.com/p/v8/issues/detail?id=1665
Review URL: http://codereview.chromium.org/8304021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 12:48:31 +00:00
lrn@chromium.org
2bbf3bbee7
Make native syntax an early error in the preparser.
...
Previously the preparser always accepted natives syntax and let the
real parser throw the syntax error. In ES5, it should be an early error,
so the preparser must catch the error.
The perparser library does not expose parsing for natives syntax, it's
only used internally.
Review URL: http://codereview.chromium.org/8306024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 12:45:52 +00:00
lrn@chromium.org
5152d2e0da
Reimplement Function.prototype.bind.
...
Make instanceof work correctly.
BUG=v8:893
Review URL: http://codereview.chromium.org/8199004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 12:44:16 +00:00
keuchel@chromium.org
6f4e70a1dc
Let bound iteration variables in for-loops
...
TEST=mjsunit/harmony/block-for.js
Review URL: http://codereview.chromium.org/7837028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 12:19:06 +00:00
keuchel@chromium.org
f93c69308f
Disallow function declarations in statement positions in harmony mode.
...
Review URL: http://codereview.chromium.org/8306025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 11:59:08 +00:00
yangguo@chromium.org
92fdeff125
Porting r9605 to x64 (elements kind conversion in generated code).
...
Review URL: http://codereview.chromium.org/8271007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 10:44:47 +00:00
lrn@chromium.org
50ef25e0f3
Remove redundant allow-natives flag from CompilationInfo.
...
Just use script being native and FLAG_allow_natives_syntax directly.
Review URL: http://codereview.chromium.org/8314018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 09:02:26 +00:00
mstarzinger@chromium.org
ac712f13c3
Fix evaluation order of GT and LTE operators.
...
According to the ES5 spec all ">" and "<=" expressions should be be
evaluated left-to-right. This obsoletes old hacks for reversing the
order to be ES3 compliant.
R=lrn@chromium.org
BUG=v8:1752
Review URL: http://codereview.chromium.org/8275035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-17 07:43:40 +00:00
ricow@chromium.org
fe74726099
Remove timeout test expectation for OutOfMemoryNested
...
This has already been fixed, we not actually use the constraints.
Review URL: http://codereview.chromium.org/8276029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-14 09:10:29 +00:00
rossberg@chromium.org
4753976194
Fix handling of this in direct calls to function proxies.
...
Fix & tweak some proxy-related error messages.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/8229008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-13 15:55:57 +00:00
yangguo@chromium.org
00a5287d2f
Fixing test failures in arm and x64 due to missing implementation introduced in r9605.
...
Review URL: http://codereview.chromium.org/8261007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-13 12:03:33 +00:00
yangguo@chromium.org
fae807b3bb
Elements kind conversion in generated code (ia32).
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8241003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-13 10:53:31 +00:00
mstarzinger@chromium.org
d32c330ecf
Fix special handling of DefineOwnProperty on arrays.
...
According to the ES5 spec the implementation of DefineOwnProperty() has
to special case handling of arrays. This is a preliminary implementation
correctly handling definition of array index properties, defining length
properties is not completely covered yet.
R=rossberg@chromium.org
TEST=test262
Review URL: http://codereview.chromium.org/8221002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-12 14:47:13 +00:00
rossberg@chromium.org
1abf3ed0a4
Introduce collective --harmony flag.
...
Shorten --harmony-block-scoping to --harmony-scoping.
R=keuchel@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8226017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-12 12:23:06 +00:00
jkummerow@chromium.org
ddacdf847b
Make elements_kind map transition test conditional on smi element support
...
TEST=mjsunit/element-kind passes even without --smi-only-arrays
Review URL: http://codereview.chromium.org/8230008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-11 10:02:42 +00:00
jkummerow@chromium.org
184fdcf28b
Track elements_kind transitions in KeyedStoreICs.
...
Review URL: http://codereview.chromium.org/8166017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-11 09:33:00 +00:00
yangguo@chromium.org
3249530ef0
Fixing issue 1757 (string slices of external strings).
...
BUG=v8:1757
TEST=regress-1757.js
Review URL: http://codereview.chromium.org/8217011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-10 16:09:03 +00:00
kmillikin@chromium.org
fa18fdb206
Add a regression test for an already fixed issue.
...
Add a regression test for Chromium issue 99167.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8222002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-10 10:46:27 +00:00
rossberg@chromium.org
357b45dea5
Tests for evil side-effects during 'internal methods'.
...
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8200002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-10 09:59:03 +00:00
rossberg@chromium.org
8898b97dc4
Separate tests specific to function proxies in a separate file.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8218003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-10 08:58:44 +00:00
mstarzinger@chromium.org
e340163301
Fixed status file of es5conform test suite.
...
R=erik.corry@gmail.com
TEST=es5conform
Review URL: http://codereview.chromium.org/8202005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-07 15:02:42 +00:00
erik.corry@gmail.com
338ab857b9
Remove a static initializer that could potentially slow down startup time.
...
BUG=1753
Review URL: http://codereview.chromium.org/8198005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-07 14:41:08 +00:00
mstarzinger@chromium.org
cd6a982b52
Fix string whitespace trimming of byte order marks.
...
R=rossberg@chromium.org
TEST=test262
Review URL: http://codereview.chromium.org/8195006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-07 14:33:46 +00:00
mstarzinger@chromium.org
e699434266
Fix some array functions to behave as specified.
...
This fixes the handling of primitives and the order of how side effects
are visible in some array functions as specified by the ES5.
R=rossberg@chromium.org
TEST=test262
Review URL: http://codereview.chromium.org/8197002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-07 14:07:33 +00:00
mstarzinger@chromium.org
213bac1fd2
Update test harness and status file for Test262.
...
R=rossberg@chromium.org
TEST=test262
Review URL: http://codereview.chromium.org/8171005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-07 07:30:45 +00:00
keuchel@chromium.org
80048c14b1
Fix load of potentially eval-shadowed let bindings.
...
BUG=
TEST=test/mjsunit/harmony/block-let-semantics.js
Review URL: http://codereview.chromium.org/8118032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-06 15:24:20 +00:00
kmillikin@chromium.org
1f12cc4099
Simplify calling generated code from the runtime.
...
Instead of expecting Object** arrays at the outermost level, expect
Handle<Object> arrays and reinterpret_cast them only just before invoking
the generated code.
R=rossberg@chromium.org ,fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8133020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-06 09:31:38 +00:00
rossberg@chromium.org
ebf6cb7150
Use correct trap for lookup in prototype proxy.
...
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8133023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-06 08:42:10 +00:00
lrn@chromium.org
ebc0f85e40
Revert "Added ability to lock strings to prevent their representation or encoding from changing."
...
This reverts r9424.
Review URL: http://codereview.chromium.org/8143018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-05 11:09:34 +00:00
lrn@chromium.org
5f353a81ef
Fix sputnik test expectations to no longer expect the wrong behavior.
...
Review URL: http://codereview.chromium.org/8139023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-05 08:11:53 +00:00
lrn@chromium.org
9f73eed45f
Fix issue 1361 - Implement ES5 Array.prototype.toString.
...
BUG=v8:1361
TEST=mjsunit/array-tostring
Review URL: http://codereview.chromium.org/8124025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-05 07:08:23 +00:00
mstarzinger@chromium.org
9f06a99592
Fix compilation error and add missing file to GYP.
...
R=ricow@chromium.org
Review URL: http://codereview.chromium.org/8136004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-04 16:32:34 +00:00
mstarzinger@chromium.org
c034518442
Fix preparation for sorting of external arrays.
...
R=rossberg@chromium.org
BUG=98773
TEST=mjsunit/regress/regress-98773
Review URL: http://codereview.chromium.org/8122020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-04 13:49:50 +00:00
fschneider@chromium.org
976d5f3797
Clean list of external references from internal objects like the hole value.
...
Review URL: http://codereview.chromium.org/8114032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-04 09:07:50 +00:00
lrn@chromium.org
4750f0c3cd
Fix issue 1415 - allow surrogate pair codes in decodeURIComponent.
...
Also some cleanup of uri.js.
BUG=v8:1415
TEST=mjsunit/regress/regress-1415
Review URL: http://codereview.chromium.org/8118004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-04 07:15:07 +00:00
mikhail.naganov@gmail.com
3e4b4a6a86
Fix incorrect function name inference in case of assignment / global assignment.
...
R=kmillikin@chromium.org
BUG=v8:1732
TEST=test-func-name-inference/GlobalAssignmentAndCall,AssignmentAndCall
Review URL: http://codereview.chromium.org/8112007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-03 19:18:05 +00:00