Skip to content

Commit

Permalink
Upgrade V8 to 2.3.3
Browse files Browse the repository at this point in the history
  • Loading branch information
ry committed Jul 26, 2010
1 parent eeaf1ef commit 552cf28
Show file tree
Hide file tree
Showing 25 changed files with 1,450 additions and 643 deletions.
15 changes: 15 additions & 0 deletions deps/v8/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
2010-07-26: Version 2.3.3

Fixed error when building the d8 shell in a fresh checkout.

Implemented Function.prototype.bind (ES5 15.3.4.5).

Fixed an error in inlined stores on ia32.

Fixed an error when setting a breakpoint at the end of a function
that does not end with a newline character.

Performance improvements on all platforms.


2010-07-21: Version 2.3.2

Fixed compiler warnings when building with LLVM.
Expand All @@ -6,6 +20,7 @@

Performance improvements on all platforms.


2010-07-19: Version 2.3.1

Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
Expand Down
5 changes: 4 additions & 1 deletion deps/v8/SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ if ANDROID_TOP is None:
ANDROID_TOP=""

# ARM_TARGET_LIB is the path to the dynamic library to use on the target
# machine if cross-compiling to an arm machine. You will also need to set
# machine if cross-compiling to an arm machine. You will also need to set
# the additional cross-compiling environment variables to the cross compiler.
ARM_TARGET_LIB = os.environ.get('ARM_TARGET_LIB')
if ARM_TARGET_LIB:
Expand Down Expand Up @@ -628,6 +628,9 @@ D8_FLAGS = {
'os:win32': {
'LIBS': ['winmm', 'ws2_32'],
},
'arch:arm': {
'LINKFLAGS': ARM_LINK_FLAGS
},
},
'msvc': {
'all': {
Expand Down
34 changes: 33 additions & 1 deletion deps/v8/src/arm/assembler-arm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,37 @@ Instr Assembler::SetLdrRegisterImmediateOffset(Instr instr, int offset) {
}


bool Assembler::IsStrRegisterImmediate(Instr instr) {
return (instr & (B27 | B26 | B25 | B22 | B20)) == B26;
}


Instr Assembler::SetStrRegisterImmediateOffset(Instr instr, int offset) {
ASSERT(IsStrRegisterImmediate(instr));
bool positive = offset >= 0;
if (!positive) offset = -offset;
ASSERT(is_uint12(offset));
// Set bit indicating whether the offset should be added.
instr = (instr & ~B23) | (positive ? B23 : 0);
// Set the actual offset.
return (instr & ~Off12Mask) | offset;
}


bool Assembler::IsAddRegisterImmediate(Instr instr) {
return (instr & (B27 | B26 | B25 | B24 | B23 | B22 | B21)) == (B25 | B23);
}


Instr Assembler::SetAddRegisterImmediateOffset(Instr instr, int offset) {
ASSERT(IsAddRegisterImmediate(instr));
ASSERT(offset >= 0);
ASSERT(is_uint12(offset));
// Set the offset.
return (instr & ~Off12Mask) | offset;
}


Register Assembler::GetRd(Instr instr) {
Register reg;
reg.code_ = ((instr & kRdMask) >> kRdShift);
Expand Down Expand Up @@ -796,9 +827,10 @@ void Assembler::addrmod1(Instr instr,
instr |= x.rs_.code()*B8 | x.shift_op_ | B4 | x.rm_.code();
}
emit(instr | rn.code()*B16 | rd.code()*B12);
if (rn.is(pc) || x.rm_.is(pc))
if (rn.is(pc) || x.rm_.is(pc)) {
// Block constant pool emission for one instruction after reading pc.
BlockConstPoolBefore(pc_offset() + kInstrSize);
}
}


Expand Down
4 changes: 4 additions & 0 deletions deps/v8/src/arm/assembler-arm.h
Original file line number Diff line number Diff line change
Expand Up @@ -1120,6 +1120,10 @@ class Assembler : public Malloced {
static bool IsLdrRegisterImmediate(Instr instr);
static int GetLdrRegisterImmediateOffset(Instr instr);
static Instr SetLdrRegisterImmediateOffset(Instr instr, int offset);
static bool IsStrRegisterImmediate(Instr instr);
static Instr SetStrRegisterImmediateOffset(Instr instr, int offset);
static bool IsAddRegisterImmediate(Instr instr);
static Instr SetAddRegisterImmediateOffset(Instr instr, int offset);
static Register GetRd(Instr instr);
static bool IsPush(Instr instr);
static bool IsPop(Instr instr);
Expand Down
Loading

0 comments on commit 552cf28

Please sign in to comment.