lrn@chromium.org
53e22e386c
Create a new RegExp object for every evaluation of a RegExp literal.
...
Changes necessary to following ES5 semantics and matching Safari - in ES3
the same RegExp object was generated by each evaluation of the RegExp literal.
Fixes bug 704.
Review URL: http://codereview.chromium.org/3034060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-06 13:04:27 +00:00
sgjesse@chromium.org
88b19a9d0c
Re-apply r5165 (Added support for ES5's propertyname production)
...
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/3073031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-06 08:03:44 +00:00
sgjesse@chromium.org
1844e149ab
Revert r5165 (Added support for ES5's propertyname production)
...
This is to test in Chromium without this change.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/3027043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 14:46:34 +00:00
vegorov@chromium.org
bed254fac9
Do not apply JS_RETURN and DEBUG_BREAK_SLOT relocations on x64.
...
Improve tests for debug API to check behavior of JS_RETURN and DEBUG_BREAK_SLOT relocations.
Review URL: http://codereview.chromium.org/3058049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 13:38:27 +00:00
vegorov@chromium.org
2ba27d2201
Add RelocInfo::DEBUG_BREAK_SLOT to RelocInfo::kApplyMask on ia32/x64 to ensure that debug break slots get relocated correctly during compacting GC.
...
Review URL: http://codereview.chromium.org/3058048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 11:39:01 +00:00
sgjesse@chromium.org
a1a3aa46a2
Object.seal(obj) and Object.freeze(obj) should return the input obj.
...
BUG=http://code.google.com/p/v8/issues/detail?id=809
TEST=Seal/freeze an object and check if Object.seal and Object.freeze returns the given object.
Burcu Dogan <burcujdogan@gmail.com>
Review URL: http://codereview.chromium.org/3056049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-05 10:56:15 +00:00
lrn@chromium.org
24cf5459f5
Added support for ES5's propertyname production.
...
Object initialisers and dot-notation property access allows keywords in ES5.
Also allowed non-identifiers after "get" or "set" in an object initialiser.
Review URL: http://codereview.chromium.org/3047038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 12:09:10 +00:00
vegorov@chromium.org
4a2f05ce35
Fix issue 806.
...
Ensure that we are not using r12 as a receiver in inlined NamedStore code.
Review URL: http://codereview.chromium.org/3081007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-02 09:14:44 +00:00
lrn@chromium.org
1d24f5f56b
Updated unicode library.
...
Added Nl category to letters predicate (as requried for JS identifiers).
Changed/simplified representation of canonicalization ranges.
Truncated tables to code points in the BMP (all that is used by JS).
Reformatted tables to avoid excessively long lines.
Removed duplicate entries from multi-character mapping result tables.
Review URL: http://codereview.chromium.org/3030026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-30 07:10:22 +00:00
podivilov@chromium.org
c115a39942
Add debugger protocol request for setting global flags.
...
Review URL: http://codereview.chromium.org/2880011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-28 15:50:05 +00:00
podivilov@chromium.org
52762e4c59
Breakpoint position should be inside function body.
...
Review URL: http://codereview.chromium.org/2883042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-28 13:02:03 +00:00
whesse@chromium.org
3607a9e78e
Fix error in optimized x.apply(y, arguments) code generation on ARM. Fixes issue 784. Adds regression test.
...
Review URL: http://codereview.chromium.org/3048035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-28 12:50:27 +00:00
peter.rybin@gmail.com
30b85b3962
Fix break position not to be outside of the script
...
Review URL: http://codereview.chromium.org/3017021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-23 17:21:55 +00:00
ricow@chromium.org
e084e56129
Implement Function.prototype.bind (ES5 15.3.4.5).
...
Please note that we do not implement correctly the setting of caller
and arguments on the returned objects, since we already have these
properties on function objects (and they are non-configurable).
Also corrects indention in DefineOwnProperty.
Review URL: http://codereview.chromium.org/3046010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-23 10:08:55 +00:00
ager@chromium.org
74f9789f61
Landing for Rodolph Perfetta.
...
Add support for saturation instruction (ARMv6 or above).
The byte array clamping code has been updated accordingly.
Review URL: http://codereview.chromium.org/3036008/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 07:42:51 +00:00
antonm@chromium.org
793d0a92b9
Add a check that weak object handle is not in NEAR_DEATH state after weak callback invocation.
...
If object enters NEAR_DEATH state, it must be explicitly cleared and/or disposed, otherwise
it would retain JS object forever. Note as well that parameter is reset to NULL on first
invocation so weak handle callback would be in hard situation.
Review URL: http://codereview.chromium.org/3011009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 13:26:25 +00:00
whesse@chromium.org
9991a4b226
Fix issue 785. For-in now works on strings: for (var i in "asdf") now works
...
all the time, not just the first time it is run.
Review URL: http://codereview.chromium.org/3037008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 12:45:21 +00:00
mikhail.naganov@gmail.com
3471e873ab
Fix presubmit errors in test-heap-profiler.cc
...
I tried adding CheckNonEqualsHelper for int64_t, but this causes
another avalanche of function resolving ambuguities. So, I ended
up fooling linter.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/3024001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 15:01:42 +00:00
mikhail.naganov@gmail.com
522faec553
Fix compile errors on Linux x64 and Windows.
...
Will fix test-heap-profiler in the next change.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/2877019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 14:28:52 +00:00
mikhail.naganov@gmail.com
c98ac6e82c
Heap profiler: implement diffing of snapshots.
...
To trace objects between snapshots, an external map of object tags is
maintained. After the first heap snapshot has been taken, the map is
updated by reporting object moves from the GC. If no snapshots were
taken, there is no overhead (except for flag checking).
I considered graph comparison algorithms that doesn't require using
object tags, but they are all of a high computational complexity, and
will still fail to detect object moves properly, even for trivial
cases, so using tags looks like unavoidable.
Review URL: http://codereview.chromium.org/3020002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 13:21:50 +00:00
ricow@chromium.org
f5f0b80363
Implement ES5 Object.seal and Object.isSealed.
...
This change adds the ES5 Object.seal 15.2.3.8 and Object.isSealed 15.2.3.11 methods.
Review URL: http://codereview.chromium.org/2993006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 07:51:14 +00:00
serya@chromium.org
1b9391be7a
Fix GenerateNegativeLookup to work with non-symbols as a dictionary key.
...
Review URL: http://codereview.chromium.org/2928009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 06:17:45 +00:00
whesse@chromium.org
cb1eedd269
Fix error in x64 fast smi loops, change 4998.
...
Review URL: http://codereview.chromium.org/2925012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 13:22:47 +00:00
ricow@chromium.org
e2fab5fd9f
Fix bug in Object.isFrozen which always classifies non-extensible objects as frozen.
...
Since out internal representation of a property descriptor does not have configurable and writable
attributes Object.isFrozen returns true whenever an object is not extensible.
This change makes use of the right method calls on our internal representation (isWritable() and
isConfigurable()). Tests added directly to the mjsunit test.
Review URL: http://codereview.chromium.org/2904015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 13:15:43 +00:00
mikhail.naganov@gmail.com
84ffa5610b
Debugger: introduce parametrized debug break, the parameter is passed
...
back to EventListener to be able to dynamically specify behavior
on asynchronously enforced VM breakouts.
Review URL: http://codereview.chromium.org/2962007/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 08:23:35 +00:00
kaznacheev@chromium.org
0243bc875c
Move serialized scope info from Code object to SharedFunctionInfo.
...
The scope info is now stored in a FixedArray referenced from SharedFunctionInfo.
Review URL: http://codereview.chromium.org/2918001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 13:06:33 +00:00
ricow@chromium.org
325fd42c3f
Add ES5 Object.freeze and Object.isFrozen methods.
...
This change adds ES5 15.2.3.9 Object.freeze and
15.2.3.12 Object.isFrozen
Review URL: http://codereview.chromium.org/2944016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 12:58:02 +00:00
ricow@chromium.org
328715cf50
Fix presubmit.
...
Review URL: http://codereview.chromium.org/2974008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 11:38:30 +00:00
ricow@chromium.org
ce28f58a03
Fix memory leaks in test-api.cc to make valgrind happy.
...
The memory leaks are all from the tests, not actually in V8.
I will put a nightly valgrind run on the fuzzer.
Review URL: http://codereview.chromium.org/2944015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 11:31:47 +00:00
ager@chromium.org
0f4a330508
Fix JSON.parse typo which causes the input not to be string converted.
...
Review URL: http://codereview.chromium.org/2981004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 10:57:45 +00:00
ager@chromium.org
ad5e73fb85
Fix preparsing from a source string that is not external.
...
This fixes issue 775.
Review URL: http://codereview.chromium.org/2959007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 10:29:31 +00:00
ager@chromium.org
f6e049b0ce
Remove the special error message for overflows when using
...
Function.prototype.apply. This avoids having more than one error
message for stack overflow situations which makes testing a pain.
Review URL: http://codereview.chromium.org/2967003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 15:29:25 +00:00
yurys@chromium.org
abaf8347a5
Allow to capture stack trace for uncaught exceptions
...
Review URL: http://codereview.chromium.org/2961003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 13:17:27 +00:00
erik.corry@gmail.com
8c767e02f9
ARM: Add support for the VFP mov literal instruction and mov
...
between single VFP registers. Math.pow implementation has
been updated with the new instructions. This is a commit
of http://codereview.chromium.org/2813046/show for Rodolph
Perfetta.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-08 12:38:02 +00:00
whesse@chromium.org
91ce5a4ffd
Test for correct exception message in invalid preparse data test in test-api.cc
...
Review URL: http://codereview.chromium.org/2829049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-07 11:31:33 +00:00
whesse@chromium.org
f7c85755ba
Prevent invalid pre-parsing data passed in through the API from crashing V8.
...
Review URL: http://codereview.chromium.org/2876046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-07 10:28:22 +00:00
erik.corry@gmail.com
118a421067
Simplify the transitions in the Binary Op ICs. Now a single call
...
to the runtime will both patch in the more specialized binary op
stub and calculate the answer. This eliminates the need to call
both the rest of the binary op and the patching runtime call. The
runtime routines are altered to be more agressive in returning
Smis so we don't get spurious heap numbers as inputs to binary ops
while we are patching the binary op ICs.
Review URL: http://codereview.chromium.org/2843049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 12:56:55 +00:00
vitalyr@chromium.org
7b521af105
Fix crash: handle all flat string types in regexp replace.
...
Review URL: http://codereview.chromium.org/2868046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 12:22:19 +00:00
peter.rybin@gmail.com
6563b3a2fc
Describe LiveEdit changes and support preview mode
...
Review URL: http://codereview.chromium.org/2883020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 20:46:04 +00:00
ager@chromium.org
06a28cbe57
Fix bug in date code (issue 736) where -0 was not mapped to 0. This caused the
...
runtime system to throw an exception because it expected smi arguments.
Review URL: http://codereview.chromium.org/2848038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 20:09:33 +00:00
ricow@chromium.org
eed4ed99c8
Add ES5 Object.isExtensible and Object.preventExtensions.
...
Review URL: http://codereview.chromium.org/2819034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 14:36:34 +00:00
serya@chromium.org
c56b92d65d
This change allows generating call-stubs for objects with normal (non-fast) objects in the prototype chain. StubCompiler::CheckPrototypes does ne
...
If the top level object is a normal object the stub is stored in its prototype map.
Lookup result of type NORMAL is not covered (since the normal stub currently doesn't check the prototype chain).
Review URL: http://codereview.chromium.org/2801018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 14:15:04 +00:00
lrn@chromium.org
04da7b90c9
X64: Added register holding Smi::FromInt(1).
...
Don't use r15 for anything any more.
Review URL: http://codereview.chromium.org/2885018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 14:09:35 +00:00
podivilov@chromium.org
9added5953
Clear function breakpoints in Debug::HandleWeakDebugInfo callback.
...
When removing debug_info from SharedFunctionInfo, clear all breakpoints associated with that debug_info.
This is needed because function will live in heap until next gc, and therefore can be found
by Runtime::FindSharedFunctionInfoInScript.
Review URL: http://codereview.chromium.org/2848032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-01 11:48:45 +00:00
sgjesse@chromium.org
97ecc50377
ARM: Correctness fix to Math.pow optimization
...
The change in r4990 contained a bug in Math.pow when then exponent was a large negative smi. In that case calculating 1/Math.pow(x,-y) did not provide the correct result as Math.pow(x,-y) would overflow ti infinity. This was caught by Sputnik test S8.5_A13_T1.
Review URL: http://codereview.chromium.org/2815039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 15:19:06 +00:00
ager@chromium.org
6044b33766
Implement IC for storing to dictionary case objects.
...
The IC stub is completely generic, so there will only be one such stub
in the system.
Added a new overloaded version of the macro assembler RecordWrite
method for cases where we have the address we store to computed up
front.
Review URL: http://codereview.chromium.org/2804029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 12:27:49 +00:00
sgjesse@chromium.org
ff6c4fe680
ARM: Special code for raising to the power of an integer
...
When calculating Math.pow where the exponent is a smi use a simple loop to calculate the result.
Added support for the vmov instruction moving from one doubleword extension register to another.
Added some Math.pow tests which partially covers what is in the Sputnik tests.
Review URL: http://codereview.chromium.org/2804033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 12:22:15 +00:00
sgjesse@chromium.org
fd5a7b37a2
ARM: Fix disassembly of double registers
...
Added a few disassembler tests for vadd, vsub, vmul and vdiv.
Review URL: http://codereview.chromium.org/2823036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 08:46:19 +00:00
lrn@chromium.org
0653689450
Fix Chromium issue 47824.
...
In rare cases a two-byte string was mistaken for an ascii-string.
Review URL: http://codereview.chromium.org/2858033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 07:40:40 +00:00
ricow@chromium.org
a23a17bc08
Update the mozilla tests to the newest version.
...
This includes an update to the test expectations, and a new bug found
when investigating the new failures introduced by the updated tests
(http://code.google.com/p/v8/issues/detail?id=762 )
Review URL: http://codereview.chromium.org/2838030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 06:51:38 +00:00